You are on page 1of 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

Module 4.

Induction motor drives


Dynamic model of induction machine
Construction and principle of operations,
Speed Controlconstant V/f, Scalar control problems at low speed,
current
Simulink example on open-loop constant V/Hz using SIMULINK
s-function for IM simulation
Compiled 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.dll
PPoint for principles of direct torque control and in pdf
Direct 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]

&

'
(

"

)
*
*

!
&

+
&

#
$

)
)

*
$

#
.

#
#

&
&

&
!

#
0
#
1

&
2

%
0

0
.
)
/ 0

#
#
#

(
0
0
& '

0
$
0

% 2

&
& '

0
3

4567
&

#
$

#
#

4587
2

$ & %%

#
#
$* %

$/: %

#
)

0
#

0
;

#
0

0
0
0
0

#$

#$

& '

*
(

1
J

*
Te = Tl +

. <'

d (J m )
dt

=7$

%
Te = Tl + J

* =
* =
<=
=

)
,
)

$> %
$> %
$

?%

d (J m )
dt

d m
dt

'%

.
' = 7 * = *

@
.

"

#$ +

$% /

*/

0
*/

*" "
*
* &
.

$* = -%
0
*

*
*
*

*/

$% 2

*/

*2
*2
*2

= C?

*2

*"

$ %*
*,

*,
.

* = *, + - + * + C?
2

C?

* =<

#$

+ *, + -

% $ .#$ !
*

'

T
*

$
% *

*
. .. ...

."
,

F
-

.
*

= * %

F
*
*

!
*

..
G

*
*
*

F
*

...
*
*

F
*

."
*

*
*
*

G.K. Dubey, Fundamental of Electrical Drives, Narosa, 1994.


N. Mohan, Power Electronics: Converters, applications and design John Wiley and Sons, 1995.

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-gaps reluctance. This assumption is based on the
fact that the magnetic permeability of the core is much larger than the airgap permeability. The -i curves for different air-gap values are therefore
linear.

Fig. 1

non-linear system

Fig. 2

linear system

(1)

The differential relation between the 3 forms of energy exists in the system
can be written as:

dWe = dWf + dWm

Where dWe differential change in electrical energy


dWf - differential change in field energy
dWm - differential change in mechanical energy

dWf = i d

dWe = e.i dt = dWf

(3)

(2)

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:

Substituting e = d/dt,

Wf =

id

co-energy

Fig. 3

(4)

If the flux linkage increased from 0 to x, the stored energy can be written as:

energy

ix

di

ix

(5)

The co-energy, which is used later to calculate the force, in this particular
example is defined as:
W'f =
It should be noted that for a linear system, Wf = Wf

(6)

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

id

x2

The mechanical force associated with this movement can be obtained if the
change in mechanical energy is known. Thus,
dWm = dWe - dWf
During the motion, dWe = e.i dt = i d. Hence We =

x1

The change in the stored field energy can be obtained by calculating the
difference in stored energy between the two positions.

(7)

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

Wf'(i, x)
x
i = cons tan t

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

fm =

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

Wf(i, x)
x
= cons tan t

(8)

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

fm =

Fig. 5

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.

Linear system

di =

Wf'(i, x)
1 2 dL(x)
=
i
x
dx
2
i = cons tan t

= L(x)i

Wf' =

fm =

1 2
i L(x)
2

(11)

(10)

(9)

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,

The co-energy is given by:

Using equation (7),

Rotating machines

Fig 6 shows a general rotating machine with salient stator and salient rotor.
Both stator and rotor are exited (doublyfed). We are interested in obtaining
the electromagnetic torque expression of the system. We can do this by
obtaining the expression for the coenergy (or energy) and differentiate it
with respect to x for constant current (or constant flux).

dWf

ds/dt

and

er

Fig. 6

=dr/dt,

(14)

(13)

With no rotation (rotor not moving), the stored field energy can be calculated
as:
= esis dt + erir dt
(12)
Substituting

es
dWf = is ds + ir dr

The flux linkage of the stator winding can be expressed in terms of stator
self inductance and mutual inductance:
s = Lssis + Lsrir

(18)

(17)

(16)

(15)

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 = Lrrir + Lsris
Substituting (14) and (15) into (13),
dWf = Lssisdis + Lrrirdir + Lsr d(isir)

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

dLsr
dLrr
1 2 dLss
1
1
+ ir2
+ isir
is
2
d
2
d
2
d

Thus the torque is given by:

T =

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

ii)

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.

Stator - salient
Rotor non-salient
Stator self inductance does not
depend 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

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 non-salient
Stator self inductance does not
depend on rotor position
Rotor self inductance depends on
rotor position
-

CONTROLLED RECTIFIER

CONVERTERS IN ELECTRIC DRIVE SYSTEMS

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 nonlinear
which can be described by nonlinear differential equations. In order to simplify the
designed of the controller containing controlledrectifier 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.

va

+
Va

Four-quadrant

Two-quadrant

Two typical switch-mode converters used in DC drives are the 2-quadrant and 4quadrant 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 twoquadrant 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.

We will assume the control signals for the switches are obtained as a result of
comparison between the control signal and a triangular

q=
0

1
when vc < vtri, lower switch ON

when vc > vtri, upper switch ON

The output of the comparator is obtained as follows:

Vdc dt = dVdc

dTs

Where d = ton/T

(1)

(2)

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.

1
Va =
T

q dt

t + Ttri

(3)

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

1
d=
Ttri

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.

vc
2 Vtri , p

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

d = 0.5 +

Vdc
vc
2 Vtri , p

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

Va = 0.5Vdc +

Vdc
(v c + ~v c )
2Vtri , p

(4)

(5)

(6)

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.

(Va + ~v a ) = 0.5Vdc +

Separating the dc and ac components,

DC

~v = Vdc ~
vc
a
2 Vtri , p

Va = 0.5Vdc +

Vdc
vc
2 Vtri , p

AC

Vdc
2 Vtri , p
"

#$

By taking Laplace transform of equation (8), the small signal transfer function
between vc and VA can be obtained.

#$

va

'

'

&

(7)

(8)

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.

'

'

when Q1 and Q2 are ON


when Q3 and Q4 are ON
when current freewheels through Q and D

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


Va = Vdc
va = -Vdc
va = 0

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:

"

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:

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

+ ,

From previous analysis, the average voltage for Leg A and Leg B is given by:
VAO = dA(Vdc)

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

(9)

(10)

d A = 0 .5 +

vc
2 Vtri , p

For Leg A

(11)

d B = 0.5

(14)

(12)

vc
2 Vtri , p

For Leg B

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


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

Vdc
vc
Vtri , p

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


VAB =

Vdc
v c (s )
Vtri , p

(15)

By taking the Laplace transform of the ac components in (14), the transfer function
between the vAB(s) and vc(s) is obtained:
v AB (s ) =

Unipolar switching

#$

Vdc
Vtri , p

vc
2 Vtri , p

#$

(16)

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:

d A = 0 .5 +

vc
2 Vtri , p

Vdc
vc
Vtri ,p

(18)

(17)

Since Leg B uses the inverse control signal , accordingly the continuous duty ratio
for Leg B is given by:

d B = 0 .5

VAB = (dA dB)Vdc =

This gives and average armature voltage as,

!.

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

CURRENT-CONTROLLED CONVERTER

0
2

0
2

Cascade control structure

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

Two main features or advantages of cascade control structure is:

a)
b)

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


limiting its reference value
It is flexible outer loop can be readily added or removed depending on
the control requirements

fixed switching frequency control linear controller


hysteresis (or bang-bang) control nonlinear controller

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)
ii)

Fixed switching frequency control

56

Fixed frequency currentcontrolled

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 closedloop system is
normally set to at least an order lower than the triangular frequency.

Figure 2

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

56

56

9:

56

56

! .

! .

.2

758 1
76

758 1
76

. !

;4

7 1

7 1

.2

61

61

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).

9:

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,

Hysteresisbased currentcontrolled

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 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 worstcase 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 nonlinear 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)

0.2
0.15
0.1
0.05
0
-0.05
-0.1
-0.15
-0.2
-0.2

&

-0.15

-0.1

-0.05

0.05

0.1

0.15

0.2

<

( :

* 7
=
.

0 <0

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.

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]

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]

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]

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

OutScaling
SignalType
SamplingMode
Interpolate

"2^0"
"auto"
"auto"
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]

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

LockScale
off
RndMeth
"Floor"
SaturateOnIntegerOverflow on
}
Block {
BlockType
VariableName
MaxDataPoints
Decimation
SampleTime
}
Block {
BlockType
Numerator
Denominator
AbsoluteTolerance
Realization
}
}
AnnotationDefaults {
HorizontalAlignment
VerticalAlignment
ForegroundColor
BackgroundColor
DropShadow
FontName
FontSize
FontWeight
FontAngle
}
LineDefaults {
FontName
FontSize
FontWeight
FontAngle
}
System {
Name
Location
Open
ModelBrowserVisibility
ModelBrowserWidth
ScreenColor
PaperOrientation
PaperPositionMode
PaperType
PaperUnits
ZoomFactor
ReportName
Block {
BlockType
Name
Position
Value
}
Block {
BlockType
Name
Ports
Position
SourceBlock
SourceType
}
Block {
BlockType

ToWorkspace
"simulink_output"
"1000"
"1"
"0"

TransferFcn
"[1]"
"[1 2 1]"
"auto"
"auto"

"center"
"middle"
"black"
"white"
off
"Helvetica"
10
"normal"
"normal"

"Helvetica"
9
"normal"
"normal"

"rl_2q_average"
[2, 78, 1022, 701]
on
off
212
"white"
"landscape"
"auto"
"usletter"
"inches"
"115"
"simulink-default.rpt"
Constant
"Constant"
[315, 390, 345, 420]
"100"

Reference
"Dot Product"
[2, 1]
[610, 431, 640, 464]
"simulink/Math\nOperations/Dot Product"
"Dot Product"

Gain

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

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

Name
Position
Gain

"Gain1"
[480, 95, 510, 125]
"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]

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

rep_seq_t
rep_seq_y
}
Block {
BlockType
Name
Position
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
}
}
Block {
BlockType
Name
Ports
Position
ShowName
IconShape
Inputs
InputSameDT
OutDataTypeMode
}
Block {
BlockType
Name
Ports
Position
ShowName
IconShape
Inputs
InputSameDT
OutDataTypeMode
}
Block {
BlockType
Name
Position
VariableName
MaxDataPoints
SampleTime
SaveFormat
}
Block {
BlockType
Name
Position
VariableName
MaxDataPoints
SampleTime
SaveFormat
}
Block {
BlockType
Name
Position
VariableName
MaxDataPoints
SampleTime
SaveFormat
}

"[0 1/(2*f) 1/f]"


"[-v1 v1 -v1]"

Outport
"Out1"
[80, 33, 110, 47]

"Repeating\nSequence"
1
"Out1"
1

Sum
"Sum"
[2, 1]
[205, 100, 225, 120]
off
"round"
"+-"
off
"Inherit via internal rule"

Sum
"Sum1"
[2, 1]
[350, 325, 370, 345]
off
"round"
"|++"
off
"Inherit via internal rule"

ToWorkspace
"To Workspace1"
[485, 240, 545, 270]
"vave"
"inf"
"-1"
"Array"

ToWorkspace
"To Workspace2"
[255, 20, 315, 50]
"vc"
"inf"
"-1"
"Array"

ToWorkspace
"To Workspace3"
[660, 100, 720, 130]
"vau"
"inf"
"-1"
"Array"

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

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

Block {
BlockType
Name
Position
VariableName
MaxDataPoints
SampleTime
SaveFormat
}
Block {
BlockType
Name
Position
VariableName
MaxDataPoints
SampleTime
SaveFormat
}
Block {
BlockType
Name
Position
VariableName
MaxDataPoints
SampleTime
SaveFormat
}
Block {
BlockType
Name
Position
Denominator
}
Block {
BlockType
Name
Position
Denominator
}
Line {
SrcBlock
SrcPort
Points
Branch {
Points
Branch {
Points
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Branch {
Points
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort

ToWorkspace
"To Workspace4"
[925, 160, 985, 190]
"iau"
"inf"
"-1"
"Array"

ToWorkspace
"To Workspace5"
[665, 320, 725, 350]
"iave"
"inf"
"-1"
"Array"

ToWorkspace
"To Workspace8"
[715, 435, 775, 465]
"iD"
"inf"
"-1"
"Array"

TransferFcn
"Transfer Fcn"
[785, 157, 845, 193]
"[0.01 10]"

TransferFcn
"Transfer Fcn1"
[500, 317, 560, 353]
"[0.01 10]"

"Sine Wave"
1
[25, 0]
[5, 0]
[0, -35]
"To Workspace2"
1

[35, 0]
"Sum"
1

[0, 265]
"Gain3"
1

"Subsystem"
1

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

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

Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
Branch {
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
Points
Branch {
DstBlock
DstPort
}
Branch {
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
Branch {
DstBlock
DstPort
}
Branch {
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort

[60, 0]
"Sum"
2

"Sum"
1
"Relay"
1

"Relay"
1
[65, 0]
"Gain1"
1

[0, 345]
"Dot Product"
2

"Gain1"
1
[20, 0; 0, 45; 80, 0; 0, 20; 30, 0]
"Transfer Fcn"
1

"To Workspace3"
1

"Transfer Fcn"
1
"To Workspace4"
1

"Transfer Fcn1"
1
[30, 0]
"To Workspace5"
1

"Dot Product"
1

"Dot Product"
1
"To Workspace8"
1

"Gain3"
1

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

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

DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
Branch {
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Annotation {
Name
Position
FontName
FontSize
FontWeight
}
Annotation {
Name
Position
}

"Sum1"
1

"Sum1"
1
[20, 0]
"Transfer Fcn1"
1

[0, -80]
"To Workspace1"
1

"Constant"
1
[10, 0]
"Sum1"
2

"2-quadrant with iD"


[736, 44]
"Arial"
20
"bold"

"qA"
[399, 99]

}
}

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

!
"

!
#

!
%

&!

!
'

'

+ #
"

'

'

'

"'

"'

'

$"

'

'
.

*+

'

*/

'
'
0

$"

,
$

2
0

'

$"

*1

,(3

, / "+
$"
$

*
, ( 43 %
/ ,

(( 3 ( 3 ) = ' 5.

'

/.

*6

"# "
'

"'

#
"

'

'

'

'

'

$"

'

'
.

*3

'
'
0

$"

, */
$

"+ '

*7

=
#

/'
.

*4

,(3

(3
,

$"

=
8

*6

*5

/'

(( 3 ( 3 ) = ' /.
/

*5
2

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
4
j
j
2
vs =
va (t) + v b (t)e 3 + vc (t)e 3 ,
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.

+
AC
Motor

Vd

Figure 1 Space vector


modulator applied to AC
motor drive

vd *

vq *

Space vector
modulator

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

q
Sector 2

[010]

Figure 2 Voltage
vectors of a 3-phase
VSI

[110]

(1/3)Vd
Sector 3

Sector 1

v *s
[100]

[011]

(2/3)Vd
Sector 4

Sector 6

[001]

sector 6

sector 1

sector 2

sector 3

sector 4

100

[101]

Sector 5

sector 5

50

Figure 3 Sinusoidal
reference voltage

-50

-100
0

0.005

0.01

000

0.015

010

110

111

0.02

110

Phase a

010

0.03

000

Figure 4 Example of
modulated waveform in
sector 2

Phase b
Phase c

0.025

T0

T1
T

T2

T7
T

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,
v s T = v o To + v1 T1 + v 2 T2 + v 7 T7
Note that v1 and v2 equal

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

2
2
v s T = To 0 + Vd T1 + Vd T2 (cos 60 o + j sin 60 o ) + T7 0
3
3
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:
3
1
T1 = T vs cos
sin
2
3

T2 = 3 T vs 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.

DC DRIVES
Prin c iple o f o pe rat io n an d c o n s t ru c t io n a re v ie w
DC m a ch in e con s is t s of
s t a t or s t a t ion a r y wh er e t h e field flu x is p r od u ced
r ot or r ot a t in g wh er e t h e a r m a t u r e win d in g is p la ced .
Field flu x is ob t a in ed eit h er fr om p er m a n en t m a gn et or fr om field win d in g excit a t ion . Field flu x
in t er a ct s wit h cu r r en t ca r r yin g con d u ct or s in a r m a t u r e t o p r od u ce t or qu e. Com m u t a t or in
a r m a t u r e cir cu it will en s u r e t h a t t h e t or qu e p r od u ct ion is a lwa ys m a xim u m , r ega r d les s of r ot or
p os it ion .

Mo de lin g o f DC m o t o r
Th e t or qu e is p r od u ced a s a r es u lt of in t er a ct ion of field flu x wit h cu r r en t in a r m a t u r e
con d u ct or s a n d is given b y
Te = k t i a

(1 )

wh er e k t is a con s t a n t d ep en d in g on m ot or win d in gs a n d geom et r y


is t h e flu x p er p ole d u e t o t h e field win d in g
For t h e m ot or wit h wou n d field , t h e flu x ca n b e va r ied t o con t r ol t h e s p eed , b u t for p er m a n en t
m a gn et m ot or , t h e flu x is fixed a n d t h u s ca n b e wr it t en a s :
T e = Kt i a
wh er e Kt d ep en d s on t h e p er m a n en t m a gn et m a t er ia l
Th e d ir ect ion of t h e t or qu e p r od u ced d ep en d s on t h e d ir ect ion of t h e a r m a t u r e cu r r en t
Wh en t h e a r m a t u r e r ot a t es , t h e flu x lin k in g t h e a r m a t u r e win d in g will va r y wit h t im e a n d
t h er efor e a ccor d in g t o Fa r a d a ys la w, a n em f will b e in d u ced a cr os s t h e win d in g. Th is gen er a t ed
em f, k n own a s t h e b a ck em f, d ep en d s on s p eed of r ot a t ion a s well a s on t h e flu x p r od u ced b y
t h e field a n d is given b y:
ea = k t
S im ila r ly, for p er m a n en t m a gn et , t h is ca n b e wr it t en a s :
1

(2 )

e a = Kt
Th e p ola r it y of t h e b a ck em f d ep en d s on t h e d ir ect ion of t h e m ot or r ot a t ion
For s ep a r a t ely excit ed DC m ot or , t h e a r m a t u r e cir cu it is s h own :
La

Ra
+

vt

ea

R a lu m p ed a r m a t u r e win d in g r es is t a n ce
La s elf in d u ct a n ce of t h e a r m a t u r e win d in g
e a a s d efin ed b efor e, is t h e b a ck em f of t h e m ot or
Us in g KVL,
v t = ia R a + La

di a
+ ea
dt

(3 )

In s t ea d y s t a t e con d it ion ,
Vt = I a R a + E a

(4 )

In t er m s of t or qu e a n d s p eed t h e s t ea d y s t a t e equ a t ion ca n b e wr it t en a s :


Vt =

T
R a + k t
k t

(5 )

Vt
T

Ra
k t (k t )2

(6 )

wh ich gives :

Th u s t h r ee m et h od s ca n b e u s ed t o con t r ol t h e s p eed : Vt , a n d R a
S p eed con t r ol u s in g a r m a t u r e r es is t a n ce b y a d d in g ext er n a l r es is t or R ext is s eld om u s ed ,
es p ecia lly for la r ge m ot or d u e t o t h e los s es a s s ocia t ed wit h Ia 2 R ext . Vt is n or m a lly con t r ol for
s p eed u p t o r a t ed s p eed . Beyon d r a t ed s p eed , for s ep a r a t ely excit ed DC m ot or , t h e s p eed con t r ol
is a ch ieved b y flu x con t r ol, . Wh en s p eed con t r ol b y flu x con t r ol is u s ed , t h e m a xim u m t or qu e
ca p a b ilit y of t h e m ot or is r ed u ced s in ce for a given m a xim u m a r m a t u r e cu r r en t , t h e flu x is les s
t h a n t h e r a t ed va lu e a n d t h u s t h e m a xim u m t or qu e p r od u ced is les s t h a n t h e m a xu m u m
t or qu e. Als o it s h ou ld b e n ot ed t h a t , wit h p er m a n en t m a gn et excit a t ion , s p eed con t r ol u s in g
flu x wea k en in g is n ot p os s ib le t h u s m a xim u m s p eed of p er m a n en t m a gn et m ot or is lim it ed .
Wh en d es ign in g con t r oller s for DC m ot or d r ives u s ed in s er vo or h igh p er for m a n ce a p p lica t ion s ,
a s m a ll s ign a l m od el of t h e m ot or is r equ ir ed . A s ep a r a t ely excit ed DC m ot or wit h fixed field
excit a t ion , or a p er m a n en t m a gn et DC m ot or , is d es cr ib ed b y equ a t ion s (3 ), (1 ) a n d (2 ). If a s m a ll
p er t u r b a t ion a r ou n d a DC op er a t in g p oin t is in t r od u ced , t h es e equ a t ion s ca n b e wr it t en a s (7 )(9 ). Th e ~ in d ica t es a s m a ll p er t u r b a t ion , wh ich is a d d t o t h e DC com p on en t s of v t , ia , e a , Te , TL
and :
2

~
~
d I a + ia
+ ( E a + ~ea )
Vt + ~
v t = ( I a + ia ) R a + L a
dt

(7 )

~
Te + Te = k E ( I a + i a )

(8 )

~)
E e + ~ee = k E ( +

(9 )

E qu a t ion d es cr ib in g t h e d yn a m ic of t h e m ech a n ica l s ys t em is given b y:


Te = Tl + J

d m
dt

(1 0 )

wh er e Tl = TL + B
Tl is t h e loa d t or qu e com p os ed of wor k in g t or qu e of t h e loa d , TL a n d t or qu e d u e t o fr ict ion , B .
Th e fr ict ion a l t or qu e d ep en d s on t h e r ot a t ion a l s p eed , wh ile TL d ep en d s on t h e n a t u r e of t h e
loa d b ein g d r iven . S im ila r ly, if a s m a ll p er t u r b a t ion is in t r od u ced in Te a n d TL a n d , equ a t ion
(1 0 ) ca n b e wr it t en a s :
~
~
~
~ ) + J d ( + )
Te + Te = T L + T L + B ( +
(1 1 )
dt
S ep a r a t in g t h e DC a n d s m a ll p er t u r b a t ion or AC com p on en t s in (7 )(9 ) a n d (1 1 ), t h e s t ea d y s t a t e
a n d s m a ll s ign a l equ a t ion s d es cr ib in g t h e DC m ot or ca n b e ob t a in ed :
AC com p on en t s

DC com p on en t s

~
~v = ~i R + L d ia + ~e
t
a
a
a
a
dt

Vt = I a R a + E a

~
~
Te = k E ( ia )

Te = k E I a

~e = k (
~)
e
E

Ee = k E

~
~
~
~ + J d ( )
Te = TL + B
dt

Te = TL + B( )

Th e t r a n s fer fu n ct ion of t h e DC m ot or is ob t a in ed b y t a k in g t h e La p la ce t r a n s for m of t h e s m a ll


s ign a l equ a t ion s .
Vt (s ) = Ia (s )R a + La s Ia + E a (s )

(1 2 )

Te (s ) = k E Ia (s )

(1 3 )

E a (s ) = k E (s )

(1 4 )

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

(1 5 )

Th u s t h e b lock d ia gr a m r ep r es en t in g t h e DC m ot or is s h own :

Tl (s )

Va (s )
+

Ra

1
+ sLa

I a (s )

kT

Te (s )
+

1
B + sJ

(s )

kE

Po we r e le c t ro n ic c o n v e rt e rs in DC driv e s
Th e p ower elect r on ic con ver t er s a r e u s ed t o ob t a in a n a d ju s t a b le DC volt a ge a p p lied t o t h e
a r m a t u r e of a DC m ot or . Th er e a r e b a s ica lly t wo t yp es of con ver t er n or m a lly em p loyed in DC
d r ives : (i) con t r olled r ect ifier (ii) s wit ch m od e con ver t er .
(i) Con t r olled r ect ifier
Con t r olled r ect ifier ca n b e op er a t ed fr om a s in gle p h a s e or t h r ee p h a s e in p u t
Ou t p u t volt a ge con t a in low fr equ en cy r ip p le wh ich m a y r equ ir e a la r ge in d u ct or in s er t ed in
a r m a t u r e cir cu it , in or d er t o r ed u ce t h e a r m a t u r e cu r r en t r ip p le. A la r ge a r m a t u r e cu r r en t r ip p le
is u n d es ir a b le s in ce it m a y b e r eflect ed in s p eed r es p on s e if t h e in er t ia of t h e m ot or loa d is n ot
la r ge en ou gh . Con t r olled r ect ifier h a s low b a n d wid t h . Th e a ver a ge ou t p u t volt a ge r es p on s e t o a
con t r ol s ign a l, wh ich is t h e d ela y a n gle, is r ela t ively s low. Th er efor e con t r olled r ect ifier is n ot
s u it a b le for d r ives r equ ir in g fa s t r es p on s e, e.g. in s er vo a p p lica t ion s .
In t er m s of qu a d r a n t of op er a t ion s , a s in gle p h a s e or a t h r ee p h a s e r ect ifier is on ly ca p a b le of
op er a t in g in fir s t a n d fou r t h qu a d r a n t s wh ich is n ot s u it a b le for d r ives r equ ir in g for wa r d
b r ea k in g m od e. To b e a b le t o op er a t e in a ll fou r qu a d r a n t s , con figu r a t ion s u s in g b a ck t o b a ck
r ect ifier s or con t a ct or s s h own b elow m u s t b e em p loyed .

Con ver t er A
3-phase
supply

Con ver t er B

3-phase
supply

Va

Converter
B

Converter
A

Converter
B

Converter
A

R1

F1
3 p h a s e
s u p p ly
Va

R2

Con ta ctor

F2

R1 and R2
are closed

F1 and F2
are closed

R1 and R2
are closed

F1 and F2
are closed

(ii) S wit ch m od e con ver t er


S wit ch m od e con ver t er s n or m a lly op er a t e a t h igh fr equ en cy. As a r es u lt of t h is , (i) t h e a ver a ge
ou t p u t volt a ge r es p on s e is s ign ifica n t ly fa s t er t h a n t h e con t r olled r ect ifier , in ot h er wor d s t h e
b a n d wid t h of a s wit ch m od e r ect ifier is h igh er com p a r ed t o t h e con t r olled r ect ifier , a n d (ii) t h e
a r m a t u r e cu r r en t r ip p le is r ela t ively les s t h a n t h e con t r olled r ect ifier cir cu it wh en t h e s a m e
a m ou n t of in d u ct a n ce p r es en t in t h e a r m a t u r e cir cu it . Th e s wit ch -m od e con ver t er is t h er efor e
s u it a b le for a p p lica t ion s r equ ir in g p os it ion con t r ol or fa s t r es p on s e, for exa m p le in s er vo
a p p lica t ion s , r ob ot ics , et c. In t er m s of qu a d r a n t of op er a t ion s , 3 p os s ib le con figu r a t ion s a r e
p os s ib le: s in gle qu a d r a n t , t woqu a d r a n t a n d fou r qu a d r a n t con ver t er s t h es e a r e s h own b elow.

+
va

Q2

Q1

Q3

Q4

Q2
Q3

+
va

Single-quadrant

Two-quadrant

va

Q2

Q1

Q3

Q4

Four-quadrant

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.
5

Q1
Q4

DC MOTOR DRIVES
(MEP 1422)
Dr. Nik Rumzi Nik Idris
Department of Energy Conversion
FKE, UTM

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

INTRODUCTION
DC DRIVES: Electric drives that use DC motors
as the prime movers
DC motor: industry workhorse for decades
Dominates variable speed applications before
PE converters were introduced
Will AC drive replaces DC drive ?
Predicted 30 years ago
DC strong presence easy control huge numbers
AC will eventually replace DC at a slow rate

Introduction

DC Motors
Advantage: Precise torque and speed control
without sophisticated electronics
Several limitations:
Regular Maintenance

Expensive

Heavy

Speed limitations

Sparking

Introduction

DC Motors
Stator: field
windings

Rotor: armature
windings

Mechanical commutator

Current in

Large machine employs compensation windings

Current out

Introduction
Ra
+

Lf

La
ia

Rf
if

Vt

ea

Vf

di
v t = R a ia + L a + ea
dt

v f = R f if + L

Te = k t i a

Electric torque

e a = k E

Armature back e.m.f.

di f
dt

Introduction
Armature circuit:

Vt = R a i a + L

di a
+ ea
dt

In steady state,

Vt = R a Ia + E a
Therefore speed is given by,

Vt
R T
a e2
k T (k T )

Three possible methods of speed control:


Field flux
Armature voltage Vt
Armature resistance Ra

Introduction
Armature voltage control : retain maximum torque capability
Field flux control (i.e. flux reduced) : reduce maximum torque capability
For wide range of speed control
0 to base armature voltage, above base field flux reduction
Armature voltage control
Field flux control

Te

Maximum
Torque capability

base

MODELING OF CONVERTERS
AND DC MOTOR
POWER ELECTRONICS CONVERTERS
Used to obtain variable armature voltage
Efficient
Ideal : lossless
Phase-controlled rectifiers (AC DC)
DC-DC switch-mode converters(DC DC)

Modeling of Converters and DC motor

Phase-controlled rectifier (ACDC)


ia

+
3-phase
supply

Vt

Q2

Q1

Q3

Q4

Modeling of Converters and DC motor

Phase-controlled rectifier
3phase
supply

+
3-phase
supply

Vt

Q2

Q1

Q3

Q4

Modeling of Converters and DC motor

Phase-controlled rectifier
R1

F1
3-phase
supply
+

Va

F2

R2

Q2

Q1

Q3

Q4

Modeling of Converters and DC motor

Phase-controlled rectifier (continuous current)


Firing circuit firing angle control
Establish relation between vc and Vt
+
iref

+
-

current
controller

vc

firing
circuit

controlled
rectifier Vt

Modeling of Converters and DC motor

Phase-controlled rectifier (continuous current)


Firing angle control

linear firing angle control

vt
v
= c

180
Va =

vc
180
vt

Vm
cos c 180

vt

Cosine-wave crossing control

v c = v s cos
Va =

Vm v c
vs

Modeling of Converters and DC motor

Phase-controlled rectifier (continuous current)


Steady state: linear gain amplifier
Cosine wavecrossing method
Transient: sampler with zero order hold
converter
T
GH(s)

T 10 ms for 1-phase 50 Hz system


3.33 ms for 3-phase 50 Hz system

Modeling of Converters and DC motor

Phase-controlled rectifier (continuous current)


400
200
0

Output
voltage

-200
-400
0.3

0.31

0.32

10

0.33

Td

0.34

0.35

0.36

Control
signal

Cosine-wave
crossing

0
-5
-10
0.3

0.31

0.32

0.33

0.34

0.35

0.36

Td Delay in average output voltage generation


0 10 ms for 50 Hz single phase system

Modeling of Converters and DC motor

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

Switchmode converters

T1

+
Vt
-

Q2

Q1

Q3

Q4

Modeling of Converters and DC motor

Switchmode converters

T1

T2

D1

+
Vt
D2 -

Q2

Q1

Q3

Q4

Q1 T1 and D2
Q2 D1 and T2

Modeling of Converters and DC motor

Switchmode converters

T1

T4

D1

D3

+ Vt -

D4

D2

T3

T2

Q2

Q1

Q3

Q4

Modeling of Converters and DC motor

Switchmode converters
Switching at high frequency
Reduces current ripple
Increases control bandwidth
Suitable for high performance applications

Modeling of Converters and DC motor

Switchmode converters - modeling


+

Vdc

Vdc

vtri

vc

q
1
q=
0

when vc > vtri, upper switch ON


when vc < vtri, lower switch ON

Modeling of Converters and DC motor

Switchmode converters averaged model


Ttri
vc
q
d

Vdc

Vt

1
d=
Ttri

1
Vt =
Ttri

t + Ttri

dTtri

t on
qdt =
Ttri
Vdc dt = dVdc

Modeling of Converters and DC motor

Switchmode converters averaged model


d
1
0.5
-Vtri,p

0
Vtri,p

d = 0.5 +

vc
2Vtri,p

Vt = 0.5Vdc +

Vdc
vc
2Vtri,p

vc

Modeling of Converters and DC motor

DC motor small signal model


v t = ia R a + L a

di a
+ ea
dt

Te = kt ia

dm
Te = Tl + J
dt
ee = k t

Extract the dc and ac components by introducing small


perturbations in Vt, ia, ea, Te, TL and m
ac components
~
d
i
~
~
v t = ia R a + L a a + ~
ea
dt

~
~
Te = k E ( ia )

dc components
Vt = Ia R a + E a
Te = k E Ia

~
~)
e e = k E (

Ee = k E

~)
d (
~
~
~
Te = TL + B + J
dt

Te = TL + B()

Modeling of Converters and DC motor

DC motor small signal model


Perform Laplace Transformation on ac components
~
d
i
~
~
v t = ia R a + L a a + ~
ea
dt

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

~
~
Te = k E ( ia )

Te(s) = kEIa(s)

~
~)
e e = k E (

Ea(s) = kE(s)

~)
d (
~
~
~
Te = TL + B + J
dt

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

Modeling of Converters and DC motor

DC motor small signal model

Tl (s )

Va (s )
+
-

Ra

1
+ sL a

I a (s )

kT

Te (s )

1
B + sJ

kE

(s )

CLOSED-LOOP SPEED CONTROL


Cascade control structure
* +

position
controller
* +

speed
controller
T* +

torque
controller

converter
Motor

tacho
kT

1/s

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


limited by limiting its reference value

It is flexible outer loop can be readily added or removed


depending on the control requirements

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

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

METHOD

Obtain linear small signal model

Design controllers based on linear small signal model

Perform large signal simulation for controllers verification

CLOSED-LOOP SPEED CONTROL

Closed-loop speed control an example


Permanent magnet motors parameters
Ra = 2

La = 5.2 mH

B = 1 x104 kg.m2/sec

J = 152 x 106 kg.m2

ke = 0.1 V/(rad/s)

kt = 0.1 Nm/A

Vd = 60 V

Vtri = 5 V

fs = 33 kHz
PI controllers

Switching signals from


comparison of vc and triangular
waveform

CLOSED-LOOP SPEED CONTROL

Torque controller design

vtri

Tc

Torque
controller

+
Vdc

kt

DC motor
Tl (s )

Converter

T e (s )

Torque
controller
-

V dc
V tri ,peak

Va (s )

Ra

Ia (s )
1
+ sL a

kT

Te (s )

kE

1
B + sJ

(s )

CLOSED-LOOP SPEED CONTROL

Torque controller design


Open-loop gain

Bode Dia gram


From: Input Point To: Output Point

150

kpT= 90

Magnitude (dB)

100

compensated

kiT= 18000

50

-50
90

Pha s e (deg)

45
0

compensated

-45
-90
10

-2

10

-1

10

10

10

Frequency (rad/s ec )

10

10

10

CLOSED-LOOP SPEED CONTROL

Speed controller design


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

* +

T*
Speed
controller

Torque loop

1
B + sJ

CLOSED-LOOP SPEED CONTROL

Speed controller
Open-loop gain

Bode Diagra m
From: Input Point To: Output Point

150

Ma gnitude (dB)

100

kps= 0.2

50

compensated

-50
0

Phas e (deg)

-45
-90

compensated

-135
-180
10

-2

10

-1

10

10

Frequenc y (Hz )

10

10

10

kis= 0.14

CLOSED-LOOP SPEED CONTROL

Large Signal Simulation results


40
20

Speed

0
-20
-40

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

2
1

Torque

0
-1
-2

CLOSED-LOOP SPEED CONTROL DESIGN EXAMPLE

SUMMARY
Speed control by: armature voltage (0 b) and field flux (b)
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

! "#$
(

%! &'(

) *
/ ( ,
$

0
%! &'

*
/

+*,-( %

/ (,

1 2,

1 23(

PID
Step

PID

0.2

Input PointPID Controller

PID Controller1

60

1/Vt

Vd

Va

speed
T

Tl

Step1

Output Point

Ia

Subsystem

Bode Diagram
From: Input Point To: Output Point

20

Magnitude (dB)

10
0
-10
-20
-30
-40
90

Phase (deg)

45
0
-45
-90

-3

-2

10

10

-1

10

10

10

10

10

Frequency (Hz)

Pole-Zero Map

1
0.8
0.6

Imaginary Axis

0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
-350

-300

-250

-200

-150

-100

-50

Real Axis

/ (, 4
1

(
.

"

%! &'
.

5(5 16.(
55 16.( /
59+
#(
.
0
1 2 -33
(

7
/ (, 0
-33
#0
1 #1 2 -33
#(
/ (- &
1
*. 0

58

#
1

#.

Bode Diagram
From: Input Point To: Output Point

20

Magnitude (dB)

10
0
-10
-20
-30
-40
90

Phase (deg)

45
0
-45
-90
-135
-180
-3
10

-2

-1

10

10

10

10

10

10

10

Frequency (Hz)

/ (- 4
/

1 2 -33

/ (-

7
0

-33

1 2,

(
1( /

#
/ ( 5(

1
:30
5(516.

0.
"
(

Bode Diagram
From: Input Point To: Output Point

100

Magnitude (dB)

80
60
40
20
0
-20
90

Phase (deg)

45
0
-45
-90
-135
-180
-3
10

-2

10

10

-1

10

10

10

10

10

Frequency (Hz)

/ (5

:3

7
0( (

533 6.( "

( %
<(

/ (9

"
7

PID

PID

speed controller

current controller

0.2

60

1/Vt

Vd

Va

speed
T

Tl

In1 Out1

Ia

Subsystem

Step1

PID

0
"
(/ (9

( /
0

7
(

speed_controller

1/(sJ +B)1

In1 Out1

torque-loop
1/(sJ +B)

Bode Diagram
From: Input Point To: Output Point

200
150
)
B
d(
e
d
uti
n
g
a
M

100
50

0
-50
-100
0
-45

)
g
e
d(
e
s
a
h
P

-90
-135
-180

-3

10

10

-2

-1

10

10

10

10

10

10

10

Frequency (Hz)

/ (9 $

;
3(8

#(

"

7
7
/ (>(

0
7

-33 6.(

0
"

Bode Diagram
From: Input Point To: Output Point

150

Magnitude (dB)

100

50

Phase (deg)

-50
0

-45

-90

-135

-2

-1

10

10

10

10

10

10

10

Frequency (Hz)

/ (>
.

1
:3
3(-

?
?

1
,+333
3(,9
(
/ (@

%! &'

( %

7
,(> & (

> 6.
7

/ (@

7
(

vtri
To Workspace2
torque
PID
Signal
Generator

PID Controller1

PID
Saturation1

T o Workspace1

PID Controller

Rel ay

speed

speed
Va
T
Tl

Out1

T o Workspace

Ia

Subsystem

Subsystem1
Step1

-1
Gain

Relay1
vc
T o Workspace3

vc_m
T o Workspace4

40
20
0
-20
-40

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

2
1
0
-1
-2

/ (@ !
7

$
!

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 openloop plot is large

(b)

To achieve fast response


making sure crossover frequency of openloop
plot is large or large closeloop bandwidth

EXAMPLE in using linear analysis in MATLAB

GOL

100
=
s(0.1s + 1)

Ga in

1
s

0 .1s+1

Inte gra tor

Tra nsfe r Fcn

-K-

100
0.1s2 +s
Tra nsfe r Fcn

EXAMPLE in using linear analysis in MATLAB

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

Ga in

In te g ra to r In p ut P oint

1
s

-KGa in

-KInput P oint

Ga in

1
s

-K-

In p ut P oint In te g ra to r

0 .1 s+1
Tra nsfe r Fcn

Ou tp u t P o in t

1
0 .1 s+1
Tra nsfe r Fcn

Ou tp u t P o in t

1
s

0.1s+1

Inte gra tor

Tra nsfe r Fcn

Output P o in t

EXAMPLE in using linear analysis in MATLAB


Bode Dia gra m
From: Input Point To: Output Point

100

Ma gnitude (dB)

50

-50

-100
0

Pha s e (de g)

-45
-90
-135
-180
10

-1

10

10

Fre que nc y (ra d/s e c )

10

10

EXAMPLE in using linear analysis in MATLAB


-KIn pu t P oin t

Ga in

1
s

0.1s+1

In te g ra tor

Tra n sfe r Fcn

Outp ut P o in t

Bode Diagram
From: Input Point To: Output Point

100

Magnitude (dB)

50

Crossover frequency
approximates close
loop bandwidth

-50

-100
0

Phas e (de g)

-45
-90
-135
-180
10

-1

10

10

Frequency (rad/s ec)

10

10

EXAMPLE in using linear analysis in MATLAB


PI controller
Transfer function

ki 1 + k
i

kp

Contain a zero and a pole at origin


DC gain can be adjusted independently from
location of zero

EXAMPLE in using linear analysis in MATLAB


PI controller

1
s

1
In p u t P o in t

Ga in

Ou tp u t P o in t

In te g ra to r

0 .1
Ga in 1

Bode Dia gram


From: Input Point To: Output Point

100

ki=100, kp=10
Ma gnitude (dB)

50

-50

ki=1, kp=0.1

Pha s e (de g)

-100
0

-45

-90
10

-1

10

10

Fre quenc y (ra d/s e c )

10

10

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]

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]

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]

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

OutDataType
OutScaling
SignalType
SamplingMode
Interpolate

"sfix(16)"
"2^0"
"auto"
"auto"
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]

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

VectorParams1D
ZeroCross

on
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
VerticalAlignment
ForegroundColor
BackgroundColor
DropShadow
FontName
FontSize
FontWeight
FontAngle
}
LineDefaults {
FontName
FontSize
FontWeight
FontAngle
}
System {
Name
Location
Open
ModelBrowserVisibility
ModelBrowserWidth

"center"
"middle"
"black"
"white"
off
"Helvetica"
10
"normal"
"normal"

"Helvetica"
9
"normal"
"normal"

"dc_m2_linear_large_torque"
[6, 82, 1018, 533]
on
off
212

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

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

ScreenColor
PaperOrientation
PaperPositionMode
PaperType
PaperUnits
ZoomFactor
ReportName
Block {
BlockType
Name
Position
Gain
}
Block {
BlockType
Name
Ports
Position
SourceBlock

"white"
"landscape"
"auto"
"usletter"
"inches"
"92"
"simulink-default.rpt"
Gain
"Gain"
[410, 230, 440, 260]
"-1"

Reference
"PID Controller"
[1, 1]
[335, 90, 365, 120]
"simulink_extras/Additional\nLinear/PID Controll"

"er"
SourceType
P
I
D
}
Block {
BlockType
Name
Ports
Position
SourceBlock

"PID Controller"
"90"
"90*200"
"0"

Reference
"PID Controller1"
[1, 1]
[150, 90, 180, 120]
"simulink_extras/Additional\nLinear/PID Controll"

"er"
SourceType
P
I
D
}
Block {
BlockType
Name
Position
OnSwitchValue
OffSwitchValue
OnOutputValue
}
Block {
BlockType
Name
Position
OnSwitchValue
OffSwitchValue
OnOutputValue
}
Block {
BlockType
Name
Position
UpperLimit
LowerLimit
}
Block {
BlockType
Name
Position
WaveForm

"PID Controller"
"0.2"
"0.7*0.2"
"0"

Relay
"Relay"
[500, 90, 530, 120]
"0"
"0"
"60"

Relay
"Relay1"
[520, 230, 550, 260]
"0"
"0"
"60"

Saturate
"Saturation1"
[225, 90, 255, 120]
"1.5"
"-1.5"

SignalGenerator
"Signal\nGenerator"
[20, 90, 50, 120]
"square"

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

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

Amplitude
Frequency

"-30"
"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]

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

Gain
}
Block {
BlockType
Name
Ports
Position
ShowName
IconShape
Inputs
InputSameDT
OutDataTypeMode
}
Block {
BlockType
Name
Ports
Position
NamePlacement
ShowName
IconShape
Inputs
InputSameDT
OutDataTypeMode
}
Block {
BlockType
Name
Position
Denominator
}
Block {
BlockType
Name
Position
Denominator
}
Block {
BlockType
Name
Position
}
Block {
BlockType
Name
Position
Port
}
Block {
BlockType
Name
Position
Port
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort

"Kt"

Sum
"Sum"
[2, 1]
[80, 85, 100, 105]
off
"round"
"|+-"
off
"Inherit via internal rule"

Sum
"Sum1"
[2, 1]
[310, 85, 330, 105]
"alternate"
off
"round"
"-+|"
off
"Inherit via internal rule"

TransferFcn
"Transfer Fcn"
[145, 77, 205, 113]
"[La Ra]"

TransferFcn
"Transfer Fcn1"
[375, 77, 435, 113]
"[J B]"

Outport
"speed"
[495, 88, 525, 102]

Outport
"T"
[390, 33, 420, 47]
"2"

Outport
"Ia"
[240, 33, 270, 47]
"3"

"Sum"
1
"Transfer Fcn"
1

"Gain"
1
"Sum1"
2

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

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

}
Line {
SrcBlock
SrcPort
Points
Branch {
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
Points
Branch {
Points
DstBlock
DstPort
}
Branch {
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
Points
Branch {
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}

"Transfer Fcn"
1
[10, 0]
"Gain"
1

[0, -55]
"Ia"
1

"Sum1"
1
[5, 0]
[0, -55]
"T"
1

"Transfer Fcn1"
1

"Transfer Fcn1"
1
[35, 0]
"speed"
1

[0, 105]
"Gain2"
1

"Tl"
1
[5, 0]
"Sum1"
1

"Va"
1
"Sum"
1

"Gain2"
1
[-175, 0]
"Sum"
2

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

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]

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

}
Block {
BlockType
Name
Ports
Position
ShowName
IconShape
Inputs
InputSameDT
OutDataTypeMode
}
Block {
BlockType
Name
Ports
Position
ShowName
IconShape
Inputs
InputSameDT
OutDataTypeMode
}
Block {
BlockType
Name
Ports
Position
ShowName
IconShape
Inputs
InputSameDT
OutDataTypeMode
}
Block {
BlockType
Name
Ports
Position
ShowName
IconShape
Inputs
InputSameDT
OutDataTypeMode
}
Block {
BlockType
Name
Position
VariableName
MaxDataPoints
SampleTime
SaveFormat
}
Block {
BlockType
Name
Position
VariableName
MaxDataPoints
SampleTime
SaveFormat
}
Block {
BlockType

Sum
"Sum1"
[2, 1]
[290, 95, 310, 115]
off
"round"
"|+-"
off
"Inherit via internal rule"

Sum
"Sum2"
[2, 1]
[430, 95, 450, 115]
off
"round"
"|+-"
off
"Inherit via internal rule"

Sum
"Sum3"
[2, 1]
[470, 235, 490, 255]
off
"round"
"-+|"
off
"Inherit via internal rule"

Sum
"Sum4"
[2, 1]
[560, 145, 580, 165]
off
"round"
"+|-"
off
"Inherit via internal rule"

ToWorkspace
"To Workspace"
[910, 115, 970, 145]
"speed"
"inf"
"-1"
"Array"

ToWorkspace
"To Workspace1"
[800, 75, 860, 105]
"torque"
"inf"
"-1"
"Array"

ToWorkspace

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

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

Name
Position
VariableName
MaxDataPoints
SampleTime
SaveFormat
}
Block {
BlockType
Name
Position
VariableName
MaxDataPoints
SampleTime
SaveFormat
}
Block {
BlockType
Name
Position
VariableName
MaxDataPoints
SampleTime
SaveFormat
}
Line {
SrcBlock
SrcPort
Points
Branch {
Points
Branch {
Points
DstBlock
DstPort
}
Branch {
DstBlock
DstPort
}
}
Branch {
Points
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
Branch {

"To Workspace2"
[445, 25, 505, 55]
"vtri"
"inf"
"-1"
"Array"

ToWorkspace
"To Workspace3"
[485, 290, 545, 320]
"vc"
"inf"
"-1"
"Array"

ToWorkspace
"To Workspace4"
[495, 370, 555, 400]
"vc_m"
"inf"
"-1"
"Array"

"PID Controller"
1
[10, 0]
[20, 0]
[-5, 0]
"Gain"
1

"Sum2"
1

[0, 200]
"To Workspace3"
1

"Step1"
1
[50, 0]
"Subsystem"
2

"Sum2"
1
"Relay"
1

"Subsystem1"
1
[45, 0]

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

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

Points
Branch {
Points
DstBlock
DstPort
}
Branch {
DstBlock
DstPort
}
}
Branch {
Points
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
Branch {
Points
DstBlock
DstPort
}
Branch {
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
Points

[30, 0]
[40, 0]
"Sum3"
1

"Sum2"
2

[0, -140]
"To Workspace2"
1

"Signal\nGenerator"
1
"Sum"
1

"Sum"
1
"PID Controller1"
1

"PID Controller1"
1
"Saturation1"
1

"Sum1"
1
"PID Controller"
1

"Saturation1"
1
"Sum1"
1

"Subsystem"
1
[120, 0]
[0, 295; -755, 0]
"Sum"
2

"To Workspace"
1

"Gain"
1
[5, 0]

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

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

Branch {
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
Branch {
Points
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}

"Sum3"
2

[0, 140]
"To Workspace4"
1

"Relay"
1
[35, 0]
"Sum4"
1

"Sum3"
1
"Relay1"
1

"Relay1"
1
[15, 0]
"Sum4"
2

"Sum4"
1
[50, 0; 0, -20]
"Subsystem"
1

"Subsystem"
2
[30, 0]
[10, 0]
"To Workspace1"
1

[0, 195; -475, 0]


"Sum1"
2

}
}

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

PEMACU MOTOR ARUHAN


Mo t o r aru h an %LQDDQGDQSULQVLSRSHUDVL UHYLVLRQ
Mot or a r u h a n t er d ir i d a r i s t a t or d a n r ot or
Pa d a s t a t or t er d a p a t b elit a n 3 fa s a ya n g d is a m b u n g k ep a d a b ek a la n volt a n 3 fa s a (a , b , d a n c)
S eca r a a m , t er d a p a t d u a jen is r ot or : s qu ir r el ca ge (s a n gk a r t u p a i) d a n wou n d (b er b elit )
a

c
x

Bila volt a n s in u s oid a l t iga fa s a s eim b a n g d ik en a k a n , a k a n t er b en t u k flu k s m a gn et p a d a s ela


u d a r a ya n g b er p u t a r d en ga n k ela ju a n :

s =
s
f
p

2
2 f
p

rad/ s

(1 )

d ik en a li s eb a ga i fr ek u en s i s eger a k (s yn ch r on ou s fr equ en cy)


ia la h fr ek u en s i b ek a la n t iga fa s a p a d a s t a t or
ia la h b ila n ga n k u t u b

Flu x s ela u d a r a b er p u t a r in i a k a n m en ga r u h k a n d ge p a d a p en ga lir r ot or . Ar u s a k a n t er h a s il


p a d a p en ga lir r ot or d a n a k a n b er in t er a k s i d en ga n flu k s s ela u d a r a b er p u t a r u n t u k
m en gh a s ilk a n d a ya k ila s ya n g a k a n m em u t a r k a n r ot or .Oleh it u la ju r ot or s en t ia s a k u r a n g d a r i
la ju s eger a k .
Per b eza a n la ju in i d ik en a li s eb a ga i la ju gelin cir a n (s lip s p eed ).
s l = s r

(2 )

Nis b a h la ju gelin cir a n k ep a d a la ju s eger a k ia la h gelin cir a n .

s =

s r
s

(3 )

Flu k s s ela u d a r a ya n g b er p u t a r ju ga a k a n m en ga r u h k a n d ge p a d a b elit a n s t a t or ya n g d ik en a li


s eb a ga i d ge b a lik a n (b a ck em f) a t a u volt a n s ela u d a r a (a ir ga p volt a ge).
Volt a n s ela u d a r a ya n g t er a r u h d ib er i oleh :
E a g = k f a g

(4 )

J ik a Vs ia la h volt a n p er -fa s a ya n g d ik en a k a n p a d a b elit a n s t a t or d a n Is ia la h a r u s b elit a n


s t a t or , p er s a m a a n lit a r s t a t or ia la h :

Vs = R s Is + j(2 f)Lls + E a g

(5 )

d .g.e. ya n g t er a r u h p a d a r ot or a d a la h d is eb a b k a n oleh flu k s m a gn et ya n g s a m a t a p i p a d a


fr ek u en s i gelin cir a n d a n ia b oleh d it u lis s eb a ga i:
E r = k s f a g = s E a g

(6 )

Oleh it u , p er s a m a a n u n t u k lit a r r ot or ia la h :
E r = s E a g = R r Ir + js (2 f)Llr

(7 )

J ik a k ed u a -d u a b ela h p er s a m a a n d ib a h a gi d en ga n s ,

E ag =

Rs

Rr
Ir + j(2 f )L lr
s

Is

(8 )

Llr

Lls

Ir

+
Lm

Vs

E ag

Im

Rr
s

Lit a r s et a r a p er fa s a
Rs
Rr
Lls
Llr
Lm
s

Rin t a n ga n b elit a n s t a t or
Rin t a n ga n p en ga lir r ot or
Kea r u h a n b ocor b elit a n s t a t or
Kea r u h a n b ocor b elit a n r ot or
Kea r u h a n k em a gn et a n
gelin cir a n

Rot or t id a k m em p u n ya i s u m b er k u a s a , oleh it u k u a s a ya n g d ip in d a h k a n d a r i lit a r s t a t or k e lit a r


r ot or d ik en a li s eb a ga i k u a s a s ela u d a r a (a ir -ga p p ower ) d a n d ib er i oleh :

Pa g = 3 I 2r

Rr
s

3 I 2r R r

Hila n g
p a d a Rr

3 I 2r

Rr
[1 s ]
s

Ditu k a r k ep a d a k u a s a m ek a n ik a l

P m = (1 - s )P a g

Ku a s a m ek a n ik a l b oleh d it u lis d a la m s eb u t a n d a ya k ila s d a n la ju r ot or s eb a ga i:


P m = Tem r
Ta p i

s s = s - r

r = (1 -s )s

P a g = Tem s

Tem =

Oleh it u

J ik a

Ir =

Vs

Rs +

Rr
+ j(X ls + X lr )
s

Tem =

Pa g
s

3 I 2r R r
s s

, d a ya k ila s b oleh d it u lis s eb a ga i:

Vs2
3R r
2
s s
R
2
R s + r + (X ls + X lr )
s

Ben t u k la zim cir i T- u n t u k m ot or a r u h a n :


Tem
Pu ll ou t
Tor qu e

Tm ,r a t ed

r a t ed s

0
1

Gelin cir a n s em a s a d a ya k ila s m a k s im u m d ib er i oleh :

sm =

Rr

R s + (X ls + X lr )
2

Nila i d a ya k ila s m a k s im a (p u ll-ou t t or qu e):

Tm a x =

Vs2
3
s s R R 2 + (X + X )2
s
ls
lr
s
3

Kawalan laju m o t o r aru h an


Ter d a p a t b eb er a p a k a ed a h k a wa la n la ju :
(i)

(ii)

Pole ch a n gin g PHQXNDUELODQJDQNXWXE


La ju s eger a k b er ga n t u n g k ep a d a b ila n ga n k u t u b
Den ga n m en u k a r s a m b u n ga n p a d a b elit a n , b ila n ga n k u t u b b oleh d iu b a h .
Va r ia b le volt a ge, fixed fr equ en cy
Ma gn it u d volt a n d ik a wa l, fr ek u en s i t et a p , e.g. m en ggu n a k a n t r a n s for m er .

T
TL

Lower s p eed gives


h igh er s lip les s
efficien t

(iii)

Va r ia b le m a gn it u d e va r ia b le fr equ en cy

Ma gn it u d volt a n b ek a la n d it u k a r b er k a d a r a n d en ga n fr ek u en s i d a n m er u p a k a n k a ea d a h ya n g
p a lin g p op u la r d igu n a k a n d a la m p em a cu k a wa la n la ju m ot or a r u h a n . Un t u k s ya n g k ecil d a n
a g ya n g t et a p , b oleh d it u n ju k k a n h u b u n ga n d i a n t a r a d a ya k ila s d a n la ju gelin cir a n (s lip s p eed )
a d a la h lin ea r
Un t u k m en gek a lk a n flu k s s ela u d a r a p a d a n ila i k a d a r a n , b ila volt a n d iu b a h , fr ek u en s i ju ga
p er lu d iu b a h :
E a g = k f a g
Oleh u n t u k m en gh a s ilk a n a g ya n g m a la r p a d a n ila i k a d a r a n , n is b a h

E ag

f
k eja t u h a n volt a n p a d a R s d a n Xls a d a la h k ecil d ib a n d in gk a n d en ga n Vs ,
E ag
f

h a r u s la h m a la r . J ik a

Vs
f

Volt a n b ek a la n d iu b a h s eca r a b er k a d a r a n d en ga n la ju a t a u fr equ en s i s eh in gga la ju k a d a r a n .


4

Un t u k > r a t ed , m a gn it u d volt a n d it et a p k a n t a p i fr ek u en s i d in a ik k a n , oleh it u torqu e ca p a b ility


m en gu r a n g k er a n a flu k s m u la m en gu r a n g
Vs

Vs , r a t ed

f
fr a t ed
Bila la ju k ecil, k eja t u h a n volt a n oleh R s d a n Xls a d a la h b es a r jik a d ib a n d in gk n d en ga n Vs . Oleh
it u k eb ia s a a n n ya Vs d in a ik k a n leb ih b es a r s ed ik it (b oos t ) s em a s a fr equ en s i r en d a h
Cir i T- b ila m a gn it u d Vs d a n f d iu b a h b er k a d a r a n
T
TL

T,r a t ed

r ,r a t ed

Vs

s ,r a t ed

Ba ga im a n a k a h m a gn it u d d a n fr ek u en s i d ik a wa l s er en t a k ?
Men ggu n a k a n Pu ls e Wid t h Mod u la t ion (PWM) In ver t er

Fixed AC.

ACDC
(r ect ifier )

PWM in ver t er

IM

Va r ia b le volt a ge
Va r ia b le fr eq.
Con t r ol
(f a n d V)
Ex am ple 1
4 0 0 V,
Rs = 2 ,

5 0 Hz
Rr = 3 ,

4 SROH
1370 rpm
Xls = Xlr = 3 .5

Mot or is con t r olled b y a volt a ge s ou r ce in ver t er wit h con s t a n t V/ f.


Ca lcu la t e:
(a )
S p eed for fr equ en cy of 3 0 Hz a n d 8 0 % of fu ll loa d
(b )
Fr equ en cy for a s p eed of 1 0 0 0 r p m a n d fu ll loa d t or qu e
(c)
Tor qu e for a fr equ en cy of 4 0 Hz a n d s p eed of 1 1 0 0 r p m
(a )
5 0 Hz

3 0 Hz
Tr a t ed
0 .8 Tr a t ed

Ra ted
s lip
s p eed

1500

Ns lip ,0 .8

Tr a t ed
Ns lip , r a t ed

0 . 8 Tr a t ed
N s lip ,0 . 8

Ns lip ,r a t ed = Ns 1r ,r a t ed = 1 5 0 0  USP

Ns lip , 0 . 8 =

0 . 8 Tr a t ed
Ns lip , r a t ed = 0 . 8 (1 3 0 ) = 1 0 4 r p m
Tr a t ed

Pa d a 3 0 Hz, la ju s eger a k ia la h 3 0 x 6 0 = 1 8 0 0 / 2 = 9 0 0 r p m
6

Nr = Ns 1s lip = 9 0 0 0 4 = 7 9 6 r p m

(b )
5 0 Hz

? Hz

Tr a t ed

Ns

1000

1370

Ns lip ,ra ted


= 130
rpm

1500

Ns lip ,ra ted


= 130

Ns = 1 3 0 + 1 0 0 0 = 1 1 3 0 r p m

Ns =

2
f 60
p

f = 3 7 .6 7 Hz

(c)

5 0 Hz

4 0 Hz
Tr a t ed
T=?

1100

Ns
Ns lip

Ns =

2
f 60
p

Ns = 1 2 0 0 r p m

Ns lip = 1 2 0 0  USP

1370

1500

Ns lip ,ra ted


= 130 rpm

Tr a t ed
T
=
130
100
Tr a t ed d ip er oleh i d a r i :

T = 0 .7 6 9 Tr a t ed

Tem =

Tr a t ed = ?

3Rr
Vs2
2
s s
R
2
R s + r + (X ls + X lr )
s

Tr a t ed = 3 8 .0 6 Nm

Da ya k ila s p a d a 4 0 Hz, la ju 1 1 0 0 r p m ia la h T = 0 .7 6 9 (3 8 .0 6 ) = 2 9 .2 6 7 Nm

Example 2
A 4pole, 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 = K2 , 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?
5 0 Hz

TL(Nm)

TL = K 2
Trated

0.5 Trated
Zsyn,r
(rad/s)
Zr,r
slip,r = 1500 1460 = 40 rpm

a)

or

4.19 rad/s

Load torque is given by:


T L = K 2

1460 rpm

152.9 rad/s

20 = K(152.9)2

Zslip,r

K = 20/(152.9)2

TL =

20
2
1 5 2 .9 2

at 0.5 rated torque, the speed is 108.11 rad/s

Motor T- is obtained as follows:


T r a t ed
T r a t ed
Te
=
= 4 .7 7 =
s lip
s yn , r r , r
s yn r

Te = 4 . 7 7 s yn 4 . 7 7 r

Therefore at 0.5 Trated and speed of 108.11 rad/s

1 0 = 4 . 7 7 s yn 4 . 7 7 (1 0 8 . 1 1 )

syn = 110.2 f = 35 Hz

5 0 Hz

TL(Nm)

TL = K 2

1.1(Trated)
Trated

Zsyn,r
(rad/s)
Zslip = Zsyn

Zr,r

1 . 1 T r a t ed
T
= r a t ed
s lip
4 .1 9

At start-up,

s lip = s yn

s yn = 4 . 1 9 (1 . 1 ) = 4 . 6 1

Zslip,r

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.

Rs

Lr l

Ls l

Eg

Lm

Im

Rr/ s

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.

speedrad/s
torque - Nm
Simulation results with constant V/f

The performance can be improved by:


(i)

Boosting the voltage at low frequency:

10

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.

Im =

j L lr +

Rr
s

j (L lr + L m ) +

I1 =

Rr
s

j (L lr + L m ) +
j L lr +

Rr
s

I1

Rr
s I
m

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

I1 =

I1 =

j L r +
r
j
1 + r

Rr
s

R
L r + r

j s lip Tr + 1
r
j s lip
1 + r

Tr + 1

Im

Im ,

Where Tr = Lr/Rr and slip = - r = s


The method depends on the rotor parameters, which vary with temperature.
Open-loop V/f control

11

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:

Rectifier

3-phase
supply

VSI
IM

Ramp

+
+
Slip speed
calculator

Pulse
Width
Modulator

+
Vboost

Vdc Idc

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

12

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

13

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, 3phase 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 rotors phase a axis and
stators 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,

v as
v abcs = v bs
v cs

ias
iabcs = ibs
ics

abcs =

as
bs
cs

and v abcr =

v ar
v br
v cr

iar
iabcr = ibr
icr

abcs =

ar
br
cr

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:

abcs = abcs,s + abcs,r

(3)

abcr = abcr,r + abcr,s

(4)

stator, b

rotor, a
r

rotor, b

stator, a
= 0

rotor, c
Figure 1
stator, c

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.

abcs,s

Las Labs Lacs ias


= Labs L bs L bcs ibs
Lacs L bcs Lcs ics
Las,ar

Las,br

Las,cr iar

abcs,r = L bs,ar

L bs,br

L bs,cr ibr

Lcs,ar

Lcs,br

Lcs,cr icr

Lar

Labr

Lacr iar

abcr,r = Labr

L br

L bcr ibr

Lacr L bcr

Lcr

(5)

(6)

(7)

icr

Lar,as
abcr,s =

Lar,bs

Lar,cs ias

L br,as L br,bs L br,cs i bs


Lcr,as

Lcr,bs

(8)

Lcr,cs ics

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:

L ms = o Ns2

rl
g

L abs = L bcs = L acs = o Ns2

rl
g

L ms
2

(9)

Thus equation (5) can be written as:

L ms + Lls
abcs,s =

L
ms
2
L
ms
2

L ms
2

L ms + Lls

L ms
2
L ms

L ms
2

L ms + Lls

ias
ibs

(10)

ics

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:

abcs,r

abcr,s

cos r + 2 3
cos r
cos r 2 3

cos r
Nr
=
L ms cos r + 2 3
Ns
cos r 2 3

cos r 2 3
cos r
cos r + 2 3

N
= r L ms
Ns

cos r
cos 2

(
cos(

(
(

)
+ 2 3)
)
)

(
(

cos r 2 3
cos r + 2 3
cos r

(
(

cos r + 2 3
cos r 2 3
cos r

)
)

iar
ibr

(11)

icr

)
)

ias
ibs

(12)

ics

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.

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:
N
as = s ias cos( )
(13)
2
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:

Ns
ias cos
(14)
2
Phases b and c are spatially separated from phase a by 120o. Thus airgap mmf of phase b
and c are given by:
as =

(15)

cs

(16)

The total airgap mmf

abcs =

Ns
2
i bs cos(
)
2
3
N
2
= s ics cos( +
)
2
3

bs =

Ns
N
N
2
2
)
ias cos + s i bs cos(
) + s ics cos( +
2
2
3
2
3

(17)

Using Eulers identity and with some mathematical manupulation, it can be shown that:

abcs =

{(

Ns
ias + a2i bs + aics ej + ias + ai bs + a2ics e j
4

(18)

where a = ej(2/3)
This can be further reduced or written as:

3 Ns
ise j + is*ej
2 4

abcs =

(19)

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

is =

2
ias + aibs + a2ics
3

(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.
2
is =
(ias + ibs(cos 120 + j sin 120) + ics(cos 240 + j sin 240))
3

2
1
3
ias (ibs + ics) + j
(ibs ics)
3
2
2

= ias + j

Thus

1
(ibs ics)
3

ias = Re[is ]

(21)

Similarly it can be shown that

[ ]

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:

vr = Rrir +

(23)

dr
dt

(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,
shown that:

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

s = Ls is + L m ir'ejr

(26)

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

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

r' = Lr ir' + L m isejr

(27)

Note that the rotor current in (26) (i.e.

ir' ) , is the space vector referred to the

rotating rotor reference frame. However, the d and q components of ir'ejr 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

irs = ir'ejr

(28)

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

ss = Ls iss + L m irs

(29)

Where the superscript s referred to the stator reference frame.


qr

qs

ir'

ir' = i'rejr
irs = i'rej(r + r)

dr

isqr

r
r

r
Figure 2
ds

isdr

Similarly the term isejr in (27) is the stator current referred to rotating rotor frame.
This is illustrated in Figure 3.
qr

qs

is
js

is = ise
r
s

dr

j(s r)

= ise

Figure 3

irqs

irds

ds

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:

vss = R s iss +
0 = R r irs +

dss
dt

(30a)

d rs
jr rs
dt

(31a)

ss = Ls iss + L m irs

(32a)

rs = Lr irs + L m iss

(33a)

In a general reference frame rotating at angular speed of , these equations can be


written as:

vsg = R s isg +
0 = R r irg +

dsg
+ jg sg
dt

(30b)

d rg
+ j(g r) rg
dt

(31b)

sg = Ls isg + L m irg

(32b)

rg = Lr irg + L m isg

(33b)

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

) (

2
2
v as + av bs + a2v cs
ias + a2ibs + aics
3
3

vs is* =

(34)

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

Re vs is* =

2
(v asias + v bsibs + v csics )
3

(35)

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

Pe =

( [

3
Re vs is*
2

]) + 32 (Re[v i ])
' *'
r r

(36)

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

Pe =

2
2
2
2
2
L'
3
3
3 Lls
rs is + rr ir' +
p
is + lr ir' + L m is + ir'
2
2
2
2
2

2
2
3
+ Re j(Lls + L m )is + L m ir is* + j( r)(Lls + L m )ir'
+ L misi'*
r
2

(37)

Equation (37) can be divided into three terms:


(i)
(ii)
(iii)

Power dissipated in stator and rotor resistances


Time rate of change of stored energy
Power conversion from electrical to mechanical responsible for torque
production

Pmech =

2
2
3
Re j(Lls + L m )is + L m ir is* + j( r)(Lls + L m )ir' + L misi'*
r
2

(38)

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

Pmech =

{ [

{ [

3
3
Re j(L m ir is* + j( r)L misi'*
=
Re j(L m ir is* + L misi'*
jrL misi'*
r
r
r
2
2

(39)

Since the term L m ir is* + L misi'*


has no imaginary part, the mechanical power reduces to:
r

Pmech =

3
Re jrL misi'*
r
2

(40)

Which can also be written as:

Pmech =

3
Im rL misi'*
r
2

(41)

OR

Pmech =

3
rL m iqsi'dr idsi'qr
2

(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)

Te =

3 p
L m iqsi'dr idsi'qr
2 2

(43)

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:

v sd
v sq
v rd
v rq

R s + sLs
0
sL m
rL m

0
R s + sLs
rL m
sL m

sin (44) represents the derivative


be put into state space forms with
variables. If the stator and rotor
arranging (44) the IM equation can be

isd
isq
ird

2
m

1
Lr Ls

irq

sL m
0
R r + sLr
rLr

isd
i
sq
ird
irq

(44)

operator d/dt. The space vectors equations can also


the choice of flux linkages or currents as state
currents are chosen as the state variables, rewritten as:

R sL r

r L2misq

R rL m

r L m L r

L
R sL m
r L m Ls

R sLr
r L m Ls
R sL m

r L m L r
R r Ls
r L r Ls

R rL m
r Lr Ls
R r Ls

2
r m

0
sL m
rLr
R r + sLr

isd
i
sq
ird
irq

2
m

Lr
0
Lm
0

1
Lr Ls

0
Lr
0
Lm

v sd
v sq

(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.

1
1

isd

Va

Vd

2
q

Mux

Mux

3to2

Vb

In1

Out1

isq

Demux

IM1
Demux

3
ird
6
irq
8

Te

Vc
7

-K-

Vq

-KGain2
4
speed

1/s
Integrator

1/J

T load
Sum

Constant

-K1/J1

-KGain1

Figure 4

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]

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]

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]

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]

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

YMin
YMax
SaveToWorkspace
SaveName
LimitDataPoints
MaxDataPoints
Decimation
SampleInput
SampleTime

"-5"
"5"
off
"ScopeData"
on
"5000"
"1"
off
"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
VerticalAlignment
ForegroundColor
BackgroundColor
DropShadow
FontName
FontSize
FontWeight
FontAngle
}
LineDefaults {
FontName

"center"
"middle"
"black"
"white"
off
"Helvetica"
10
"normal"
"normal"

"Helvetica"

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

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

FontSize
FontWeight
FontAngle

9
"normal"
"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]

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

BlockType
Name
Position
Value

Constant
"Constant1"
[195, 371, 235, 389]
"(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]

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

Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}

"Sum"
1
"out_1"
1

"Product"
1
"Sum"
1

"in_1"
1
"Product"
1

"in_2"
1
"Product"
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]

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

Port
}
Block {
BlockType
Name
Ports
Position
}
Block {
BlockType
Name
Ports
Position
Inputs
}
Block {
BlockType
Name
Position
InitialOutput
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}

"2"

Product
"Product"
[2, 1]
[65, 55, 90, 75]

Sum
"Sum"
[1, 1]
[125, 55, 145, 75]
"+"

Outport
"out_1"
[185, 55, 205, 75]
"0"

"in_2"
1
"Product"
2

"in_1"
1
"Product"
1

"Product"
1
"Sum"
1

"Sum"
1
"out_1"
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]

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

System {
Name
Location
Open
ModelBrowserVisibility
ModelBrowserWidth
ScreenColor
PaperOrientation
PaperPositionMode
PaperType
PaperUnits
ZoomFactor
Block {
BlockType
Name
Position
}
Block {
BlockType
Name
Position
Port
}
Block {
BlockType
Name
Ports
Position
}
Block {
BlockType
Name
Ports
Position
Inputs
}
Block {
BlockType
Name
Position
InitialOutput
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort

"Dot Product3"
[33, 479, 253, 634]
off
off
200
"white"
"landscape"
"auto"
"usletter"
"inches"
"100"
Inport
"in_1"
[15, 25, 35, 45]

Inport
"in_2"
[15, 90, 35, 110]
"2"

Product
"Product"
[2, 1]
[65, 55, 90, 75]

Sum
"Sum"
[1, 1]
[125, 55, 145, 75]
"+"

Outport
"out_1"
[185, 55, 205, 75]
"0"

"in_2"
1
"Product"
2

"in_1"
1
"Product"
1

"Product"
1
"Sum"
1

"Sum"
1
"out_1"
1

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

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

}
}
}
Block {
BlockType
Name
Ports
Position
}
Block {
BlockType
Name
Ports
Position
}
Block {
BlockType
Name
Ports
Position
}
Block {
BlockType
Name
Position
Gain
}
Block {
BlockType
Name
Position
Gain
}
Block {
BlockType
Name
Position
Gain
}
Block {
BlockType
Name
Position
Gain
}
Block {
BlockType
Name
Position
Gain
}
Block {
BlockType
Name
Position
Gain
}
Block {
BlockType
Name
Ports
Position
}
Block {
BlockType

ElementaryMath
"Elementary\nMath"
[1, 1]
[275, 85, 305, 115]

ElementaryMath
"Elementary\nMath1"
[1, 1]
[335, 320, 365, 350]

ElementaryMath
"Elementary\nMath2"
[1, 1]
[320, 480, 350, 510]

Gain
"Gain"
[150, 85, 180, 115]
"2*pi"

Gain
"Gain1"
[150, 25, 180, 55]
"Vm/50"

Gain
"Gain2"
[170, 320, 200, 350]
"2*pi"

Gain
"Gain3"
[170, 235, 200, 265]
"Vm/50"

Gain
"Gain4"
[160, 480, 190, 510]
"2*pi"

Gain
"Gain5"
[160, 420, 190, 450]
"Vm/50"

Integrator
"Integrator"
[1, 1]
[210, 85, 240, 115]

Integrator

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

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

Name
Ports
Position
}
Block {
BlockType
Name
Ports
Position
}
Block {
BlockType
Name
Ports
Position
ShowName
IconShape
Inputs
InputSameDT
OutDataTypeMode
}
Block {
BlockType
Name
Ports
Position
ShowName
IconShape
Inputs
InputSameDT
OutDataTypeMode
}
Block {
BlockType
Name
Ports
Position
ShowName
IconShape
Inputs
InputSameDT
OutDataTypeMode
}
Block {
BlockType
Name
Ports
Position
ShowName
IconShape
Inputs
InputSameDT
OutDataTypeMode
}
Block {
BlockType
Name
Ports
Position
ShowName
IconShape
Inputs
InputSameDT
OutDataTypeMode
}

"Integrator1"
[1, 1]
[230, 320, 260, 350]

Integrator
"Integrator2"
[1, 1]
[220, 480, 250, 510]

Sum
"Sum"
[2, 1]
[285, 325, 305, 345]
off
"round"
"|+-"
off
"Inherit via internal rule"

Sum
"Sum1"
[2, 1]
[285, 485, 305, 505]
off
"round"
"++|"
off
"Inherit via internal rule"

Sum
"Sum2"
[2, 1]
[275, 240, 295, 260]
off
"round"
"++|"
off
"Inherit via internal rule"

Sum
"Sum3"
[2, 1]
[245, 30, 265, 50]
off
"round"
"++|"
off
"Inherit via internal rule"

Sum
"Sum4"
[2, 1]
[325, 425, 345, 445]
off
"round"
"++|"
off
"Inherit via internal rule"

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

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

Block {
BlockType
Name
Position
}
Block {
BlockType
Name
Position
Port
}
Block {
BlockType
Name
Position
Port
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}

Outport
"Out1"
[395, 83, 425, 97]

Outport
"Out2"
[455, 318, 485, 332]
"2"

Outport
"Out3"
[440, 478, 470, 492]
"3"

"Integrator"
1
"Elementary\nMath"
1

"Elementary\nMath"
1
"Dot Product2"
2

"Gain"
1
"Integrator"
1

"Elementary\nMath1"
1
"Dot Product1"
2

"Gain2"
1
"Integrator1"
1

"Elementary\nMath2"
1
"Dot Product3"
2

"Gain4"
1
"Integrator2"
1

"Sum"
1
"Elementary\nMath1"
1

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

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

Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
Branch {
Points
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
Branch {
Points
Branch {
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Branch {
Points
Branch {
Points
Branch {
Points
DstBlock
DstPort
}
Branch {
DstBlock
DstPort
}
}
Branch {
Points

"Integrator1"
1
"Sum"
1

"Constant1"
1
[0, 0; 55, 0]
[0, -20]
"Sum"
2

[5, 0; 0, 90]
"Sum1"
1

"Sum1"
1
"Elementary\nMath2"
1

"Integrator2"
1
"Sum1"
2

"In1"
1
[0, 0; 15, 0]
[15, 0]
"Gain"
1

[0, -60]
"Gain1"
1

[0, 235]
[35, 0]
[0, -85]
"Gain3"
1

"Gain2"
1

[0, 160; 25, 0]

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

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

Branch {
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}

"Gain4"
1

[0, -60]
"Gain5"
1

}
}
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort

"Dot Product2"
1
"Out1"
1

"Dot Product1"
1
"Out2"
1

"Dot Product3"
1
"Out3"
1

"Gain3"
1
"Sum2"
2

"Sum2"
1
[40, 0; 0, 65]
"Dot Product1"
1

"Gain1"
1
"Sum3"
2

"Sum3"
1
[25, 0; 0, 40]
"Dot Product2"
1

"Gain5"
1
"Sum4"
2

"Sum4"
1

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

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

Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
Branch {
DstBlock
DstPort
}
Branch {
Points
Branch {
Points
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
}

[10, 0; 0, 40]
"Dot Product3"
1

"boost"
1
[70, 0]
"Sum4"
1

[0, -220]
[0, -175]
"Sum3"
1

[160, 0]
"Sum2"
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]

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

MaskIconOpaque
MaskIconRotate
MaskIconUnits
MaskValueString

on
"none"
"autoscale"
"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]

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

}
Block {
BlockType
Name
Position
Port
}
Block {
BlockType
Name
Position
Port
}
Block {
BlockType
Name
Position
Gain
}
Block {
BlockType
Name
Position
Gain
}
Block {
BlockType
Name
Position
Gain
}
Block {
BlockType
Name
Position
Gain
}
Block {
BlockType
Name
Position
Gain
}
Block {
BlockType
Name
Ports
Position
}
Block {
BlockType
Name
Ports
Position
Inputs
}
Block {
BlockType
Name
Position
InitialOutput
}
Block {
BlockType
Name

Inport
"in_2"
[15, 115, 35, 135]
"2"

Inport
"in_3"
[15, 180, 35, 200]
"3"

Gain
"Gain3"
[120, 248, 160, 272]
"0.577"

Gain
"Gain4"
[120, 298, 160, 322]
"-0.577"

Gain
"Gain5"
[145, 143, 185, 167]
"-0.33333"

Gain
"Gain6"
[140, 183, 180, 207]
"-0.33333"

Gain
"Gain7"
[135, 63, 175, 87]
"0.66666"

Sum
"Ib"
[2, 1]
[240, 255, 260, 275]

Sum
"Ib1"
[3, 1]
[260, 87, 280, 123]
"+++"

Outport
"d"
[330, 60, 350, 80]
"0"

Outport
"q"

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

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

Position
Port
InitialOutput
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
Branch {
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
Points
Branch {
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort

[310, 250, 330, 270]


"2"
"0"

"Ib1"
1
[15, 0; 0, -35]
"d"
1

"Gain7"
1
[30, 0; 0, 20]
"Ib1"
1

"in_1"
1
[40, 0; 0, 15]
"Gain7"
1

"Gain6"
1
[30, 0; 0, -90]
"Ib1"
2

"Gain5"
1
[25, 0; 0, -40]
"Ib1"
3

"in_3"
1
[40, 0; 0, 5]
"Gain6"
1

[0, 115]
"Gain4"
1

"in_2"
1
[20, 0; 0, 30]
"Gain5"
1

[0, 105]
"Gain3"
1

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

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

}
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}

"Gain3"
1
"Ib"
1

"Gain4"
1
[30, 0; 0, -40]
"Ib"
2

"Ib"
1
"q"
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]

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

Position
}
Block {
BlockType
Name
Ports
Position
FunctionName
Parameters
}
Block {
BlockType
Name
Position
InitialOutput
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}

[25, 33, 55, 47]

"S-Function"
"S-Function"
[1, 1]
[80, 25, 140, 55]
"imch"
"Rs, Rr, Ls,Lr,Lm,pole"

Outport
"Out1"
[165, 33, 195, 47]
"0"

"In1"
1
"S-Function"
1

"S-Function"
1
"Out1"
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]

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

Block {
BlockType
Name
Position
Port
InitialOutput
}
Block {
BlockType
Name
Position
Port
InitialOutput
}
Block {
BlockType
Name
Position
Orientation
Port
InitialOutput
}
Block {
BlockType
Name
Position
Port
InitialOutput
}
Block {
BlockType
Name
Position
Port
InitialOutput
}
Block {
BlockType
Name
Position
Orientation
Port
InitialOutput
}
Block {
BlockType
Name
Position
Port
InitialOutput
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}

Outport
"isq"
[625, 70, 645, 90]
"2"
"0"

Outport
"ird"
[600, 140, 620, 160]
"3"
"0"

Outport
"speed"
[90, 410, 110, 430]
"left"
"4"
"0"

Outport
"Vd"
[265, 50, 285, 70]
"5"
"0"

Outport
"irq"
[595, 185, 615, 205]
"6"
"0"

Outport
"Vq"
[90, 285, 110, 305]
"left"
"7"
"0"

Outport
"Te"
[715, 230, 735, 250]
"8"
"0"

"Demux"
1
[60, 0; 0, -20]
"isq"
1

"Demux"
2
[65, 0; 0, -75]
"isd"
1

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

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

Line {
SrcBlock
SrcPort
Points
Branch {
Points
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
Points
Branch {
Points
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
Points
Branch {
Points
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort

"3to2"
2
[0, 0]
[0, 170]
"Vq"
1

[55, 0; 0, -15]
"Mux"
1

"3to2"
1
[0, 0; 25, 0]
[0, -35]
"Vd"
1

[30, 0; 0, 25]
"Mux"
2

"Demux"
5
[45, 0; 0, 145]
[0, 15; -35, 0]
"Sum"
1

[70, 0; 0, -45]
"Te"
1

"Vc"
1
[20, 0; 0, -120]
"3to2"
3

"Vb"
1
[20, 0; 0, -20]
"3to2"
2

"Va"
1
[20, 0; 0, 40]
"3to2"
1

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

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

}
Line {
SrcBlock
SrcPort
Points
Branch {
Points
DstBlock
DstPort
}
Branch {
Points
Branch {
Points
DstBlock
DstPort
}
Branch {
DstBlock
DstPort
}
}
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points

"1/J"
1
[0, 0; -25, 0]
[0, -175]
"Mux"
3

[-15, 0; 0, 75]
[0, 40]
"Gain1"
1

"load_C"
1

"Mux"
1
"IM1"
1

"IM1"
1
"Demux"
1

"Sum"
1
"Integrator"
1

"Integrator"
1
"1/J"
1

"Demux"
3
[30, 0; 0, 75]
"irq"
1

"Demux"
4
[25, 0; 0, 20]
"ird"
1

"Gain1"
1
[0, 0]

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

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

DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Annotation {
Name
Position
VerticalAlignment
}
}
}
Block {
BlockType
Name
Ports
Position
SourceBlock
SourceType
sw
action
}
Block {
BlockType
Name
Ports
Position
ShowName
Inputs
DisplayOption
}
Block {
BlockType
Name
Position
RisingSlewLimit
FallingSlewLimit
}
Block {
BlockType
Name
Ports
Position
Location
Open
NumInputPorts
List {
ListType
axes1
axes2
axes3
}
List {
ListType

"speed"
1

"load_C"
1
[145, 0; 0, -75]
"Sum"
2

"Constant"
1
"Sum"
3

"q"
[482, 87]
"top"

Reference
"Manual Switch"
[2, 1]
[150, 232, 180, 268]
"simulink/Signal\nRouting/Manual Switch"
"Manual Switch"
"0"
"0"

Mux
"Mux"
[2, 1]
[660, 41, 665, 79]
off
"2"
"bar"

RateLimiter
"Rate Limiter"
[170, 115, 200, 145]
"50"
"-50"

Scope
"Scope"
[3]
[735, 104, 765, 136]
[357, 69, 795, 439]
on
"3"
AxesTitles
"%<SignalLabel>"
"%<SignalLabel>"
"%<SignalLabel>"

SelectedSignals

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

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

axes1
axes2
axes3
}
TimeRange
YMin
YMax
DataFormat
}
Block {
BlockType
Name
Ports
Position
Location
Open
NumInputPorts
List {
ListType
axes1
axes2
axes3
axes4
}
List {
ListType
axes1
axes2
axes3
axes4
}
TimeRange
YMin
YMax
SaveName
DataFormat
}
Block {
BlockType
Name
Ports
Position
SourceBlock
SourceType
low
gain
high
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort

""
""
""
"1.5"
"-10~-20~-50"
"80~20~50"
"StructureWithTime"

Scope
"Scope1"
[4]
[455, 271, 490, 364]
[6, 204, 444, 564]
on
"4"
AxesTitles
"%<SignalLabel>"
"%<SignalLabel>"
"%<SignalLabel>"
"%<SignalLabel>"

SelectedSignals
""
""
""
""
"1.5"
"-400~-400~-400~-5"
"400~400~400~60"
"ScopeData1"
"StructureWithTime"

Reference
"Slider\nGain1"
[1, 1]
[100, 115, 130, 145]
"simulink/Math\nOperations/Slider\nGain"
"Slider Gain"
"0"
"0.07"
"1"

"Induction Machine"
8
[55, 0; 0, -60]
"Scope"
2

"Induction Machine"
2
[190, 0]
"Scope"
3

"Slider\nGain1"
1

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

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

DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
Branch {
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
Points
Branch {
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
Points
Branch {
Points
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
Points
Branch {
Points
DstBlock
DstPort
}
Branch {
Points
Branch {
Points

"Rate Limiter"
1

"Constant"
1
"Slider\nGain1"
1

"Constant V/Hz"
2
[0, 0; 70, 0]
"Induction Machine"
2

[0, 175]
"Scope1"
2

"Constant V/Hz"
1
[55, 0; 0, -20; 35, 0]
"Induction Machine"
1

[0, 195]
"Scope1"
1

"Constant V/Hz"
3
[0, 0; 40, 0]
[15, 0; 0, 20]
"Induction Machine"
3

[0, 175]
"Scope1"
3

"Rate Limiter"
1
[0, 0; 10, 0]
[0, 225]
"Scope1"
4

[25, 0]
[15, 0]

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

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

DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}

"Constant V/Hz"
1

[0, -80]
"Gain"
1

"Constant1"
1
[0, -30]
"Manual Switch"
2

"Constant2"
1
"Manual Switch"
1

"Manual Switch"
1
[70, 0]
"Constant V/Hz"
2

"Mux"
1
[50, 0]
"Scope"
1

"Induction Machine"
4
[115, 0]
"Mux"
2

"Gain"
1
"Mux"
1

}
}

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

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
#define
#define
#define
#define
#define

Rs ssGetArg(S,0)
Rr ssGetArg(S,1)
Ls ssGetArg(S,2)
Lr ssGetArg(S,3)
Lm ssGetArg(S,4)
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]

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]

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

SimStruct *S, int_T


tid)
/* x0=iq x1=id x2= iqr x3= idr
{
double lr,ls,rr,rs,lm,a;
lm
lr
ls
rr
rs

=
=
=
=
=

u0=vq

u1=vd

u2=w

*/

mxGetPr(Lm)[0];
mxGetPr(Lr)[0];
mxGetPr(Ls)[0];
mxGetPr(Rr)[0];
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
#include "simulink.c"
#else
#include "cg_sfun.h"
#endif

/* Is this file being compiled as a MEX-file? */


/* MEX-file interface mechanism */
/* Code generation registration function */

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

"
#

#
!

=
%'!

%
!

+(

&

%&

$
%

%&

=)

[ ]= )

%
!

[ ]=

%
!

%
!

&
!

&
%

&
%

%
!

+ %

%
!

=
/

+ %

$
(

0
1

&

&

irs = ir cos(r + ) + jir sin(r + )


irs = irej ej
r

34

isr = is cos(r ) + jis sin(r )


(

&5

&&

!
$

=)

+ (

&%

5=)

%
!

+ (

&!

=3

+3

&*

=3

+3

&+

67
85

=)
5=)

&,

"!

+
+

&,

&.

=3

+3

&0

=3

+3

&2

&2

" #

!

%%

!

%%

!
3
%%

%5

4
$

!
3
%%

+3

%&

%%
$

%!

! 3

%% 3

! 3
%% 3

%!

%*

%*

%*
#
1"<

%*
#
1

=
= 5
%*

! 3

%% 3

%+

%+
><

%+

84

%+

><
-

1"<

%+

1
4

1"<

$
1"<

&!

5=)
-

&+

+ (

5=

)
3 )

3
3

5=

+ (

= 5

)
3 )

3
3

%,

%,

+(

)+

+ (

%.

5=

)
3 )

3
3

5=

3 )
3

%0

%2

1"<
/

>

1"<
1"<

?
%, @

!
1"<

#
?
E
B

>:
F 4

E &225 AB
G

"

>

/ &220 AB

<

/<

/<

C"

1 H &20. AE

D
;

E
<

C"

?
/<

F 4
CE

STATOR FLUX FOC


In stator flux FOC, the frame chosen is aligned to the synchronously rotating frame
such that the daxis coincide with stator flux space phasor.

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

In the chosen reference frame, =

(1)

and

(2)

, hence (2) reduces to:

(3)

To implement the stator flux FOC using currentcontrolled 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)

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 decoupler 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.

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]

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]

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]

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]

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

ZoomMode
Grid
TimeRange
YMin
YMax
SaveToWorkspace
SaveName
LimitDataPoints
MaxDataPoints
Decimation
SampleInput
SampleTime

"on"
"on"
"auto"
"-5"
"5"
off
"ScopeData"
on
"5000"
"1"
off
"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
VerticalAlignment
ForegroundColor
BackgroundColor
DropShadow
FontName
FontSize

"center"
"middle"
"black"
"white"
off
"Helvetica"
10

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

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

FontWeight
FontAngle

"normal"
"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]

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

Name
Position

"Va"
[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]

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

}
Block {
BlockType
Name
Position
Gain
}
Block {
BlockType
Name
Position
Gain
}
Block {
BlockType
Name
Position
Gain
}
Block {
BlockType
Name
Position
Gain
}
Block {
BlockType
Name
Position
Gain
}
Block {
BlockType
Name
Ports
Position
}
Block {
BlockType
Name
Ports
Position
Inputs
}
Block {
BlockType
Name
Position
InitialOutput
}
Block {
BlockType
Name
Position
Port
InitialOutput
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock

Gain
"Gain3"
[120, 248, 160, 272]
"0.577"

Gain
"Gain4"
[120, 298, 160, 322]
"-0.577"

Gain
"Gain5"
[145, 143, 185, 167]
"-0.33333"

Gain
"Gain6"
[140, 183, 180, 207]
"-0.33333"

Gain
"Gain7"
[135, 63, 175, 87]
"0.66666"

Sum
"Ib"
[2, 1]
[240, 255, 260, 275]

Sum
"Ib1"
[3, 1]
[385, 52, 405, 88]
"+++"

Outport
"d"
[535, 60, 555, 80]
"0"

Outport
"q"
[310, 250, 330, 270]
"2"
"0"

"Ib1"
1
"d"
1

"Gain7"

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

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

SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
Branch {
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
Points
Branch {
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock

1
[30, 0; 0, -15]
"Ib1"
1

"in_1"
1
[40, 0; 0, 15]
"Gain7"
1

"Gain6"
1
[30, 0; 0, -125]
"Ib1"
2

"Gain5"
1
[60, 0; 0, -75]
"Ib1"
3

"c"
1
[40, 0; 0, 5]
"Gain6"
1

[0, 115]
"Gain4"
1

"b"
1
[20, 0; 0, 30]
"Gain5"
1

[0, 105]
"Gain3"
1

"Gain3"
1
"Ib"
1

"Gain4"
1
[30, 0; 0, -40]
"Ib"

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

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

DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}

"Ib"
1
"q"
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]

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

Position
InitialOutput
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
}
}
Block {
BlockType
Name
Ports
Position
Orientation
}
Block {
BlockType
Name
Ports
Position
Inputs
}
Block {
BlockType
Name
Ports
Position
Orientation
Inputs
}
Block {
BlockType
Name
Position
InitialOutput
}
Block {
BlockType
Name
Position
Port
InitialOutput
}
Block {
BlockType
Name
Position
Port
InitialOutput
}
Block {
BlockType
Name
Position
Orientation
Port

[165, 33, 195, 47]


"0"

"In1"
1
"S-Function"
1

"S-Function"
1
"Out1"
1

Integrator
"Integrator"
[1, 1]
[360, 295, 380, 315]
"left"

Mux
"Mux"
[3, 1]
[260, 104, 290, 136]
"3"

Sum
"Sum"
[3, 1]
[440, 287, 460, 323]
"left"
"+--"

Outport
"isd"
[630, 25, 650, 45]
"0"

Outport
"isq"
[625, 70, 645, 90]
"2"
"0"

Outport
"ird"
[600, 140, 620, 160]
"3"
"0"

Outport
"speed"
[90, 410, 110, 430]
"left"
"4"

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

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

InitialOutput
}
Block {
BlockType
Name
Position
Port
InitialOutput
}
Block {
BlockType
Name
Position
Port
InitialOutput
}
Block {
BlockType
Name
Position
Orientation
Port
InitialOutput
}
Block {
BlockType
Name
Position
Port
InitialOutput
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
Branch {
Points
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
Points
Branch {

"0"

Outport
"Vd"
[265, 50, 285, 70]
"5"
"0"

Outport
"irq"
[595, 185, 615, 205]
"6"
"0"

Outport
"Vq"
[90, 285, 110, 305]
"left"
"7"
"0"

Outport
"Te"
[715, 230, 735, 250]
"8"
"0"

"Demux"
1
[60, 0; 0, -20]
"isq"
1

"Demux"
2
[65, 0; 0, -75]
"isd"
1

"3to2"
2
[0, 0]
[0, 170]
"Vq"
1

[55, 0; 0, -15]
"Mux"
1

"3to2"
1
[0, 0; 25, 0]

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

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

Points
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
Points
Branch {
Points
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
Branch {
Points
DstBlock
DstPort
}
Branch {
Points
Branch {
Points
DstBlock
DstPort
}
Branch {
DstBlock
DstPort

[0, -35]
"Vd"
1

[30, 0; 0, 25]
"Mux"
2

"Demux"
5
[45, 0; 0, 145]
[0, 15; -35, 0]
"Sum"
1

[70, 0; 0, -45]
"Te"
1

"Vc"
1
[20, 0; 0, -120]
"3to2"
3

"Vb"
1
[20, 0; 0, -20]
"3to2"
2

"Va"
1
[20, 0; 0, 40]
"3to2"
1

"1/J"
1
[0, 0; -25, 0]
[0, -175]
"Mux"
3

[-15, 0; 0, 75]
[0, 40]
"Gain1"
1

"1/J1"
1

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

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

}
}
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Annotation {
Name
Position
VerticalAlignment

"Mux"
1
"IM1"
1

"IM1"
1
"Demux"
1

"Sum"
1
"Integrator"
1

"Integrator"
1
"1/J"
1

"Demux"
3
[30, 0; 0, 75]
"irq"
1

"Demux"
4
[25, 0; 0, 20]
"ird"
1

"Gain1"
1
[0, 0]
"speed"
1

"1/J1"
1
[145, 0; 0, -75]
"Sum"
2

"Constant"
1
"Sum"
3

"q"
[482, 87]
"top"

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

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

}
}
}
Block {
BlockType
Name
Ports
Position
}
Block {
BlockType
Name
Ports
Position
Orientation
}
Block {
BlockType
Name
Position
OnSwitchValue
OffSwitchValue
OnOutputValue
OffOutputValue
}
Block {
BlockType
Name
Position
OnSwitchValue
OffSwitchValue
OnOutputValue
OffOutputValue
}
Block {
BlockType
Name
Position
OnSwitchValue
OffSwitchValue
OnOutputValue
OffOutputValue
}
Block {
BlockType
Name
Position
Value
}
Block {
BlockType
Name
Ports
Position
Location
Open
NumInputPorts
ZoomMode
List {
ListType
axes1
axes2
}
List {
ListType

Integrator
"Integrator1"
[1, 1]
[180, 305, 210, 335]

Integrator
"Integrator2"
[1, 1]
[390, 305, 420, 335]
"left"

Relay
"Relay"
[540, 30, 570, 60]
"0.2"
"-0.2"
"300"
"-300"

Relay
"Relay1"
[545, 65, 575, 95]
"0.2"
"-0.2"
"300"
"-300"

Relay
"Relay2"
[545, 115, 575, 145]
"0.2"
"-0.2"
"300"
"-300"

Constant
"Rotor Flux"
[20, 134, 40, 156]
"1.2*(291.9e-3/306.5e-3)"

Scope
"Scope"
[2]
[835, 205, 865, 240]
[581, 461, 905, 736]
on
"2"
"yonly"
AxesTitles
"%<SignalLabel>"
"%<SignalLabel>"

SelectedSignals

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

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

axes1
axes2
}
TimeRange
YMin
YMax
DataFormat

""
""
"0.1"
"-25~-30"
"25~30"
"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]

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

}
Block {
BlockType
Name
Position
Gain
}
Block {
BlockType
Name
Position
Gain
}
Block {
BlockType
Name
Position
Gain
}
Block {
BlockType
Name
Position
Gain
}
Block {
BlockType
Name
Ports
Position
ShowName
IconShape
Inputs
InputSameDT
OutDataTypeMode
}
Block {
BlockType
Name
Ports
Position
ShowName
IconShape
Inputs
InputSameDT
OutDataTypeMode
}
Block {
BlockType
Name
Position
}
Block {
BlockType
Name
Position
Port
}
Block {
BlockType
Name
Position
Port
}
Block {

Gain
"Gain"
[80, 25, 110, 55]
"306.5e-3"

Gain
"Gain1"
[80, 70, 110, 100]
"291.9e-3"

Gain
"Gain2"
[80, 120, 110, 150]
"306.5e-3"

Gain
"Gain3"
[80, 165, 110, 195]
"291.9e-3"

Sum
"Sum"
[2, 1]
[175, 55, 195, 75]
off
"round"
"+|+"
off
"Inherit via internal rule"

Sum
"Sum1"
[2, 1]
[175, 150, 195, 170]
off
"round"
"+|+"
off
"Inherit via internal rule"

Outport
"Fm"
[355, 88, 385, 102]

Outport
"F_the"
[310, 103, 340, 117]
"2"

Outport
"Fd"
[310, 33, 340, 47]
"3"

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

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

BlockType
Name
Position
Port
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
Branch {
Points
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
Branch {
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort

Outport
"Fq"
[305, 153, 335, 167]
"4"

"Gain"
1
[40, 0]
"Sum"
1

"Gain1"
1
[70, 0]
"Sum"
2

"Sum"
1
[25, 0]
[15, 0]
"Cartesian to\nPolar"
1

[0, -25]
"Fd"
1

"Gain2"
1
[40, 0]
"Sum1"
1

"Gain3"
1
[70, 0]
"Sum1"
2

"Sum1"
1
[40, 0; 0, -5]
"Cartesian to\nPolar"
2

[0, 5]
"Fq"
1

"ird"
1

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

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

DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}

"Gain"
1

"isd"
1
"Gain1"
1

"Cartesian to\nPolar"
1
"Fm"
1

"Cartesian to\nPolar"
2
"F_the"
1

"irq"
1
"Gain2"
1

"isq"
1
"Gain3"
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]

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

PaperUnits
ZoomFactor
Block {
BlockType
Name
Position
}
Block {
BlockType
Name
Position
Port
}
Block {
BlockType
Name
Position
Value
}
Block {
BlockType
Name
Position
}
Block {
BlockType
Name
Ports
Position
SourceBlock
SourceType
}
Block {
BlockType
Name
Ports
Position
Orientation
NamePlacement
SourceBlock
SourceType
}
Block {
BlockType
Name
Ports
Position
NamePlacement
SourceBlock
SourceType
}
Block {
BlockType
Name
Position
Gain
}
Block {
BlockType
Name
Position
Gain
}
Block {
BlockType

"inches"
"100"
Inport
"T"
[90, 33, 120, 47]

Inport
"Flux"
[35, 118, 65, 132]
"2"

Constant
"Constant1"
[140, 279, 210, 301]
"1/Lm"

Derivative
"Derivative"
[165, 180, 195, 210]

Reference
"Dot Product"
[2, 1]
[230, 26, 260, 59]
"simulink/Math\nOperations/Dot Product"
"Dot Product"

Reference
"Dot Product1"
[2, 1]
[292, 115, 323, 150]
"down"
"alternate"
"simulink/Math\nOperations/Dot Product"
"Dot Product"

Reference
"Dot Product2"
[2, 1]
[390, 205, 425, 240]
"alternate"
"simulink/Math\nOperations/Dot Product"
"Dot Product"

Gain
"Gain"
[145, 25, 175, 55]
"(4*Lr)/(3*p*Lm)"

Gain
"Gain1"
[230, 85, 260, 115]
"(Lm*Rr)/Lr"

Gain

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

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

Name
Position
Gain
}
Block {
BlockType
Name
Ports
Position
Operator
}
Block {
BlockType
Name
Ports
Position
ShowName
IconShape
Inputs
InputSameDT
OutDataTypeMode
}
Block {
BlockType
Name
Position
}
Block {
BlockType
Name
Position
Orientation
Port
}
Block {
BlockType
Name
Position
Port
}
Line {
SrcBlock
SrcPort
Points
Branch {
DstBlock
DstPort
}
Branch {
Points
Branch {
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
}
Line {
SrcBlock
SrcPort
Points

"Gain2"
[115, 180, 145, 210]
"Lr/Rr"

Math
"Math\nFunction"
[1, 1]
[145, 110, 175, 140]
"reciprocal"

Sum
"Sum2"
[2, 1]
[255, 185, 275, 205]
off
"round"
"|++"
off
"Inherit via internal rule"

Outport
"isq"
[340, 38, 370, 52]

Outport
"slip"
[295, 175, 325, 190]
"down"
"2"

Outport
"isd"
[510, 218, 540, 232]
"3"

"Flux"
1
[25, 0]
"Math\nFunction"
1

[0, 70]
"Gain2"
1

[0, 40; 170, 0]


"Sum2"
2

"Math\nFunction"
1
[25, 0; 0, -25]

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

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

Branch {
Points
DstBlock
DstPort
}
Branch {
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
Branch {
Points
DstBlock
DstPort
}
Branch {
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock

[0, -50]
"Dot Product"
2

"Gain1"
1

"Gain"
1
[35, 0]
"Dot Product"
1

"Dot Product"
1
[0, 0; 55, 0]
[-5, 0]
"Dot Product1"
2

"isq"
1

"Gain1"
1
"Dot Product1"
1

"T"
1
"Gain"
1

"Dot Product1"
1
"slip"
1

"Gain2"
1
"Derivative"
1

"Derivative"
1
"Sum2"
1

"Dot Product2"
1
"isd"

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

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

DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}

"Sum2"
1
[45, 0; 0, 20]
"Dot Product2"
1

"Constant1"
1
[85, 0; 0, -60]
"Dot Product2"
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]

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

}
Block {
BlockType
Name
Position
Gain
}
Block {
BlockType
Name
Position
Gain
}
Block {
BlockType
Name
Ports
Position
}
Block {
BlockType
Name
Ports
Position
}
Block {
BlockType
Name
Position
}
Block {
BlockType
Name
Position
Port
}
Block {
BlockType
Name
Position
Port
}
Line {
SrcBlock
SrcPort
Points
Branch {
Points
DstBlock
DstPort
}
Branch {
Points
Branch {
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
}
Line {

Gain
"Gain8"
[215, 138, 255, 162]
"0.867"

Gain
"Gain9"
[215, 188, 255, 212]
"-0.5"

Sum
"Ib2"
[2, 1]
[375, 102, 395, 138]

Sum
"Ib3"
[2, 1]
[375, 187, 395, 223]

Outport
"Out1"
[280, 33, 310, 47]

Outport
"Out2"
[420, 113, 450, 127]
"2"

Outport
"Out3"
[420, 198, 450, 212]
"3"

"In1"
1
[0, 0; 15, 0]
[70, 0]
"Gain1"
1

[0, 50]
"Gain2"
1

[0, 105]
"Gain9"
1

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

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

SrcBlock
SrcPort
Points
Branch {
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
}
}
Block {
BlockType
Name
Ports

"In2"
1
[0, 0; 15, 0]
"Gain8"
1

[0, 100]
"Gain10"
1

"Gain2"
1
[50, 0; 0, 15]
"Ib2"
1

"Gain8"
1
[50, 0; 0, -20]
"Ib2"
2

"Gain9"
1
[50, 0; 0, -5]
"Ib3"
1

"Gain10"
1
[50, 0; 0, -35]
"Ib3"
2

"Gain1"
1
"Out1"
1

"Ib2"
1
"Out2"
1

"Ib3"
1
"Out3"
1

SubSystem
"Subsystem4"
[2, 3]

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

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]

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

Position
}
Block {
BlockType
Name
Position
}
Block {
BlockType
Name
Position
Port
}
Block {
BlockType
Name
Position
Port
}
Line {
SrcBlock
SrcPort
Points
Branch {
Points
DstBlock
DstPort
}
Branch {
Points
Branch {
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
}
Line {
SrcBlock
SrcPort
Points
Branch {
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort

[375, 187, 395, 223]

Outport
"Out1"
[280, 33, 310, 47]

Outport
"Out2"
[420, 113, 450, 127]
"2"

Outport
"Out3"
[420, 198, 450, 212]
"3"

"In1"
1
[0, 0; 15, 0]
[70, 0]
"Gain1"
1

[0, 50]
"Gain2"
1

[0, 105]
"Gain9"
1

"In2"
1
[0, 0; 15, 0]
"Gain8"
1

[0, 100]
"Gain10"
1

"Gain2"
1
[50, 0; 0, 15]
"Ib2"
1

"Gain8"
1

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

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

Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}

[50, 0; 0, -20]
"Ib2"
2

"Gain9"
1
[50, 0; 0, -5]
"Ib3"
1

"Gain10"
1
[50, 0; 0, -35]
"Ib3"
2

"Gain1"
1
"Out1"
1

"Ib2"
1
"Out2"
1

"Ib3"
1
"Out3"
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]

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

Port
}
Block {
BlockType
Name
Position
Port
}
Block {
BlockType
Name
Ports
Position
SourceBlock
SourceType
}
Block {
BlockType
Name
Ports
Position
SourceBlock
SourceType
}
Block {
BlockType
Name
Ports
Position
SourceBlock
SourceType
}
Block {
BlockType
Name
Ports
Position
SourceBlock
SourceType
}
Block {
BlockType
Name
Ports
Position
ShowName
IconShape
Inputs
InputSameDT
OutDataTypeMode
}
Block {
BlockType
Name
Ports
Position
ShowName
IconShape
Inputs
InputSameDT
OutDataTypeMode
}
Block {
BlockType
Name

"2"

Inport
"fp"
[25, 243, 55, 257]
"3"

Reference
"Dot Product"
[2, 1]
[245, 46, 275, 79]
"simulink/Math\nOperations/Dot Product"
"Dot Product"

Reference
"Dot Product1"
[2, 1]
[245, 136, 275, 169]
"simulink/Math\nOperations/Dot Product"
"Dot Product"

Reference
"Dot Product2"
[2, 1]
[260, 201, 290, 234]
"simulink/Math\nOperations/Dot Product"
"Dot Product"

Reference
"Dot Product3"
[2, 1]
[260, 251, 290, 284]
"simulink/Math\nOperations/Dot Product"
"Dot Product"

Sum
"Sum1"
[2, 1]
[350, 95, 370, 115]
off
"round"
"|+-"
off
"Inherit via internal rule"

Sum
"Sum2"
[2, 1]
[350, 210, 370, 230]
off
"round"
"|++"
off
"Inherit via internal rule"

Trigonometry
"Trigonometric\nFunction"

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

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

Ports
Position
}
Block {
BlockType
Name
Ports
Position
Operator
}
Block {
BlockType
Name
Position
}
Block {
BlockType
Name
Position
Port
}
Line {
SrcBlock
SrcPort
Points
Branch {
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
Points
Branch {
Points
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
Points
Branch {
Points
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}

[1, 1]
[165, 145, 195, 175]

Trigonometry
"Trigonometric\nFunction1"
[1, 1]
[170, 55, 200, 85]
"cos"

Outport
"Out1"
[395, 98, 425, 112]

Outport
"Out2"
[395, 213, 425, 227]
"2"

"fp"
1
[5, 0; 0, 5; 25, 0; 0, -95]
"Trigonometric\nFunction"
1

[0, -90]
"Trigonometric\nFunction1"
1

"id"
1
[0, 0; 80, 0]
[0, 230]
"Dot Product3"
1

[90, 0]
"Dot Product"
1

"iq"
1
[0, 0; 70, 0]
[0, 105]
"Dot Product2"
2

[90, 0; 0, 25]
"Dot Product1"
1

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

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

Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
Branch {
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
Branch {
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock

"Dot Product3"
1
[65, 0]
"Sum2"
2

"Dot Product2"
1
"Sum2"
1

"Dot Product1"
1
[80, 0]
"Sum1"
2

"Trigonometric\nFunction"
1
[0, 0; 5, 0]
"Dot Product1"
2

[0, 115]
"Dot Product3"
2

"Dot Product"
1
[55, 0]
"Sum1"
1

"Trigonometric\nFunction1"
1
[0, 0; 15, 0]
"Dot Product"
2

[0, 140]
"Dot Product2"
1

"Sum1"
1
"Out1"
1

"Sum2"
1
"Out2"

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

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

DstPort

}
}
}
Block {
BlockType
Name
Ports
Position
Orientation
ShowName
IconShape
Inputs
InputSameDT
OutDataTypeMode
}
Block {
BlockType
Name
Ports
Position
ShowName
IconShape
Inputs
InputSameDT
OutDataTypeMode
}
Block {
BlockType
Name
Ports
Position
ShowName
IconShape
Inputs
InputSameDT
OutDataTypeMode
}
Block {
BlockType
Name
Ports
Position
ShowName
IconShape
Inputs
InputSameDT
OutDataTypeMode
}
Line {
SrcBlock
SrcPort
Points
Branch {
Points
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Line {

Sum
"Sum"
[2, 1]
[235, 305, 265, 335]
"up"
off
"round"
"+|+"
off
"Inherit via internal rule"

Sum
"Sum1"
[2, 1]
[460, 35, 480, 55]
off
"round"
"|+-"
off
"Inherit via internal rule"

Sum
"Sum2"
[2, 1]
[480, 70, 500, 90]
off
"round"
"|+-"
off
"Inherit via internal rule"

Sum
"Sum3"
[2, 1]
[505, 120, 525, 140]
off
"round"
"|+-"
off
"Inherit via internal rule"

"Induction Machine"
4
[0, 0; 15, 0]
[20, 0; 0, 250]
"Gain3"
1

[0, 145]
"Scope"
1

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

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

SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {

"Subsystem1"
2
[20, 0; 0, 240]
"Integrator1"
1

"Signal\nGenerator"
1
"Subsystem1"
1

"Rotor Flux"
1
[15, 0; 0, -50]
"Subsystem1"
2

"Subsystem4"
1
[15, 0; 0, -15]
"Sum1"
1

"Sum1"
1
"Relay"
1

"Relay"
1
[55, 0]
"Induction Machine"
1

"Subsystem4"
2
"Sum2"
1

"Sum2"
1
"Relay1"
1

"Sum3"
1
"Relay2"
1

"Subsystem4"
3
[20, 0; 0, 30]
"Sum3"
1

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

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

SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
Branch {
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
Points
Branch {
Points
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock

"Gain3"
1
"Integrator2"
1

"Induction Machine"
1
[90, 0; 0, 35; 5, 0]
"Subsystem"
2

[0, 140]
"Subsystem3"
1

"Induction Machine"
2
[0, 10; 75, 0]
[30, 0; 0, 60]
"Subsystem"
4

[0, 180]
"Subsystem3"
2

"Induction Machine"
3
[175, 0]
"Subsystem"
1

"Induction Machine"
6
[175, 0]
"Subsystem"
3

"Relay1"
1
"Induction Machine"
2

"Relay2"
1
[35, 0; 0, -10; 15, 0]
"Induction Machine"
3

"Integrator1"
1
"Sum"

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

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

DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points

"Integrator2"
1
"Sum"
2

"Subsystem3"
1
[-130, 0]
"Sum1"
2

"Subsystem3"
2
[-110, 0]
"Sum2"
2

"Subsystem3"
3
[-85, 0]
"Sum3"
2

"Subsystem1"
3
[50, 0; 0, -20]
"Subsystem5"
2

"Subsystem5"
1
"Subsystem4"
1

"Subsystem5"
2
"Subsystem4"
2

"Subsystem1"
1
"Subsystem5"
1

"Sum"
1
[0, -120; -25, 0]
"Subsystem5"
3

"Induction Machine"
8
[20, 0; 0, 100]

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

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

DstBlock
DstPort

"Scope"
2

}
}
}

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

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,

Si =

1 when upper switch is on


0 when lower switch is on

Figure 1.

Voltage vectors for 3-phase VSI

Direct Flux Control


The IM stator voltage equation is given by:

(3)

Where v s , i s , and 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 = v s t

(4)

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,

dT
dt

t =0

sl

t =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

Table 1 Voltage vectors look-up table.

"

""
"
""

"

"

""
"
""

"

vs,4
Sector II

vs,3
vs,4

Sector I

vs,4
vs,3

vs,5

vs,2
vs,6

vs,2

vs,3

vs,1

vs,3

Figure 3

Flux control within the hysteresis band

Figure 4
#$

%& '

&%()*
+
,
) () 3 . 45

'- .)
678

Basic DTC
* - //

0 )

*0 )/

) 1)) 2

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]

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]

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]

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

OutScaling
SignalType
SamplingMode
Interpolate

"2^0"
"auto"
"auto"
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]

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
VerticalAlignment
ForegroundColor
BackgroundColor
DropShadow
FontName
FontSize
FontWeight
FontAngle
}
LineDefaults {
FontName
FontSize
FontWeight
FontAngle
}
System {
Name
Location
Open
ModelBrowserVisibility

"center"
"middle"
"black"
"white"
off
"Helvetica"
10
"normal"
"normal"

"Helvetica"
9
"normal"
"normal"

"DTC_hysteresis"
[2, 74, 1014, 724]
on
off

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

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]

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]

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

BlockType
Name
Position
Gain
}
Block {
BlockType
Name
Position
Gain
}
Block {
BlockType
Name
Ports
Position
}
Block {
BlockType
Name
Ports
Position
Inputs
}
Block {
BlockType
Name
Position
InitialOutput
}
Block {
BlockType
Name
Position
Port
InitialOutput
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}

Gain
"Gain6"
[140, 183, 180, 207]
"-0.33333"

Gain
"Gain7"
[135, 63, 175, 87]
"0.66666"

Sum
"Ib"
[2, 1]
[240, 255, 260, 275]

Sum
"Ib1"
[3, 1]
[260, 87, 280, 123]
"+++"

Outport
"d"
[330, 60, 350, 80]
"0"

Outport
"q"
[310, 250, 330, 270]
"2"
"0"

"Ib1"
1
[15, 0; 0, -35]
"d"
1

"Gain7"
1
[30, 0; 0, 20]
"Ib1"
1

"in_1"
1
[40, 0; 0, 15]
"Gain7"
1

"Gain6"
1
[30, 0; 0, -90]
"Ib1"
2

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

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

Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
Branch {
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
Points
Branch {
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
}
}
Block {
BlockType
Name
Ports
Position
Outputs
}
Block {
BlockType

"Gain5"
1
[25, 0; 0, -40]
"Ib1"
3

"in_3"
1
[40, 0; 0, 5]
"Gain6"
1

[0, 115]
"Gain4"
1

"in_2"
1
[20, 0; 0, 30]
"Gain5"
1

[0, 105]
"Gain3"
1

"Gain3"
1
"Ib"
1

"Gain4"
1
[30, 0; 0, -40]
"Ib"
2

"Ib"
1
"q"
1

Demux
"Demux"
[1, 5]
[420, 91, 460, 149]
"5"

Gain

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

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

Name
Position
Orientation
Gain

"Gain1"
[150, 407, 175, 433]
"left"
"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]

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

Name
Ports
Position
Inputs
}
Block {
BlockType
Name
Ports
Position
Orientation
Inputs
}
Block {
BlockType
Name
Position
InitialOutput
}
Block {
BlockType
Name
Position
Port
InitialOutput
}
Block {
BlockType
Name
Position
Port
InitialOutput
}
Block {
BlockType
Name
Position
Orientation
Port
InitialOutput
}
Block {
BlockType
Name
Position
Port
InitialOutput
}
Block {
BlockType
Name
Position
Port
InitialOutput
}
Block {
BlockType
Name
Position
Orientation
Port
InitialOutput
}
Block {
BlockType

"Mux"
[3, 1]
[260, 104, 290, 136]
"3"

Sum
"Sum"
[2, 1]
[440, 287, 460, 323]
"left"
"+-"

Outport
"isd"
[630, 25, 650, 45]
"0"

Outport
"isq"
[625, 70, 645, 90]
"2"
"0"

Outport
"ird"
[600, 140, 620, 160]
"3"
"0"

Outport
"speed"
[90, 410, 110, 430]
"left"
"4"
"0"

Outport
"Vd"
[265, 50, 285, 70]
"5"
"0"

Outport
"irq"
[595, 185, 615, 205]
"6"
"0"

Outport
"Vq"
[90, 285, 110, 305]
"left"
"7"
"0"

Outport

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

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

Name
Position
Port
InitialOutput
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
Branch {
Points
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
Points
Branch {
Points
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
Points
Branch {
Points
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Line {

"Te"
[715, 230, 735, 250]
"8"
"0"

"Demux"
1
[60, 0; 0, -20]
"isq"
1

"Demux"
2
[65, 0; 0, -75]
"isd"
1

"3to2"
2
[0, 0]
[0, 170]
"Vq"
1

[55, 0; 0, -15]
"Mux"
1

"3to2"
1
[0, 0; 25, 0]
[0, -35]
"Vd"
1

[30, 0; 0, 25]
"Mux"
2

"Demux"
5
[45, 0; 0, 145]
[0, 15; -35, 0]
"Sum"
1

[70, 0; 0, -45]
"Te"
1

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

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

SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
Branch {
Points
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort

"Vc"
1
[20, 0; 0, -120]
"3to2"
3

"Vb"
1
[20, 0; 0, -20]
"3to2"
2

"Va"
1
[20, 0; 0, 40]
"3to2"
1

"1/J"
1
[0, 0; -25, 0]
[0, -175]
"Mux"
3

[-15, 0; 0, 115]
"Gain1"
1

"Mux"
1
"IM1"
1

"IM1"
1
"Demux"
1

"Sum"
1
"Integrator"
1

"Integrator"
1
"1/J"
1

"1/J1"
1
[190, 0; 0, -45]
"Sum"
2

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

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

}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
Branch {
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Annotation {
Name
Position
VerticalAlignment
}
}
}
Block {
BlockType
Name
Ports
Position
Orientation
FunctionName
}
Block {
BlockType
Name
Ports
Position
Location
Open
NumInputPorts
ZoomMode
List {
ListType
axes1
axes2
axes3
}
List {
ListType
axes1
axes2
axes3
}

"Demux"
3
[30, 0; 0, 75]
"irq"
1

"Demux"
4
[25, 0; 0, 20]
"ird"
1

"Gain1"
1
[0, 0; -10, 0]
"speed"
1

[0, -60]
"1/J1"
1

"q"
[482, 87]
"top"

"S-Function"
"S-Function2"
[1, 1]
[220, 355, 270, 375]
"left"
"flxp2"

Scope
"Scope"
[3]
[560, 214, 590, 246]
[249, 259, 660, 649]
on
"3"
"yonly"
AxesTitles
"%<SignalLabel>"
"%<SignalLabel>"
"%<SignalLabel>"

SelectedSignals
""
""
""

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

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

TimeRange
YMin
YMax
DataFormat
}
Block {
BlockType
Name
Ports
Position
Location
Open
NumInputPorts
ZoomMode
List {
ListType
axes1
}
List {
ListType
axes1
}
TimeRange
YMin
YMax
SaveName
DataFormat
}
Block {
BlockType
Name
Ports
Position
Location
Open
NumInputPorts
ZoomMode
List {
ListType
axes1
}
List {
ListType
axes1
}
TimeRange
YMin
YMax
SaveName
DataFormat
}
Block {
BlockType
Name
Position
Orientation
WaveForm
Amplitude
Frequency
}
Block {
BlockType
Name
Position
Orientation

"0.1"
"-0.1~-20~-15"
"2~20~15"
"StructureWithTime"

Scope
"Scope1"
[1]
[560, 144, 590, 176]
[667, 408, 991, 647]
on
"1"
"yonly"
AxesTitles
"%<SignalLabel>"

SelectedSignals
""
"0.01"
"-0.1"
"2"
"ScopeData1"
"StructureWithTime"

Scope
"Scope2"
[1]
[325, 184, 355, 216]
[667, 110, 991, 349]
on
"1"
"yonly"
AxesTitles
"%<SignalLabel>"

SelectedSignals
""
"0.01"
"-20"
"20"
"ScopeData2"
"StructureWithTime"

SignalGenerator
"Signal\nGenerator"
[640, 320, 670, 350]
"left"
"square"
"-15"
"15"

Step
"Step"
[545, 380, 575, 410]
"left"

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

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

Time
After

"0.001"
"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]

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

}
Block {
BlockType
Name
Position
Port
InitialOutput
}
Block {
BlockType
Name
Position
Port
InitialOutput
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}

Outport
"Sb"
[395, 105, 415, 125]
"2"
"0"

Outport
"Sc"
[350, 170, 370, 190]
"3"
"0"

"Flx ang"
1
"Mux"
3

"Demux"
3
[0, 55]
"Sc"
1

"Flx,err"
1
"Mux"
2

"Demux"
2
"Sb"
1

"T,err"
1
"Mux"
1

"Demux"
1
[0, -70]
"Sa"
1

"Mux"
1
"S-Function1"
1

"S-Function1"
1
"Demux"
1

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

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]

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

BlockType
Name
Position
Orientation
Gain
}
Block {
BlockType
Name
Position
Orientation
Gain
}
Block {
BlockType
Name
Position
Orientation
InitialOutput
}
Block {
BlockType
Name
Position
Orientation
Port
InitialOutput
}
Block {
BlockType
Name
Position
Orientation
Port
InitialOutput
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort

Gain
"Gain2"
[295, 222, 320, 248]
"left"
"240"

Gain
"Gain3"
[285, 57, 310, 83]
"left"
"240"

Outport
"out_1"
[160, 60, 180, 80]
"left"
"0"

Outport
"out_2"
[165, 155, 185, 175]
"left"
"2"
"0"

Outport
"out_3"
[175, 225, 195, 245]
"left"
"3"
"0"

"in_5"
1
"Gain3"
1

"in_6"
1
"Gain1"
1

"in_7"
1
"Gain2"
1

"Gain3"
1
"out_1"
1

"Gain1"
1
"out_2"
1

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

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

}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}

"Gain2"
1
"out_3"
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]

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

BlockType
Name
Position
Port

Inport
"iq"
[25, 193, 55, 207]
"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]

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

Block {
BlockType
Name
Position
InitialOutput
}
Block {
BlockType
Name
Position
Port
InitialOutput
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
Branch {
Points
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Annotation {
Name
Position
VerticalAlignment
}
}
}
Block {
BlockType
Name
Position
Gain
}

Outport
"r"
[295, 75, 315, 95]
"0"

Outport
"theta"
[295, 130, 315, 150]
"2"
"0"

"x->theta"
1
"theta"
1

"y"
1
"Mux"
2

"x"
1
"Mux"
1

"x->r"
1
"r"
1

"Mux"
1
[15, 0]
[0, 25]
"x->theta"
1

[0, -30]
"x->r"
1

"Cartesian to Polar"
[167, 37]
"top"

Gain
"Gain2"
[170, 167, 195, 193]
"Rs"

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

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

Block {
BlockType
Name
Position
Gain
}
Block {
BlockType
Name
Ports
Position
}
Block {
BlockType
Name
Ports
Position
}
Block {
BlockType
Name
Ports
Position
Inputs
}
Block {
BlockType
Name
Ports
Position
Inputs
}
Block {
BlockType
Name
Position
}
Block {
BlockType
Name
Position
Port
InitialOutput
}
Block {
BlockType
Name
Position
Port
InitialOutput
}
Block {
BlockType
Name
Position
Port
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock

Gain
"Gain3"
[170, 112, 195, 138]
"Rs"

Integrator
"Integrator"
[1, 1]
[315, 85, 345, 115]

Integrator
"Integrator1"
[1, 1]
[310, 165, 340, 195]

Sum
"Sum6"
[2, 1]
[240, 90, 260, 110]
"+-"

Sum
"Sum7"
[2, 1]
[240, 145, 260, 165]
"+-"

Outport
"flxsdv"
[500, 28, 530, 42]

Outport
"flxsv"
[550, 88, 580, 102]
"2"
"0"

Outport
"angflxsv"
[480, 123, 510, 137]
"3"
"0"

Outport
"flxsqv"
[435, 203, 465, 217]
"4"

"Sum6"
1
"Integrator"
1

"Sum7"

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

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

SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
Branch {
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
Points
Branch {
Points
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points

1
"Integrator1"
1

"Gain3"
1
[25, 0]
"Sum6"
2

"Gain2"
1
[0, -10]
"Sum7"
2

"vd"
1
[60, 0; 0, 55]
"Sum6"
1

"Integrator"
1
[0, 5; 25, 0]
"Cartesian to Polar"
1

[0, -70]
"flxsdv"
1

"Integrator1"
1
[50, 0]
[0, -50]
"Cartesian to Polar"
2

[0, 30]
"flxsqv"
1

"Cartesian to Polar"
1
[75, 0]
"flxsv"
1

"id"
1
[0, 20]

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

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

DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}

"Gain3"
1

"Cartesian to Polar"
2
"angflxsv"
1

"vq"
1
"Sum7"
1

"iq"
1
[0, -20]
"Gain2"
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]

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

Position
Orientation
OnSwitchValue
OffSwitchValue
}
Block {
BlockType
Name
Position
Orientation
OnSwitchValue
OffSwitchValue
OnOutputValue
OffOutputValue
}
Block {
BlockType
Name
Ports
Position
Orientation
}
Block {
BlockType
Name
Position
Orientation
InitialOutput
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
Branch {
Points
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}

[185, 58, 215, 82]


"left"
"Th/2"
"0"

Relay
"Relay1"
[185, 123, 215, 147]
"left"
"0"
"-Th/2"
"0"
"-1"

Sum
"Sum3"
[2, 1]
[55, 105, 75, 125]
"left"

Outport
"out_1"
[15, 105, 35, 125]
"left"
"0"

"Sum3"
1
"out_1"
1

"Relay1"
1
[-75, 0]
"Sum3"
2

"Relay"
1
[-65, 0]
"Sum3"
1

"in_1"
1
[-20, 0]
[0, 30]
"Relay1"
1

[-5, 0]
"Relay"
1

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

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

}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
Branch {
Points
Branch {
Points
DstBlock
DstPort
}
Branch {
Points
DstBlock
DstPort
}
}
Branch {
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
Points
Branch {
Points
Branch {

"Induction Machine"
5
[30, 0; 0, -100]
"stator flux - voltage model"
1

"Induction Machine"
1
[110, 0]
"stator flux - voltage model"
2

"Induction Machine"
2
[70, 0; 0, 35]
"stator flux - voltage model"
4

"Induction Machine"
7
[15, 0; 0, -70]
"stator flux - voltage model"
3

"stator flux - voltage model"


3
[40, 0; 0, 270]
"S-Function2"
1

"Induction Machine"
8
[20, 0; 0, 20]
[0, 90; 140, 0]
[165, 0]
"Sum2"
1

[0, -60]
"Scope"
2

"Scope2"
1

"stator flux - voltage model"


2
[65, 0; 0, 95]
[0, 60]

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

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

Points
DstBlock
DstPort
}
Branch {
DstBlock
DstPort
}
}
Branch {
DstBlock
DstPort
}
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort

[0, 165]
"Sum4"
1

"Scope"
1

"Scope1"
1

"Voltage-controlled\nPWM-VSI1"
1
[20, 0; 0, -25]
"Induction Machine"
1

"Voltage-controlled\nPWM-VSI1"
2
"Induction Machine"
2

"Voltage-controlled\nPWM-VSI1"
3
[20, 0; 0, 25]
"Induction Machine"
3

"Subsystem"
1
[-80, 0; 0, -195]
"Voltage-controlled\nPWM-VSI1"
1

"Subsystem"
2
[-70, 0; 0, -205]
"Voltage-controlled\nPWM-VSI1"
2

"Subsystem"
3
[-60, 0; 0, -215]
"Voltage-controlled\nPWM-VSI1"
3

"flux\nhysterisis"
1
[-40, 0; 0, -55]
"Subsystem"
2

"Sum4"
1

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

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

DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
DstBlock
DstPort
}
Line {
SrcBlock
SrcPort
Points
DstBlock
DstPort
}

"flux\nhysterisis"
1

"Step"
1
"Sum4"
2

"torquehys"
1
[-60, 0; 0, -20]
"Subsystem"
1

"Sum2"
1
"torquehys"
1

"Signal\nGenerator"
1
"Sum2"
2

"S-Function2"
1
"Subsystem"
3

"Induction Machine"
4
[45, 0; 0, 120]
"Scope"
3

}
}

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

You might also like