Upload
prabhaharan-ellaiyan
View
190
Download
7
Embed Size (px)
DESCRIPTION
Electrical
Citation preview
Electrical Drives
Electrical Drives
MEP 14222004/2005-02 Module 1. Introduction to drives:
Elements in electrical drives, overview of DC and AC drives. Torque equations, Components of load torque, torque characteristics. Four-quadrant operationNotes on Introduction to Electromechanical Energy Conversion
Module 2 Converters in electric drive systems:
Controlled rectifier, Linear scheme, Non-linear scheme, Switched-mode converters - average model and transfer function, Two-quadrant converters, Four-quadrant converters, Bipolar switching, Unipolar switching, Current-controlled converters, Fixed switching frequency control, Hysteresis controlExample of Simulink file for 2-Q converter (switching and average model)Current ripple in 4 Q converterSpace Vector Modulation (SVM)
Module 3 DC motor drives
DC drives in power point format, in .pdfConstruction, modeling and transfer function, Converters for DC drives – quadrant of operations.MATLAB–based controller design method – hereLinear analysis in SimulinkLarge signal simulation using SIMULINK – here
http://encon.fke.utm.my/courses/mep1422/modules.html (1 von 2) [17.05.2005 17:09:50]
Electrical Drives
Module 4. Induction motor drivesDynamic model of induction machineConstruction and principle of operations, Speed Control-
constant V/f, Scalar control – problems at low speed, current
Simulink example on open-loop constant V/Hz using SIMULINK s-function for IM simulationCompiled with Borland C - here
Current controlled and voltage boost, open-loop and closed-loop control.Field-oriented control of IM: Rotor flux orientation Stator flux orientation Simulink example on indirect FOC IM – requires imch.dllPPoint for principles of direct torque control and in pdfDirect Torque Control using SIMULINK and the required *.dll files for the S-function
http://encon.fke.utm.my/courses/mep1422/modules.html (2 von 2) [17.05.2005 17:09:50]
! "
# $%
&
'
(
)
!
)*
*
&
+
&µ
(
,
)) * * - #
$%#
.# # -# &
&
&!/ # 0 # 1 & 2$ % 0 0 .
) /0
$%
####
*
(0 0 &' 0&
$%2&'0
!!
- # 0* * 0 3 # 4567 &# $%# ## # 4587 2 $$&%%# #9$/:%$*%
#)
• 0
• #$%
• 0 ;
• /# 0$ %0
• . 0 0
• # 0
0
"
#$#$%&'
, /
* . <'=7$%
*= )$>%*= ,$>%<= ) $?%
ω= $'%
.
ω'=7*=*
/0 **@ .
( !
ωωωω
)
( )dtJd
TT mle
ω+=
( )dtJd mω
dtd
JTT mle
ω+=
J1
ω θA
*
*
*
!#$+
,1B $% /*/ /0
*/1
*"" $*=-ω% * *& 0 .**$% 2*2 *2
*2=Cω?.*2*"$%* *, *, ..
*
*
*
*/
ω)ω)
*/
*
ω
,
**
?, C*-** ω++ω+=
2*Cω?
ω++ω= -*
<* ,
!#$-@
*
# %$.#$!!'
*ω*D * $ % * *EE *......."
ω ω
ω ω
ω
T
**
**
/
F.- * $
=*ω% ! * F..* * GD * * * F...* * * * * F."**GD * * *
G.K. Dubey, “Fundamental of Electrical Drives”, Narosa, 1994. N. Mohan, “Power Electronics: Converters, applications and design” John Wiley and Sons, 1995.
ELECTROMECHANICAL ENERGY CONVERSION
Electromechanical energy conversion process involves three forms of energy:
electrical, magnetic field and mechanical. In rotating electrical machines,
energy is continuously converted from electrical to mechanical, or vice versa.
Electrical motors converts electrical energy to mechanical energy and it is
reversed in the case of generators. In both cases, magnetic field acts as a
medium in the process of electromechanical energy conversion. We will look (or
review) the process
of electromechanical energy conversion of a simple
translational system for a non-linear and linear magnetic system. We will then
apply this basic principle to a rotating machine.
Example of electromechanical system
The characteristic of the flux linkage and current (λ-i) of a system shown in
Fig 1 is determined by the B-H characteristic of the core and the length of
the air-gap. With small air-gap length, g, the
λ-i characteristic is dominated
by the B-H characteristic of the core which has a non-linear characteristic
due to the core magnetic saturation. With large g, however, the linear
magnetic characteristic of the air-gap will dominate. Thus for large air-gap
system the
λ-i curve of the system displays a linear characteristic. If a
linear system is assumed, all of the mmf drops appear across the air-gap. In
other words, it is assumed that the reluctance of the core is negligibly small
compared to that of the air-gap’s reluctance. This assumption is based on the
fact that the magnetic permeability of the core is much larger than the air-
gap permeability. The
λ-i curves for different air-gap values are therefore
linear.
Fig. 1
−
−
non-linear system
linear system
Fig. 2
The differential relation between the 3 forms of energy exists in the system
can be written as:
dWe = dWf + dWm
(1)
Where dWe – differential change in electrical energy
dWf - differential change in field energy
dWm - differential change in mechanical energy
If the position of the moving part is fixed (air-gap length is fixed, thus dWm
= 0) and the current in the coil is increased from 0 to ix , the field energy
will increase and is given by:
dWe = e.i dt = dWf
(2)
Substituting e = dλ/dt,
dWf = i dλ
(3)
If the flux linkage increased from 0 to λ
x , the stored energy can be written as:
λ
λ=
x
0f
id
W
(4)
λx
ix
λ
co-energy
energy
λ
λ
Fig. 3
The co-energy, which is used later to calculate the force, in this particular
example is defined as:
λ
=ix
0f
di
'W
(5)
It should be noted that for a linear system, Wf = Wf ’
If the moving part is allow to move slowly, from x = x1 to x = x2 , such that
the air-gap is reduced, the rate of change of flux linkage will be very small
during this movement and hence the current can be assumed to be constant.
Fig. 4
The mechanical force associated with this movement can be obtained if the
change in mechanical energy is known. Thus,
dWm = dWe - dWf
(6)
During the motion, dWe = e.i dt = i dλ. Hence
λλ
λ=
2x1x
eid
W
The change in the stored field energy can be obtained by calculating the
difference in stored energy between the two positions.
It can be shown graphically that Wm is given by the shaded area of Fig.4 which
essentially is the increase in co-energy. Thus:
dWm = dWf ’
Since dWm = f dx, the mechanical force can be calculated as:
ttan
cons
i
fm
x
)x,i
('W
f=
∂∂
=
(7)
If
the movement
of
the moving part is very fast (i.e.
for the same
displacement but for a very short time), the change in flux linkage can be
assumed negligible. However, the rate of change of the flux linkage with time
is finite and hence causes the current to decrease during this movement. It
can be graphically shown that the mechanical energy is given by the shaded
λ
λ
area of Fig 5, which is a reduction in field energy. Thus the mechanical force
is given by:
ttan
cons
fm
x
)x,i
(W
f=
λ∂
∂−
=
(8)
If the differential movement is small, the shaded area of Fig 4 and Fig 5 is
the same. Hence the force calculated using equation (7) and (8) will be the
same.
Fig. 5
Linear system
For linear system, the flux linkage is proportional to the current, where the
constant of proportionality is the inductance of the coil. The inductance
however depends on the position, x. Thus,
λ = L(x)i
(9)
The co-energy is given by:
)x(L
i2 1
di
'W
2i0
f=
λ=
(10)
Using equation (7),
dx
)x(
dL
i2 1
x
)x,i
('W
f2
ttan
cons
i
fm
=∂
∂=
=
(11)
Rotating machines
Fig 6 shows a general rotating machine with salient stator and salient rotor.
Both stator and rotor are exited (doubly–fed). We are interested in obtaining
the electromagnetic torque expression of the system. We can do this by
obtaining the expression for the co–energy (or energy) and differentiate it
with respect to x for constant current (or constant flux).
λ
λ
Fig. 6
With no rotation (rotor not moving), the stored field energy can be calculated
as:
dWf = es i
s dt + er i
r dt
(12)
Substituting es = dλ
s /dt and er =dλ
r /dt,
dWf = is dλ
s + ir dλ
r
(13)
The flux linkage of the stator winding can be expressed in terms of stator
self inductance and mutual inductance:
λs = Lss i
s + Lsr i
r
(14)
The first term of (14) is the flux linkage of the stator winding caused by the
stator current whereas the second term is caused by the rotor current.
Similarly, the flux linkage of the rotor winding can be expressed as,
λr = Lrr i
r + Lsr i
s
(15)
Substituting (14) and (15) into (13),
dWf = Lss i
s dis + Lrr i
r dir + Lsr d(is i
r )
(16)
For a linear system, Wf = Wf ’. It can be shown that for rotational systems,
=θ∂
θ∂
=
(17)
Thus the torque is given by:
θ+
θ+
θ=
d dL
ii
2 1
d dL
i2 1
d dL
i2 1
Tsr
rs
rr
2rss
2s
(18)
Based on equation (18), two types of torque can be classified:
θ
i)
Reluctance torque (the first two terms of equation (18)). It is caused
by a tendency of the induced pole to align with the excited pole such
that minimum reluctance is produced. The torque only exists if the
stator or rotor (or both) self inductances depends on the rotor position.
This can exists if: 1) both stator and rotor are salient, 2) either
stator or rotor is salient. In other words, in a cylindrical machine
(whereby both stator and rotor are non-salient) reluctance torque will
not exist. Further it can be seen that both stator and rotor need not to
be excited at the same time.
ii)
Alignment torque (the third term of equation (18)). It is caused by a
tendency of the excited rotor to align with excited stator. Both
windings must be excited. The mutual inductance depends on rotor
position regardless of whether the stator or rotor is salient or not. In
other words, the alignment torque exists even if both stator and rotor
is not salient. In induction machines, rotor current is produced through
induction rather than excitation by external circuit, as in the case of
cylindrical synchronous machines.
Stator - non-salient Rotor – salient
- Stator self inductance depends on
rotor position
- Rotor self inductance does not
depend on rotor position
Stator - salient Rotor – salient
- Stator self inductance depends on
rotor position
- Rotor self inductance depends on
rotor position
Stator - salient Rotor – non-salient
- Stator self inductance does not
depend on rotor position
- Rotor self inductance depends on
rotor position
Stator - salient Rotor – non-salient
- Stator self inductance does not
depend on rotor position
- Rotor self inductance does not
depend on rotor position
CONVERTERS IN ELECTRIC DRIVE SYSTEMS
CONTROLLED RECTIFIER
We have seen in previous course (undergraduate course) that a relation between the
average voltage and the firing angle (or delay angle) of a single-phase controlled
rectifier is given by:
where α
is the delay angle, Vm is the peak input voltage and Va is the average
voltage. Note that this relation is only valid for continuous current mode. It
describes the ‘average’ behavior of the rectifier over a period of the output voltage.
The dynamic characteristic of the controlled rectifier is however very non–linear
which can be described by non–linear differential equations. In order to simplify the
designed of the controller containing controlled–rectifier circuit, an approximation
using the average value is normally used. This approximation is however valid
provided that the bandwidth of the control loop is maintained well below half of the
maximum time for the average voltage to change. For instance, if a 3-phase system,
50Hz system is used as the input to the full-wave controlled rectifier, then, the
time taken for the average voltage to change varies between 0 to 3.33 ms ((1/50)/6).
The average time of 3.33ms/2 = 1.67 ms is taken. If this delay is not to be used in
the model, the bandwidth of the drive must be made much smaller than 600 Hz.
The SCRs are normally triggered based on the control signal generated, for example,
by a current controller. Depending on the firing circuit used, a linear or a non–
linear relation between vc and Va can be obtained.
απ
=
α
α=
=
α
π=
α=
π=
MODELING OF SWITCH-MODE CONVERTERS IN ELECTRIC DRIVES
Introduction
Modeling
is
a
simplified
representation
of
a
physical
system.
In
electrical
engineering, physical systems are normally modeled using mathematical equations.
The complexity of the developed model of power electronic converters will depend on
the applications of the model. For instance, a model for a switching device used to
analyze its switching characteristic or switching losses is different from a model
develop used to study the fundamental behavior of a converter containing that
particular switching device.
Here we will look on how switch-mode converters used in DC drives are modeled. The
application of our model is in the designing of linear controllers for drive systems
using linear control system theory. We therefore need to obtain the linear models of
the converters, i.e. we need to establish a linear relation between the control
signal and the average output voltage.
Two typical switch-mode converters used in DC drives are the 2-quadrant and 4-
quadrant converters shown below. We will assume that the converters obtained the
switching signals from a comparison between control signal vc
and a triangular
waveforms.
Two-quadrant converter
As in all other converters, the status of the upper and lower switches in a leg, must
always complement, i.e. if the upper switch is on, the lower switch must be off or
vice versa- thus only one control signal is required to control a leg of a two-
quadrant converter.
If the upper switch is ON, the output voltage, vo equals Vdc and if the lower switch
is ON vo = 0. The instantaneous output voltage will swing between Vdc and 0, however
its average value depends on how long the switch upper (or lower) switch is ON.
ω
Four-quadrant
+ va –
Two-quadrant
+
Va
-
We will assume the control signals for the switches are obtained as a result of
comparison between the control signal and a triangular
The output of the comparator is obtained as follows:
when vc > vtri , upper switch ON
(1)
when vc < vtri , lower switch ON
Obviously, the waveform of va will follow that of q. The instantaneous value of va is
given by: va = q(Vdc ) The average value of va will depend on the duty ratio of q and
the duty ratio of q in turn depends on the control signal vc . We can obtain the
relation between the average voltage Va and the duty ratio d by calculating the
average value of va in terms of d.
Where d = ton /T
(2)
d is in fact an average value of q over a cycle and therefore have a range of between
0 and 1, thus,
(3)
=
0 1q
dc
dT
0dc
adV
dtV
T 1V
s
==
dtq
T 1d
triT
tttri
+
=
!
If the triangular frequency is high and therefore is much larger than the control
signal, d can be assumed continuous. However when selecting the bandwidth of the
closed-loop system, the discrete values of d must be taken into account, i.e. the
bandwidth must be limited to one or two order lower than the triangular frequency.
The relation between d and vc is obtained as follows:
When vc = Vtri,p , d = 1, when vc = -Vtri,p , d = 0.
Assuming d is continuous, the relation between d and vc is obtained as:
(4)
The relation between vc and Va can be obtained by substituting (4) into (2),
(5)
If we want to include the converter into our closed-loop model of a DC drive system,
we need to obtain the small signal transfer function between vc and Va . This is done
by introducing small signal perturbation in Va and vc .
(6)
Separating the dc and ac components,
!
p,tri c
V2 v5.
0d
+=
cp,
tri
dcdc
av
V2 VV5
.0V
+=
()
()c
cp,
tri dcdc
aa
v ~v
V2 VV5
.0v ~
V+
+=
+
"
DC
:
(7)
AC
:
(8)
By taking Laplace transform of equation (8), the small signal transfer function
between vc and VA can be obtained.
Four-quadrant converter
The model developed for the two-quadrant converter can be used as a building block in
developing the model for the four-quadrant converter. As illustrated in the figure
below, the 4-quadrant converter is composed of two legs, with each leg similar to
that of the 2-quadrant converter. We will consider two switching schemes normally
employed: (1) Bipolar switching scheme (2) unipolar switching scheme.
The instantaneous voltage va can be made either equals Vdc , -Vdc or 0.
Va = Vdc
when Q1 and Q2 are ON
va = -Vdc
when Q3 and Q4 are ON
va = 0
when current freewheels through Q and D
Therefore the output voltage va can swing between Vdc and –Vdc , Vdc and 0 or 0 and Vdc ,
which is determined by the switching scheme chosen:
cp,
tri
dcdc
av
V2 VV5
.0V
+=
cp,
tri
dca
v ~V2 V
v ~=
p,tri
dc
V2 V #$
#
$
%
&
+ va –
'
'
'
'
"
(
(
Bipolar switching
Leg A and Leg B obtained the switching signals from the same control signal. This
implies that switching of Leg A and Leg B are always complements.
In a forward breaking mode where the average voltage Va is positive and smaller than
the back emf of the armature, current will flow through D1 and D2 when va = Vdc and
will flow through Q3 and Q4 when va = -Vdc
Using the comparison between the control signal and triangular waveform as shown in
Figure 7, the resultant q and q is as below:
)
%
&
*
!
!
*
From previous analysis, the average voltage for Leg A and Leg B is given by:
VAO = dA (Vdc ) and VBO = dB (Vdc )=(1-dA )(Vdc )
(9)
Similarly relation between vc and dA and dB can be written as:
For Leg A
(10)
For Leg B
(11)
We are interested in the voltage across the armature circuit, VAB
VAB = VAO – VBO = (dA – (1-dA ))Vdc = (2dA -1)Vdc
(12)
Substituting dA from (10) into (12) gives,
(14)
By taking the Laplace transform of the ac components in (14), the transfer function
between the vAB (s) and vc (s) is obtained:
(15)
!
+
!
+
,
p,tri c
AV2 v
5.0
d+
=
p,tri c
BV2 v
5.0
d−
=
cp,
tri dcA
Bv
V VV
=
)s(
vV V
)s(
vc
p,tri dc
AB
=
-
Unipolar switching
The switching signals for Leg B is obtained from the inverse of control signal for
Leg A. This is illustrated in Figure 10. According to our previous analysis, the
continuous duty ratio for Leg A, dA , is given by:
(16)
Since Leg B uses the inverse control signal , accordingly the continuous duty ratio
for Leg B is given by:
(17)
This gives and average armature voltage as,
VAB = (dA – dB )Vdc =
(18)
The transfer function obtained for unipolar switching scheme is therefore similar to
the bipolar switching scheme.
p,tri dc
V V #$
#
$
-
p,tri c
AV2 v
5.0
d+
=
p,tri c
BV2 v
5.0
d−
=
cp,
tri dcv
V V
!
,
!.
.
-
CURRENT-CONTROLLED CONVERTER
DC and AC industrial drives normally employ cascade control structure. It consists of
multiple loops: with inner most loop being the fastest. Typically, the inner most
loop is the torque loop, followed by speed loop and position loop – this is shown in
Figure 12 below.
Figure 1 Cascade control structure
Two main features or advantages of cascade control structure is:
!
!
,
/
!
0
0
,
,
,
1
θ2
2
ω2
3
a)
The control variable of inner loop (e.g. torque) can be limited by
limiting its reference value
b)
It is flexible – outer loop can be readily added or removed depending on
the control requirements
Implementing cascade control structure requires the torque and hence the current to
be controlled. Good current controlled schemes should produce low current ripple,
good tracking capability with zero steady state error, constant switching frequency
regardless of operating conditions, and fast dynamic response. There are two well
known methods normally used to control the current,
i)
fixed switching frequency control – linear controller
ii)
hysteresis (or bang-bang) control – non–linear controller
Fixed switching frequency control
The reference current is compared with the actual current and the error is fed to the
PI controller. The output of the PI controller is compared with the triangular
waveform to determine the duty ratio of the switches – either to increase or reduce
the current. This method resulted in the inverter switches at fixed frequency
regardless of operating conditions. However the bandwidth of the current loop is
limited by the triangular waveform. The bandwidth of the closed–loop system is
normally set to at least an order lower than the triangular frequency.
Figure 2 Fixed frequency current–controlled
For three-phase induction motor with isolated neutral, the 3-phase currents are not
completely independent – i.e. only two phases are independent, the third phase
current can be constructed from the other two phases. In other words, only two
controllers are required. This problem can be eliminated if the control is performed
in d-q axis whereby only two controllers are required. Two variations have been
proposed for this technique: stationary reference frame and synchronous reference
frame. Tracking problem will present if the current control is performed in
stationary reference frame. This will results in the actual current waveform that
will always lag the reference current. The tracking problem can be avoided if the
4
56
synchronous frame is used, however extra work is required to transform the current
from the stationary to the synchronous frames and vice versa. In addition, explicit
knowledge of synchronous frequency is required to perform these transformations. The
reference voltage can be implemented using the well-known modulation techniques such
as Sinusoidal Pulse Width Modulation (SPWM) or Space Vector Modulation (SVM).
Hysteresis control
The reference current is compared with the actual torque using hysteresis comparator.
The output of the hystresis comparator will determine whether the current need to be
increased or decreased. For instance, when the current touches the upper band,
56
56
!
→.
717
581
76
61
ω
.→
!
2
!2
2
. 2
2
−
−
!
56
56
! →
.
.→
!
717
581
76
61
2
!2
2
. 2
2
!
−
−
9:
;4
9:
;4
current need to be reduced and this is accomplished by turning on the lower switch of
that particular leg. This is illustrated in Figure 5.
Figure 5 Hysteresis–based current–controlled
Hysteresis based controlled has large bandwidth. However, the switching frequency
varies with operating conditions and control signal. Thus the maximum switching
capability of the switching devices must be based on the worst–case condition. If the
simulation does not require detail information regarding the ripple, hysteresis-based
control can be modeled by a simple large DC gain due to its large bandwidth. The non-
linear behavior of the hystersis-based current control can be investigated using
large signal simulation.
As with the fixed frequency control, each phase current not only depend on the
corresponding phase voltage, but also on other phase voltages. In other words, there
is interferences between phases.
The behavior of the hysteresis current control can be described using the complex
plane switching diagram, as shown in Figure 6. The phase components of the current
error vector
∆i (which is the difference between reference current vector and the
actual current vector) can be obtained by resolving it to the respective phase axis.
If the current error of a phase touches the hysteresis band of that particular phase,
it should be switched to the other direction by toggling the switch of that
particular phase. Therefore, ideally, the current error vector should be confined
within
the
hexagonal
defined
by
the
hysteresis
bands.
However,
due
to
the
interactions between phases, the current error may go outside the hysteresis band. As
a result, current error may become as large as twice the hysteresis band (Figure 7)
4
-0.2-0.15
-0.1-0.05
00.05
0.10.15
0.2-0.2
-0.15
-0.1
-0.05 0
0.05
0.1
0.15
0.2
References:
N. Mohan, “Power Electronics: Converters, applications and design” John Wiley and
Sons, 1995.
N. Mohan, “Electric Drives – an integrative approach” MNPERE, 2000.
W. Leonhard, “Control of electrical drives”, Springer-Verlag, 1984.
J. M. D. Murphy and F.G. Turnbull, “Power electronic control of AC motor”,
Pergamon press, 1988.
%
&:
2
∆
(:
0<0
=
*7
=
<.
;
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 "2^0" SignalType "auto" SamplingMode "auto" Interpolate on Block BlockType Outport Port "1" OutputWhenDisabled "held" InitialOutput "[]" Block BlockType Reference Block BlockType Relay OnSwitchValue "eps" OffSwitchValue "eps" OnOutputValue "1" OffOutputValue "0" ShowAdditionalParam off OutputDataTypeScalingMode "All ports same datatype" OutDataType "sfix(16)" OutScaling "2^0" ConRadixGroup "Use specified scaling" ZeroCross on Block BlockType "S-Function" FunctionName "system" PortCounts "[]" SFunctionModules "''" Block BlockType Sin SineType "Time based" Amplitude "1" Bias "0" Frequency "1" Phase "0" Samples "10" Offset "0" SampleTime "-1" VectorParams1D on Block BlockType SubSystem ShowPortLabels on Permissions "ReadWrite" RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" SimViewingDevice off DataTypeOverride "UseLocalSettings" MinMaxOverflowLogging "UseLocalSettings" Block BlockType Sum IconShape "rectangular" Inputs "++" ShowAdditionalParam off InputSameDT on OutDataTypeMode "Same as first input" OutDataType "sfix(16)" OutScaling "2^0"
http://encon.fke.utm.my/courses/mep1422/rl_2q_average.mdl (4 von 10) [17.05.2005 17:11:15]
http://encon.fke.utm.my/courses/mep1422/rl_2q_average.mdl
LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on Block BlockType ToWorkspace VariableName "simulink_output" MaxDataPoints "1000" Decimation "1" SampleTime "0" Block BlockType TransferFcn Numerator "[1]" Denominator "[1 2 1]" AbsoluteTolerance "auto" Realization "auto" AnnotationDefaults HorizontalAlignment "center" VerticalAlignment "middle" ForegroundColor "black" BackgroundColor "white" DropShadow off FontName "Helvetica" FontSize 10 FontWeight "normal" FontAngle "normal" LineDefaults FontName "Helvetica" FontSize 9 FontWeight "normal" FontAngle "normal" System Name "rl_2q_average" Location [2, 78, 1022, 701] Open on ModelBrowserVisibility off ModelBrowserWidth 212 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "115" ReportName "simulink-default.rpt" Block BlockType Constant Name "Constant" Position [315, 390, 345, 420] Value "100" Block BlockType Reference Name "Dot Product" Ports [2, 1] Position [610, 431, 640, 464] SourceBlock "simulink/Math\nOperations/Dot Product" SourceType "Dot Product" Block BlockType Gain
http://encon.fke.utm.my/courses/mep1422/rl_2q_average.mdl (5 von 10) [17.05.2005 17:11:15]
http://encon.fke.utm.my/courses/mep1422/rl_2q_average.mdl
Name "Gain1" Position [480, 95, 510, 125] Gain "200" Block BlockType Gain Name "Gain3" Position [255, 320, 285, 350] Gain "200/30" Block BlockType Relay Name "Relay" Position [340, 95, 370, 125] OnSwitchValue "0" OffSwitchValue "0" Block BlockType Sin Name "Sine Wave" Position [115, 55, 145, 85] SineType "Time based" Amplitude "2" Frequency "1000" SampleTime "0" Block BlockType SubSystem Name "Subsystem" Ports [0, 1] Position [110, 130, 150, 190] TreatAsAtomicUnit off MaskPromptString "frekuensi|V peak" MaskStyleString "edit,edit" MaskTunableValueString "on,on" MaskCallbackString "|" MaskEnableString "on,on" MaskVisibilityString "on,on" MaskToolTipString "on,on" MaskVarAliasString "," MaskVariables "f=@1;v1=@2;" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "5000|15" System Name "Subsystem" Location [553, 276, 688, 358] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Reference Name "Repeating\nSequence" Ports [0, 1] Position [25, 25, 55, 55] SourceBlock "simulink/Sources/Repeating\nSequence" SourceType "Repeating table"
http://encon.fke.utm.my/courses/mep1422/rl_2q_average.mdl (6 von 10) [17.05.2005 17:11:15]
http://encon.fke.utm.my/courses/mep1422/rl_2q_average.mdl
rep_seq_t "[0 1/(2*f) 1/f]" rep_seq_y "[-v1 v1 -v1]" Block BlockType Outport Name "Out1" Position [80, 33, 110, 47] Line SrcBlock "Repeating\nSequence" SrcPort 1 DstBlock "Out1" DstPort 1 Block BlockType Sum Name "Sum" Ports [2, 1] Position [205, 100, 225, 120] ShowName off IconShape "round" Inputs "+-" InputSameDT off OutDataTypeMode "Inherit via internal rule" Block BlockType Sum Name "Sum1" Ports [2, 1] Position [350, 325, 370, 345] ShowName off IconShape "round" Inputs "|++" InputSameDT off OutDataTypeMode "Inherit via internal rule" Block BlockType ToWorkspace Name "To Workspace1" Position [485, 240, 545, 270] VariableName "vave" MaxDataPoints "inf" SampleTime "-1" SaveFormat "Array" Block BlockType ToWorkspace Name "To Workspace2" Position [255, 20, 315, 50] VariableName "vc" MaxDataPoints "inf" SampleTime "-1" SaveFormat "Array" Block BlockType ToWorkspace Name "To Workspace3" Position [660, 100, 720, 130] VariableName "vau" MaxDataPoints "inf" SampleTime "-1" SaveFormat "Array"
http://encon.fke.utm.my/courses/mep1422/rl_2q_average.mdl (7 von 10) [17.05.2005 17:11:15]
http://encon.fke.utm.my/courses/mep1422/rl_2q_average.mdl
Block BlockType ToWorkspace Name "To Workspace4" Position [925, 160, 985, 190] VariableName "iau" MaxDataPoints "inf" SampleTime "-1" SaveFormat "Array" Block BlockType ToWorkspace Name "To Workspace5" Position [665, 320, 725, 350] VariableName "iave" MaxDataPoints "inf" SampleTime "-1" SaveFormat "Array" Block BlockType ToWorkspace Name "To Workspace8" Position [715, 435, 775, 465] VariableName "iD" MaxDataPoints "inf" SampleTime "-1" SaveFormat "Array" Block BlockType TransferFcn Name "Transfer Fcn" Position [785, 157, 845, 193] Denominator "[0.01 10]" Block BlockType TransferFcn Name "Transfer Fcn1" Position [500, 317, 560, 353] Denominator "[0.01 10]" Line SrcBlock "Sine Wave" SrcPort 1 Points [25, 0] Branch Points [5, 0] Branch Points [0, -35] DstBlock "To Workspace2" DstPort 1 Branch Points [35, 0] DstBlock "Sum" DstPort 1 Branch Points [0, 265] DstBlock "Gain3" DstPort 1 Line SrcBlock "Subsystem" SrcPort 1
http://encon.fke.utm.my/courses/mep1422/rl_2q_average.mdl (8 von 10) [17.05.2005 17:11:15]
http://encon.fke.utm.my/courses/mep1422/rl_2q_average.mdl
Points [60, 0] DstBlock "Sum" DstPort 2 Line SrcBlock "Sum" SrcPort 1 DstBlock "Relay" DstPort 1 Line SrcBlock "Relay" SrcPort 1 Points [65, 0] Branch DstBlock "Gain1" DstPort 1 Branch Points [0, 345] DstBlock "Dot Product" DstPort 2 Line SrcBlock "Gain1" SrcPort 1 Points [20, 0; 0, 45; 80, 0; 0, 20; 30, 0] Branch DstBlock "Transfer Fcn" DstPort 1 Branch DstBlock "To Workspace3" DstPort 1 Line SrcBlock "Transfer Fcn" SrcPort 1 DstBlock "To Workspace4" DstPort 1 Line SrcBlock "Transfer Fcn1" SrcPort 1 Points [30, 0] Branch DstBlock "To Workspace5" DstPort 1 Branch DstBlock "Dot Product" DstPort 1 Line SrcBlock "Dot Product" SrcPort 1 DstBlock "To Workspace8" DstPort 1 Line SrcBlock "Gain3" SrcPort 1
http://encon.fke.utm.my/courses/mep1422/rl_2q_average.mdl (9 von 10) [17.05.2005 17:11:15]
http://encon.fke.utm.my/courses/mep1422/rl_2q_average.mdl
DstBlock "Sum1" DstPort 1 Line SrcBlock "Sum1" SrcPort 1 Points [20, 0] Branch DstBlock "Transfer Fcn1" DstPort 1 Branch Points [0, -80] DstBlock "To Workspace1" DstPort 1 Line SrcBlock "Constant" SrcPort 1 Points [10, 0] DstBlock "Sum1" DstPort 2 Annotation Name "2-quadrant with iD" Position [736, 44] FontName "Arial" FontSize 20 FontWeight "bold" Annotation Name "qA" Position [399, 99]
http://encon.fke.utm.my/courses/mep1422/rl_2q_average.mdl (10 von 10) [17.05.2005 17:11:15]
!
"
!
# $ ! % &! ! '((') * %+# "
, -
.
'"'
'
'"'
'
$"$
.
''
−= *+
'
',' */
0 $"$
( )/
.
' −= *1
2 $"$,(30 ,/"+ * 2 $"$,(43% /, 2
( ).5
'3(3(
./
' / =−= *6
"# "
'"' # " $"$
.
''
−= *3
'
',*/"+' *7
0 $"$
, -'
'
''
'
/
.
'/ −= *4
# 2 ,(3 (3 2 $"$% , 2
( )./
'3(3(
.
'/ / =−= *5
8*6*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 4j j
3 3s a b c
2v v (t) v (t)e v (t)e
3
π π = + +
,
where va, vb and vc are the phase voltages. In 3-phase VSI, there are 8 possible switch configurations, hence there are eight possible voltage vectors that can be generated or obtained from the VSI. SVM utilized these 8 voltage vectors to synthesize the reference voltage. Given a location of the reference voltage in any of the sectors, the actual voltage can be synthesized, within a sampling period, by selecting the two adjacent voltage vectors and zero voltage vectors. For example, if the reference voltage is located in sector 1, voltage vectors v1, v2, v0 and v7 should be selected. This is illustrated in Figure 2
vd*
vq*
Space vector modulator
AC Motor
+ Vd −
Figure 1 Space vector modulator applied to AC motor drive
(2/3)Vd
Sector 1 Sector 3
Sector 4
Sector 5
Sector 2
Sector 6
(1/√3)Vd
[100]
[110] [010]
[011]
[001] [101]
*sv
0 0.005 0.01 0.015 0.02 0.025 0.03
-100
-50
0
50
100 a b c
sector 6 sector 1 sector 2 sector 3 sector 4 sector 5
Figure 3 Sinusoidal reference voltage
Figure 4 Example of modulated waveform in sector 2
000 010 110 111 110 010 000
Phase a
Phase b
Phase c
T T
d
q
Figure 2 Voltage vectors of a 3-phase VSI
T0 T1 T2 T7
The interval for each voltage vector, as shown in Figure 4, is determined by equating volt-second integral of vs with the sum of all voltage vectors within a cycle. Thus, for example in sector 1,
772211oos TvTvTvTvTv ⋅+⋅+⋅+⋅=⋅
Note that v1 and v2 equal dV32
. Thus in terms of d-q components this can be written as:
0T)60sinj60(cosTV32
TV32
0TTv 7oo
2d1dos ⋅++⋅+⋅+⋅=⋅
Also, we need to satisfy the time constraint: T= T0 + T1 + T2 + T7 If we let T0 = T7, we can calculate all the required time intervals. If the angle between the reference voltage and the adjacent vector (to the right of the reference voltage) equals α, it can be shown that for any sector, the time intervals T1 and T2 are given by:
1 s
3 1T T v cos sin
2 3 = ⋅ ⋅ α − α
2 sT 3 T v sin= ⋅ ⋅ α
In the above equation, vs is the normalized reference vector. The interval for the zero voltage vector is given by: T0 + T7 = T – (T1 +T2). The ratio between T0 and T7 essentially control the amount of triplen harmonic components in the fundamental phase voltage. Further readings: PG Handley and JT Boys, “Practical real-time PWM modulators: an assessment” IEE Proceedings-B, Vol 139, No. 2 March 1992 W. Leonhard, “Control of electrical drives”, Springer-Verlag, 1984.
1
DC DRIVES Princ iple o f ope rat ion and c ons truc t ion – a re vie w DC m a ch in e con s is t s of
s ta tor – s ta t ion a ry – wh ere th e field flu x is p rodu ced rotor – rota t in g – wh ere th e a rm a tu re win d in g is p la ced .
Field flu x is ob ta in ed eith er from perm a n en t m a gn et or from field win d in g excita t ion . Field flu x in tera cts with cu r ren t ca r ryin g con du ctors in a rm a tu re to p rodu ce torqu e. Com m u ta tor in a rm a tu re circu it will en s u re th a t th e torqu e p rodu ct ion is a lwa ys m a xim u m , rega rd les s of rotor pos it ion .
Mode ling of DC m otor Th e torqu e is p rodu ced a s a res u lt of in tera ct ion of field flu x with cu r ren t in a rm a tu re con du ctors a n d is given by
Te = k t Φ ia (1 )
wh ere k t is a con s ta n t depen din g on m otor win d in gs a n d geom etry Φ is th e flu x per pole du e to th e field win d in g For th e m otor with wou n d field , th e flu x ca n be va r ied to con t rol th e s peed , bu t for perm a n en t m a gn et m otor , th e flu x is fixed a n d th u s ca n be wr it ten a s :
Te = Ktia wh ere Kt depen ds on th e perm a n en t m a gn et m a ter ia l Th e d irect ion of th e torqu e p rodu ced depen ds on th e d irect ion of th e a rm a tu re cu r ren t Wh en th e a rm a tu re rota tes , th e flu x lin k in g th e a rm a tu re win d in g will va ry with t im e a n d th erefore a ccord in g to Fa ra da y’s la w, a n em f will be in du ced a cros s th e win d in g. Th is gen era ted em f, kn own a s th e ba ck em f, depen ds on s peed of rota t ion a s well a s on th e flu x p rodu ced by th e field a n d is given by:
ea = k t Φ ω (2 ) S im ila r ly, for perm a n en t m a gn et , th is ca n be wr it ten a s :
2
ea = Kt ω Th e pola r ity of th e ba ck em f depen ds on th e d irect ion of th e m otor rota t ion For s epa ra tely excited DC m otor , th e a rm a tu re circu it is s h own : Ra – lu m ped a rm a tu re win d in g res is ta n ce La – s elf in du cta n ce of th e a rm a tu re win d in g ea – a s defin ed before, is th e ba ck em f of th e m otor Us in g KVL,
(3 ) In s tea dy s ta te con dit ion ,
(4 ) In term s of torqu e a n d s peed th e s tea dy s ta te equ a t ion ca n be wr it ten a s :
(5 ) wh ich gives :
(6 ) Th u s th ree m eth ods ca n be u s ed to con t rol th e s peed : Vt , Φ a n d Ra Speed con t rol u s in g a rm a tu re res is ta n ce by a dd in g extern a l res is tor Rext is s eldom u s ed , es pecia lly for la rge m otor du e to th e los s es a s s ocia ted with Ia 2Rext. Vt is n orm a lly con t rol for s peed u p to ra ted s peed . Beyon d ra ted s peed , for s epa ra tely excited DC m otor , th e s peed con t rol is a ch ieved by flu x con t rol, Φ. Wh en s peed con t rol by flu x con t rol is u s ed , th e m a xim u m torqu e ca pa b ility of th e m otor is redu ced s in ce for a given m a xim u m a rm a tu re cu r ren t , th e flu x is les s th a n th e ra ted va lu e a n d th u s th e m a xim u m torqu e p rodu ced is les s th a n th e m a xu m u m torqu e. Als o it s h ou ld be n oted th a t , with perm a n en t m a gn et excita t ion , s peed con t rol u s in g flu x wea ken in g is n ot pos s ib le – th u s m a xim u m s peed of perm a n en t m a gn et m otor is lim ited . Wh en des ign in g con t roller s for DC m otor d r ives u s ed in s ervo or h igh per form a n ce a pp lica t ion s , a s m a ll s ign a l m odel of th e m otor is requ ired . A s epa ra tely excited DC m otor with fixed field excita t ion , or a perm a n en t m a gn et DC m otor , is des cr ibed by equ a t ion s (3 ), (1 ) a n d (2 ). If a s m a ll per tu rba t ion a rou n d a DC opera t in g poin t is in t rodu ced , th es e equ a t ion s ca n be wr it ten a s (7 )-(9 ). Th e ‘~’ in d ica tes a s m a ll per tu rba t ion , wh ich is a dd to th e DC com pon en ts of vt, ia , ea , Te, TL a n d ω :
+ ea −
aa
aaat edt
diLRiv ++=
+ vt −
Ra La
ωΦ+Φ
= tat
t kRk
TV
aaat ERIV +=
( ) a2tt
t Rk
TkV
Φ−
Φ=ω
3
(7 )
(8 )
(9 ) Equ a t ion des cr ib in g th e dyn a m ic of th e m ech a n ica l s ys tem is given by:
(10) wh ere Tl = TL + Bω Tl is th e loa d torqu e com pos ed of work in g torqu e of th e loa d , TL a n d torqu e du e to fr ict ion , Bω. Th e fr ict ion a l torqu e depen ds on th e rota t ion a l s peed , wh ile TL depen ds on th e n a tu re of th e loa d bein g d r iven . S im ila r ly, if a s m a ll per tu rba t ion is in t rodu ced in Te a n d TL a n d ω, equ a t ion (10) ca n be wr it ten a s :
(11) Sepa ra t in g th e DC a n d s m a ll per tu rba t ion or AC com pon en ts in (7 )–(9) a n d (11), th e s tea dy s ta te a n d s m a ll s ign a l equ a t ion s des cr ib in g th e DC m otor ca n be ob ta in ed : Th e t ra n s fer fu n ct ion of th e DC m otor is ob ta in ed by ta k in g th e La p la ce t ra n s form of th e s m a ll s ign a l equ a t ion s .
Vt(s ) = Ia(s )Ra + Las Ia + E a(s ) (12)
Te(s ) = k EIa(s ) (13)
E a(s ) = k Eω(s ) (14)
Te(s ) = TL(s ) + Bω(s ) + s J ω(s ) (15)
( ))e~E(
dti~
IdLR)i
~I(v~V aa
aaaaaatt ++
+++=+
)iI(kT~
T aaEee +=+
)~(ke~E Eee ω+ω=+
dtd
JTT mle
ω+=
dt)~(d
J)~(BT~
TT~
T LLeeω+ω+ω+ω++=+
aa
aaat e~dti~
dLRi
~v~ ++=
)i~
(kT~
aEe =
)~(ke~ Ee ω=
aaat ERIV +=
aEe IkT =
ω= Ee kE
dt)~(d
J~BT~
T~
Leω+ω+= )(BTT Le ω+=
AC com pon en ts DC com pon en ts
4
Th u s th e b lock d ia gra m repres en t in g th e DC m otor is s h own : Powe r e le c t ron ic c onve rte rs in DC drive s Th e power elect ron ic con ver ter s a re u s ed to ob ta in a n a d ju s ta b le DC volta ge a pp lied to th e a rm a tu re of a DC m otor . Th ere a re ba s ica lly two types of con ver ter n orm a lly em ployed in DC dr ives : (i) con t rolled rect ifier (ii) s witch –m ode con ver ter . (i) Con trolled rect ifier Con trolled rect ifier ca n be opera ted from a s in gle ph a s e or th ree ph a s e in pu t Ou tpu t volta ge con ta in low frequ en cy r ipp le wh ich m a y requ ire a la rge in du ctor in s er ted in a rm a tu re circu it , in order to redu ce th e a rm a tu re cu r ren t r ipp le. A la rge a rm a tu re cu r ren t r ipp le is u n des ira b le s in ce it m a y be reflected in s peed res pon s e if th e in er t ia of th e m otor–loa d is n ot la rge en ou gh . Con trolled rect ifier h a s low ba n dwid th . Th e a vera ge ou tpu t volta ge res pon s e to a con t rol s ign a l, wh ich is th e dela y a n gle, is rela t ively s low. Th erefore con t rolled rect ifier is n ot s u ita b le for d r ives requ ir in g fa s t res pon s e, e.g. in s ervo a pp lica t ion s . In term s of qu a dra n t of opera t ion s , a s in gle ph a s e or a th ree ph a s e rect ifier is on ly ca pa b le of opera t in g in fir s t a n d fou r th qu a dra n ts – wh ich is n ot s u ita b le for d r ives requ ir in g forwa rd b rea k in g m ode. To be a b le to opera te in a ll fou r qu a dra n ts , con figu ra t ion s u s in g ba ck to ba ck rect ifier s or con ta ctors s h own below m u s t be em ployed .
Tkaa s LR
1+
)s(Tl
)s(Te
s JB1+
Ek
)s(Ia )s(ω)s(Va
+ -
-
+
3-phase supply
3-phase supply
+ Va -
Converter A
ω
T
Converter B
Converter B
Converter A
Con ver ter A Con ver ter B
5
(ii) Switch –m ode con ver ter Switch –m ode con ver ter s n orm a lly opera te a t h igh frequ en cy. As a res u lt of th is , (i) th e a vera ge ou tpu t volta ge res pon s e is s ign ifica n t ly fa s ter th a n th e con t rolled rect ifier , in oth er words th e ba n dwid th of a s witch –m ode rect ifier is h igh er com pa red to th e con t rolled rect ifier , a n d (ii) th e a rm a tu re cu r ren t r ipp le is rela t ively les s th a n th e con t rolled rect ifier circu it wh en th e s a m e a m ou n t of in du cta n ce p res en t in th e a rm a tu re circu it . Th e s witch -m ode con ver ter is th erefore s u ita b le for a pp lica t ion s requ ir in g pos it ion con t rol or fa s t res pon s e, for exa m ple in s ervo a pp lica t ion s , robot ics , etc. In term s of qu a dra n t of opera t ion s , 3 pos s ib le con figu ra t ion s a re pos s ib le: s in gle qu a dra n t , two–qu a dra n t a n d fou r–qu a dra n t con ver ter s – th es e a re s h own below. Reference: N. Mohan, “Electric Drives: An integrative approach”, University of Minnesota Printing services, 2000. N. Mohan, “Power Electronics: Converters, applications and design” John Wiley and Sons, 1995.
≡ Con ta ctor
Single-quadrant Two-quadrant
Four-quadrant
ω
T
F1 and F2 are closed
F1
F2
R1
R2
R1 and R2 are closed
R1 and R2 are closed
F1 and F2 are closed
Q1
Q1 Q2
Q2
Q3
Q3
Q4
Q1 Q2
Q3 Q4
Q4
ω
T T
T
ω
ω
+ Va -
3–ph a s e s u pp ly
+ va –
+ va –
+ va –
DC MOTOR DRIVES(MEP 1422)
Dr. Nik Rumzi Nik IdrisDepartment 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
• Dominates variable speed applications beforePE converters were introduced
• DC motor: industry workhorse for decades
• Will AC drive replaces DC drive ?
– Predicted 30 years ago
– AC will eventually replace DC – at a slow rate– DC strong presence – easy control – huge numbers
Introduction
DC Motors
• Several limitations:
• Advantage: Precise torque and speed control without sophisticated electronics
• Regular Maintenance • Expensive
• Heavy • Speed limitations
• Sparking
Current in
Current out
Stator: field windings
Rotor: armature windings
Introduction
DC Motors
•Mechanical commutator
•Large machine employs compensation windings
Introduction
at ikTe φ= Electric torque
φω= Ea ke Armature back e.m.f.
Lf Rf
if
aa
aat edtdi
LiRv ++=
+
ea
_
LaRa
ia+
Vt
_
+
Vf
_
dtdi
LiRv ffff +=
Introduction
aaat EIRV +=In steady state,
( )2T
ea
T
t
k
TRkV
φ−
φ=ω
Therefore speed is given by,
Three possible methods of speed control:
Field fluxArmature voltage VtArmature resistance Ra
aa
aat edtdi
LiRV ++=
Armature circuit:
Introduction
For wide range of speed control 0 to ωbase → armature voltage, above ωbase → field flux reduction
Armature voltage control : retain maximum torque capability
Field flux control (i.e. flux reduced) : reduce maximum torque capability
Te
ω
MaximumTorque capability
Armature voltage controlField flux control
ωbase
MODELING OF CONVERTERS AND DC MOTOR
Used to obtain variable armature voltage
POWER ELECTRONICS CONVERTERS
• Efficient Ideal : lossless
• Phase-controlled rectifiers (AC → DC)
• DC-DC switch-mode converters(DC → DC)
Modeling of Converters and DC motor
Phase-controlled rectifier (AC–DC)
T
Q1Q2
Q3 Q4
ω
3-phasesupply
+
Vt
−
ia
Phase-controlled rectifier
Q1Q2
Q3 Q4
ω
T
3-phasesupply
3-phasesupply
+
Vt
−−
Modeling of Converters and DC motor
Phase-controlled rectifier
Q1Q2
Q3 Q4
ω
T
F1
F2
R1
R2
+ Va -
3-phasesupply
Modeling of Converters and DC motor
Phase-controlled rectifier (continuous current)
• Firing circuit –firing angle control
→ Establish relation between vc and Vt
firingcircuit
currentcontroller
controlled rectifier
α+
Vt
–
vciref +
-
Modeling of Converters and DC motor
Phase-controlled rectifier (continuous current)
• Firing angle control
π
= 180vv
cosV
Vt
cma
α= ct v
180v
180vv
t
c=α
linear firing angle control
α= cosvv sc
Cosine-wave crossing control
s
cma v
vVV
π=
Modeling of Converters and DC motor
Phase-controlled rectifier (continuous current)
•Steady state: linear gain amplifier•Cosine wave–crossing method
Modeling of Converters and DC motor
•Transient: sampler with zero order hold
T
GH(s)
converter
T – 10 ms for 1-phase 50 Hz system– 3.33 ms for 3-phase 50 Hz system
0.3 0.31 0.32 0.33 0.34 0.35 0.36-400
-200
0
200
400
0.3 0.31 0.32 0.33 0.34 0.35 0.36-10
-5
0
5
10
Phase-controlled rectifier (continuous current)
Td
Td – Delay in average output voltage generation0 – 10 ms for 50 Hz single phase system
Outputvoltage
Cosine-wave crossing
Control signal
Modeling of Converters and DC motor
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
Switch–mode converters
Q1Q2
Q3 Q4
ω
T
+Vt-
T1
Modeling of Converters and DC motor
Switch–mode converters
+Vt-
T1D1
T2
D2
Q1Q2
Q3 Q4
ω
T
Q1 → T1 and D2
Q2 → D1 and T2
Modeling of Converters and DC motor
Switch–mode converters
Q1Q2
Q3 Q4
ω
T+ Vt -
T1 D1
T2D2
D3
D4
T3
T4
Modeling of Converters and DC motor
Switch–mode converters
• Switching at high frequency
→ Reduces current ripple
→ Increases control bandwidth
• Suitable for high performance applications
Modeling of Converters and DC motor
Switch–mode converters - modeling
+
Vdc
•
Vdc
vc
vtri
q
=0
1q
when vc > vtri, upper switch ON
when vc < vtri, lower switch ON
Modeling of Converters and DC motor
tri
onTt
ttri Tt
dtqT1
dtri
== ∫+
vc
q
Ttri
d
Switch–mode converters – averaged modelModeling of Converters and DC motor
dc
dT
0dc
trit dVdtV
T1
Vtri
== ∫Vdc Vt
Vtri,p-Vtri,pvc
d
1
0
0.5
p,tri
c
V2v
5.0d +=
cp,tri
dcdct v
V2V
V5.0V +=
Switch–mode converters – averaged modelModeling of Converters and DC motor
DC motor – small signal model
Modeling of Converters and DC motor
Extract the dc and ac components by introducing small perturbations in Vt, ia, ea, Te, TL and ωm
aa
aaat edtdi
LRiv ++=
Te = kt ia ee = kt ω
dtd
JTT mle
ω+=
aa
aaat e~dti~
dLRi
~v~ ++=
)i~(kT
~aEe =
)~(ke~ Ee ω=
dt)~(d
J~BT~
T~
Leω+ω+=
ac components
aaat ERIV +=
aEe IkT =
ω= Ee kE
)(BTT Le ω+=
dc components
DC motor – small signal model
Modeling of Converters and DC motor
Perform Laplace Transformation on ac components
aa
aaat e~dti~
dLRi
~v~ ++=
)i~(kT
~aEe =
)~(ke~ Ee ω=
dt)~(d
J~BT~
T~
Leω+ω+=
Vt(s) = Ia(s)Ra + LasIa + Ea(s)
Te(s) = kEIa(s)
Ea(s) = kEω(s)
Te(s) = TL(s) + Bω(s) + sJω(s)
DC motor – small signal model
Modeling of Converters and DC motor
Tkaa sLR
1+
)s(Tl
)s(Te
sJB1+
Ek
)s(Ia )s(ω)s(Va
+-
-
+
CLOSED-LOOP SPEED CONTROL
Cascade control structure
• It is flexible – outer loop can be readily added or removed depending on the control requirements
• The control variable of inner loop (e.g. torque) can be limited by limiting its reference value
1/s
convertertorquecontroller
speedcontroller
positioncontroller
+
-
+
-
+
-
tacho
Motorθθ* T*ωω*
kT
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
• Obtain linear small signal modelMETHOD
• Design controllers based on linear small signal model
• Perform large signal simulation for controllers verification
CLOSED-LOOP SPEED CONTROL
Ra = 2 Ω La = 5.2 mH
J = 152 x 10–6 kg.m2B = 1 x10–4 kg.m2/sec
kt = 0.1 Nm/Ake = 0.1 V/(rad/s)
Vd = 60 V Vtri = 5 V
fs = 33 kHz
Permanent magnet motor’s parameters
Closed-loop speed control – an example
• PI controllers • Switching signals from comparison of vc and triangular waveform
CLOSED-LOOP SPEED CONTROL
Torque controller design
Tc
vtri
+
Vdc
•
q
q
+
–
kt
Torque controller
Tkaa sLR
1+
)s(Tl
)s(Te
sJB1+
Ek
)s(Ia )s(ω)s(Va
+-
-
+Torquecontroller
Converter
peak,tri
dc
VV)s(Te
-+
DC motor
Bode Diagram
Frequency (rad/s ec)
-50
0
50
100
150From: Input Point To: Output Point
Mag
nitu
de (
dB)
10-2
10-1
100
101
102
103
104
105
-90
-45
0
45
90
Pha
se (
deg)
CLOSED-LOOP SPEED CONTROL
Torque controller design Open-loop gain
compensated
compensated
kpT= 90
kiT= 18000
CLOSED-LOOP SPEED CONTROL
Speed controller design
Assume torque loop unity gain for speed bandwidth << Torque bandwidth
1Speedcontroller sJB
1+
ω* T* T ω
–
+
Torque loop
Bode Diagram
Frequency (Hz)
-50
0
50
100
150From: Input Point To: Output Point
Mag
nitu
de (
dB)
10-2
10-1
100
101
102
103
104
-180
-135
-90
-45
0
Pha
se (
deg)
CLOSED-LOOP SPEED CONTROL
Speed controllerOpen-loop gain
compensated
kps= 0.2
kis= 0.14
compensated
CLOSED-LOOP SPEED CONTROL
Large Signal Simulation results
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45-40
-20
0
20
40
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45-2
-1
0
1
2
Speed
Torque
CLOSED-LOOP SPEED CONTROL – DESIGN EXAMPLE
SUMMARY
Power electronics converters – to obtain variable armature voltage
Phase controlled rectifier – small bandwidth – large ripple
Switch-mode DC-DC converter – large bandwidth – small ripple
Controller design based on linear small signal model
Power converters - averaged model
DC motor – separately excited or permanent magnet
Closed-loop speed control design based on Bode plots
Verify with large signal simulation
Speed control by: armature voltage (0 →ωb) and field flux (ωb↑)
! "#$%!&'( ( (
)* +*,-( % . /(,0* $%!&' /,(/(, 12,123(
60
Vd Va
Tl
speed
T
Ia
SubsystemStep1
Step
PID
PID Control ler1
PID
PID Control ler
Output Point
Input Point
0.2
1/Vt
Bode Diagram
Frequency (Hz)
-40
-30
-20
-10
0
10
20From: Input Point To: Output Point
Mag
nitu
de (
dB)
10-3
10-2
10-1
100
101
102
103
-90
-45
0
45
90
Pha
se (
deg)
Pole-Zero Map
Real Axis
Imag
inar
y A
xis
-350 -300 -250 -200 -150 -100 -50 0-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
/(,4 ($%!&'1 . 0"0 .
5(516.( 7 55 16.( / #./(,0 58# 59+# (. -33# 01#12-33# (1 012-33 /(-&1 *.0 (
Bode Diagram
Frequency (Hz)
-40
-30
-20
-10
0
10
20From: Input Point To: Output Point
Mag
nitu
de (
dB)
10-3
10-2
10-1
100
101
102
103
104
-180
-135
-90
-45
0
45
90
Pha
se (
deg)
/(-412-3312,
/ /(- 7 ( 01 ( 0.
-33# 1(/1:30" /(5( 7 5(516. (
Bode Diagram
Frequency (Hz)
-20
0
20
40
60
80
100From: Input Point To: Output Point
Mag
nitu
de (
dB)
10-3
10-2
10-1
100
101
102
103
104
-180
-135
-90
-45
0
45
90
Pha
se (
deg)
/(571 :3 7(
70 ((5336.(" 0 7
0 ( % ;0 " <($11 /(9(/(9 " ( / 770 (
1
torque-loop
PID
speed_controller
PID
speed controller
PID
current controller
60
Vd Va
Tl
speed
T
Ia
SubsystemStep1
0.2
1/Vt
In1Out1
1/(sJ +B)1
In1Out1
1/(sJ +B)
Bode Diagram
Frequency (Hz)
-100
-50
0
50
100
150
200From: Input Point To: Output Point
Magnitude (dB)
10-3
10-2
10-1
100
101
102
103
104
105
-180
-135
-90
-45
0
Phase (deg)
/(9$ (7;0";7
3(8# (. 70 = 7 -33 6.( " /(>(
. (
7
!
Bode Diagram
Frequency (Hz)
-50
0
50
100
150From: Input Point To: Output Point
Mag
nitu
de (
dB)
10-2
10-1
100
101
102
103
104
-135
-90
-45
0P
hase
(de
g)
/(>
.?
1 1
7? :3 ,+333
$? 3(- 3(,9
($%!&'1 /(@(%
( 7 >6. 7 ,(>& ( 7 /(@(
vc_m
To Workspace4
vc
To Workspace3
vtri
To Workspace2
torque
To Workspace1
speed
To Workspace
Out1
Subsystem1
Va
Tl
speed
T
Ia
Subsystem
Step1
SignalGenerator
Saturation1
Relay1
Relay
PID
PID Controller1
PID
PID Controller
-1
Gain
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45-40
-20
0
20
40
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45-2
-1
0
1
2
/(@! $11 $7
USING LINEAR ANALYSIS IN MATLAB FOR DC MOTOR DRIVE CONTROLLER
DESIGN
Our objective in DC drive system are:
(a) To obtain zero or small steady state error– making sure DC gain of open–loop plot is large
(b) To achieve fast response– making sure crossover frequency of open–loop plot is large or large close–loop bandwidth
EXAMPLE in using linear analysis in MATLAB
)1s1.0(s100GOL +
=
1
0.1s+1
Tra nsfe r Fcn
1s
Inte gra tor
-K-
Ga in
100
0.1s +s2
Tra nsfe r Fcn
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
1
0.1s+1
Tra nsfe r FcnOutput P oint
1s
Inte gra torInput P oint
-K-
Ga in
1
0.1s+1
Tra nsfe r FcnOutput P oint
1s
Inte gra torInput P oint
-K-
Ga in
1
0.1s+1
Tra nsfe r FcnOutput P oint
1s
Inte gra torInput P oint
-K-
Ga in
EXAMPLE in using linear analysis in MATLABBode Diagram
Frequency (rad/s ec)
-100
-50
0
50
100From: Input Point To: Output Point
Mag
nitu
de (
dB)
10-1
100
101
102
103
-180
-135
-90
-45
0
Phas
e (d
eg)
EXAMPLE in using linear analysis in MATLAB
1
0.1s+1
Tra nsfe r FcnOutput P oin t
1s
In te gra torInput P oin t
-K-
Ga in
Bode Diagram
Frequency (rad/s ec)
-100
-50
0
50
100From: Input Point To: Output Point
Mag
nitu
de (
dB)
10-1
100
101
102
103
-180
-135
-90
-45
0
Phas
e (d
eg)
Crossover frequency approximates close–loop bandwidth
EXAMPLE in using linear analysis in MATLAB
PI controller
s
s1kp
ik
ki
+
• Contain a zero and a pole at origin• DC gain can be adjusted independently from
location of zero
Transfer function
EXAMPLE in using linear analysis in MATLAB
PI controllerOu tput P oin t
1s
In te gra torInput P oin t
0 .1
Ga in1
1
Ga in
Bode Diagram
Frequency (rad/s ec)
-100
-50
0
50
100From: Input Point To: Output Point
Mag
nitu
de (
dB)
10-1
100
101
102
103
-90
-45
0
Phas
e (d
eg)
ki=1, kp=0.1
ki=100, kp=10
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 "sfix(16)" OutScaling "2^0" SignalType "auto" SamplingMode "auto" Interpolate on Block BlockType Lookup InputValues "[-4:5]" OutputValues " rand(1,10)-0.5" ShowAdditionalParam off LookUpMeth "Interpolation-Extrapolation" OutDataTypeMode "Same as input" OutDataType "sfix(16)" OutScaling "2^0" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on Block BlockType Outport Port "1" OutputWhenDisabled "held" InitialOutput "[]" Block BlockType Relay OnSwitchValue "eps" OffSwitchValue "eps" OnOutputValue "1" OffOutputValue "0" ShowAdditionalParam off OutputDataTypeScalingMode "All ports same datatype" OutDataType "sfix(16)" OutScaling "2^0" ConRadixGroup "Use specified scaling" ZeroCross on Block BlockType Saturate UpperLimit "0.5" LowerLimit "-0.5" LinearizeAsGain on ZeroCross on Block BlockType "S-Function" FunctionName "system" PortCounts "[]" SFunctionModules "''" Block BlockType SignalGenerator WaveForm "sine" Amplitude "1" Frequency "1" Units "Hertz" VectorParams1D on Block BlockType Step Time "1" Before "0" After "1" SampleTime "-1"
http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl (4 von 14) [17.05.2005 17:12:11]
http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl
VectorParams1D on ZeroCross on Block BlockType SubSystem ShowPortLabels on Permissions "ReadWrite" RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" SimViewingDevice off DataTypeOverride "UseLocalSettings" MinMaxOverflowLogging "UseLocalSettings" Block BlockType Sum IconShape "rectangular" Inputs "++" ShowAdditionalParam off InputSameDT on OutDataTypeMode "Same as first input" OutDataType "sfix(16)" OutScaling "2^0" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on Block BlockType ToWorkspace VariableName "simulink_output" MaxDataPoints "1000" Decimation "1" SampleTime "0" Block BlockType TransferFcn Numerator "[1]" Denominator "[1 2 1]" AbsoluteTolerance "auto" Realization "auto" AnnotationDefaults HorizontalAlignment "center" VerticalAlignment "middle" ForegroundColor "black" BackgroundColor "white" DropShadow off FontName "Helvetica" FontSize 10 FontWeight "normal" FontAngle "normal" LineDefaults FontName "Helvetica" FontSize 9 FontWeight "normal" FontAngle "normal" System Name "dc_m2_linear_large_torque" Location [6, 82, 1018, 533] Open on ModelBrowserVisibility off ModelBrowserWidth 212
http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl (5 von 14) [17.05.2005 17:12:11]
http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl
ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "92" ReportName "simulink-default.rpt" Block BlockType Gain Name "Gain" Position [410, 230, 440, 260] Gain "-1" Block BlockType Reference Name "PID Controller" Ports [1, 1] Position [335, 90, 365, 120] SourceBlock "simulink_extras/Additional\nLinear/PID Controll""er" SourceType "PID Controller" P "90" I "90*200" D "0" Block BlockType Reference Name "PID Controller1" Ports [1, 1] Position [150, 90, 180, 120] SourceBlock "simulink_extras/Additional\nLinear/PID Controll""er" SourceType "PID Controller" P "0.2" I "0.7*0.2" D "0" Block BlockType Relay Name "Relay" Position [500, 90, 530, 120] OnSwitchValue "0" OffSwitchValue "0" OnOutputValue "60" Block BlockType Relay Name "Relay1" Position [520, 230, 550, 260] OnSwitchValue "0" OffSwitchValue "0" OnOutputValue "60" Block BlockType Saturate Name "Saturation1" Position [225, 90, 255, 120] UpperLimit "1.5" LowerLimit "-1.5" Block BlockType SignalGenerator Name "Signal\nGenerator" Position [20, 90, 50, 120] WaveForm "square"
http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl (6 von 14) [17.05.2005 17:12:11]
http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl
Amplitude "-30" Frequency "5" Block BlockType Step Name "Step1" Position [600, 205, 630, 235] Time "0" After "0" SampleTime "0" Block BlockType SubSystem Name "Subsystem" Ports [2, 3] Position [700, 120, 740, 180] TreatAsAtomicUnit off MaskPromptString "Armature resistance|La|J|Kt|B" MaskStyleString "edit,edit,edit,edit,edit" MaskTunableValueString "on,on,on,on,on" MaskCallbackString "||||" MaskEnableString "on,on,on,on,on" MaskVisibilityString "on,on,on,on,on" MaskToolTipString "on,on,on,on,on" MaskVarAliasString ",,,," MaskVariables "Ra=@1;La=@2;J=@3;Kt=@4;B=@5;" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "2|5.2e-3|152e-6|0.1|0.0001" System Name "Subsystem" Location [90, 152, 644, 411] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Inport Name "Va" Position [25, 88, 55, 102] Block BlockType Inport Name "Tl" Position [280, 28, 310, 42] Port "2" Block BlockType Gain Name "Gain" Position [250, 80, 280, 110] Gain "Kt" Block BlockType Gain Name "Gain2" Position [270, 185, 300, 215] Orientation "left"
http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl (7 von 14) [17.05.2005 17:12:11]
http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl
Gain "Kt" Block BlockType Sum Name "Sum" Ports [2, 1] Position [80, 85, 100, 105] ShowName off IconShape "round" Inputs "|+-" InputSameDT off OutDataTypeMode "Inherit via internal rule" Block BlockType Sum Name "Sum1" Ports [2, 1] Position [310, 85, 330, 105] NamePlacement "alternate" ShowName off IconShape "round" Inputs "-+|" InputSameDT off OutDataTypeMode "Inherit via internal rule" Block BlockType TransferFcn Name "Transfer Fcn" Position [145, 77, 205, 113] Denominator "[La Ra]" Block BlockType TransferFcn Name "Transfer Fcn1" Position [375, 77, 435, 113] Denominator "[J B]" Block BlockType Outport Name "speed" Position [495, 88, 525, 102] Block BlockType Outport Name "T" Position [390, 33, 420, 47] Port "2" Block BlockType Outport Name "Ia" Position [240, 33, 270, 47] Port "3" Line SrcBlock "Sum" SrcPort 1 DstBlock "Transfer Fcn" DstPort 1 Line SrcBlock "Gain" SrcPort 1 DstBlock "Sum1" DstPort 2
http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl (8 von 14) [17.05.2005 17:12:11]
http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl
Line SrcBlock "Transfer Fcn" SrcPort 1 Points [10, 0] Branch DstBlock "Gain" DstPort 1 Branch Points [0, -55] DstBlock "Ia" DstPort 1 Line SrcBlock "Sum1" SrcPort 1 Points [5, 0] Branch Points [0, -55] DstBlock "T" DstPort 1 Branch DstBlock "Transfer Fcn1" DstPort 1 Line SrcBlock "Transfer Fcn1" SrcPort 1 Points [35, 0] Branch DstBlock "speed" DstPort 1 Branch Points [0, 105] DstBlock "Gain2" DstPort 1 Line SrcBlock "Tl" SrcPort 1 Points [5, 0] DstBlock "Sum1" DstPort 1 Line SrcBlock "Va" SrcPort 1 DstBlock "Sum" DstPort 1 Line SrcBlock "Gain2" SrcPort 1 Points [-175, 0] DstBlock "Sum" DstPort 2
http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl (9 von 14) [17.05.2005 17:12:11]
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 Sum Name "Sum1" Ports [2, 1] Position [290, 95, 310, 115] ShowName off IconShape "round" Inputs "|+-" InputSameDT off OutDataTypeMode "Inherit via internal rule" Block BlockType Sum Name "Sum2" Ports [2, 1] Position [430, 95, 450, 115] ShowName off IconShape "round" Inputs "|+-" InputSameDT off OutDataTypeMode "Inherit via internal rule" Block BlockType Sum Name "Sum3" Ports [2, 1] Position [470, 235, 490, 255] ShowName off IconShape "round" Inputs "-+|" InputSameDT off OutDataTypeMode "Inherit via internal rule" Block BlockType Sum Name "Sum4" Ports [2, 1] Position [560, 145, 580, 165] ShowName off IconShape "round" Inputs "+|-" InputSameDT off OutDataTypeMode "Inherit via internal rule" Block BlockType ToWorkspace Name "To Workspace" Position [910, 115, 970, 145] VariableName "speed" MaxDataPoints "inf" SampleTime "-1" SaveFormat "Array" Block BlockType ToWorkspace Name "To Workspace1" Position [800, 75, 860, 105] VariableName "torque" MaxDataPoints "inf" SampleTime "-1" SaveFormat "Array" Block BlockType ToWorkspace
http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl (11 von 14) [17.05.2005 17:12:11]
http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl
Name "To Workspace2" Position [445, 25, 505, 55] VariableName "vtri" MaxDataPoints "inf" SampleTime "-1" SaveFormat "Array" Block BlockType ToWorkspace Name "To Workspace3" Position [485, 290, 545, 320] VariableName "vc" MaxDataPoints "inf" SampleTime "-1" SaveFormat "Array" Block BlockType ToWorkspace Name "To Workspace4" Position [495, 370, 555, 400] VariableName "vc_m" MaxDataPoints "inf" SampleTime "-1" SaveFormat "Array" Line SrcBlock "PID Controller" SrcPort 1 Points [10, 0] Branch Points [20, 0] Branch Points [-5, 0] DstBlock "Gain" DstPort 1 Branch DstBlock "Sum2" DstPort 1 Branch Points [0, 200] DstBlock "To Workspace3" DstPort 1 Line SrcBlock "Step1" SrcPort 1 Points [50, 0] DstBlock "Subsystem" DstPort 2 Line SrcBlock "Sum2" SrcPort 1 DstBlock "Relay" DstPort 1 Line SrcBlock "Subsystem1" SrcPort 1 Points [45, 0] Branch
http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl (12 von 14) [17.05.2005 17:12:11]
http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl
Points [30, 0] Branch Points [40, 0] DstBlock "Sum3" DstPort 1 Branch DstBlock "Sum2" DstPort 2 Branch Points [0, -140] DstBlock "To Workspace2" DstPort 1 Line SrcBlock "Signal\nGenerator" SrcPort 1 DstBlock "Sum" DstPort 1 Line SrcBlock "Sum" SrcPort 1 DstBlock "PID Controller1" DstPort 1 Line SrcBlock "PID Controller1" SrcPort 1 DstBlock "Saturation1" DstPort 1 Line SrcBlock "Sum1" SrcPort 1 DstBlock "PID Controller" DstPort 1 Line SrcBlock "Saturation1" SrcPort 1 DstBlock "Sum1" DstPort 1 Line SrcBlock "Subsystem" SrcPort 1 Points [120, 0] Branch Points [0, 295; -755, 0] DstBlock "Sum" DstPort 2 Branch DstBlock "To Workspace" DstPort 1 Line SrcBlock "Gain" SrcPort 1 Points [5, 0]
http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl (13 von 14) [17.05.2005 17:12:11]
http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl
Branch DstBlock "Sum3" DstPort 2 Branch Points [0, 140] DstBlock "To Workspace4" DstPort 1 Line SrcBlock "Relay" SrcPort 1 Points [35, 0] DstBlock "Sum4" DstPort 1 Line SrcBlock "Sum3" SrcPort 1 DstBlock "Relay1" DstPort 1 Line SrcBlock "Relay1" SrcPort 1 Points [15, 0] DstBlock "Sum4" DstPort 2 Line SrcBlock "Sum4" SrcPort 1 Points [50, 0; 0, -20] DstBlock "Subsystem" DstPort 1 Line SrcBlock "Subsystem" SrcPort 2 Points [30, 0] Branch Points [10, 0] DstBlock "To Workspace1" DstPort 1 Branch Points [0, 195; -475, 0] DstBlock "Sum1" DstPort 2
http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl (14 von 14) [17.05.2005 17:12:11]
1
PEMACU MOTOR ARUHAN Motor aruhan ï%LQDDQGDQSULQVLSRSHUDVLUHYLVLRQ Motor a ru h a n terd ir i da r i s ta tor da n rotor Pa da s ta tor terda pa t belita n 3 fa s a ya n g d is a m bu n g kepa da beka la n volta n 3 fa s a (a , b , da n c) Seca ra a m , terda pa t du a jen is rotor : s qu ir rel ca ge (s a n gka r tu pa i) da n wou n d (berbelit ) Bila volta n s in u s oida l t iga fa s a s eim ba n g d iken a ka n , a ka n terben tu k flu ks m a gn et pa da s ela u da ra ya n g berpu ta r den ga n kela ju a n :
f2p2
s π=ω r a d / s (1 )
ωs – d iken a li s eba ga i freku en s i s egera k (s yn ch ron ou s frequ en cy) f – ia la h freku en s i beka la n t iga fa s a pa da s ta tor p – ia la h b ila n ga n ku tu b Flu x s ela u da ra berpu ta r in i a ka n m en ga ru h ka n dge pa da pen ga lir rotor . Aru s a ka n terh a s il pa da pen ga lir rotor da n a ka n ber in tera ks i den ga n flu ks s ela u da ra berpu ta r u n tu k m en gh a s ilka n da ya k ila s ya n g a ka n m em u ta rka n rotor .Oleh itu la ju rotor s en t ia s a ku ra n g da r i la ju s egera k . Perbeza a n la ju in i d iken a li s eba ga i la ju gelin cira n (s lip s peed).
ωs l = ωs – ωr (2 )
Nis ba h la ju gelin cira n kepa da la ju s egera k ia la h gelin cira n .
s
rssω
ω−ω= (3 )
Flu ks s ela u da ra ya n g berpu ta r ju ga a ka n m en ga ru h ka n dge pa da belita n s ta tor ya n g d iken a li s eba ga i dge ba lika n (ba ck em f) a ta u volta n s ela u da ra (a ir ga p volta ge). Volta n s ela u da ra ya n g tera ru h d iber i oleh :
E a g = k f φa g (4 )
J ika Vs ia la h volta n per -fa s a ya n g d iken a ka n pa da belita n s ta tor da n Is ia la h a ru s belita n s ta tor , pers a m a a n lita r s ta tor ia la h :
a
b
b ’
c
c’
x x
x
•
• •
2
Vs = Rs Is + j(2πf)Lls + E a g (5 ) d .g.e. ya n g tera ru h pa da rotor a da la h d is eba bka n oleh flu ks m a gn et ya n g s a m a ta p i pa da freku en s i gelin cira n da n ia boleh d itu lis s eba ga i:
E r = k s f φa g = s E a g (6 ) Oleh itu , pers a m a a n u n tu k lita r rotor ia la h :
E r = s E a g = Rr Ir + js (2πf)Llr (7 ) J ika kedu a -du a bela h pers a m a a n d iba h a gi den ga n s ,
lrrr
a g L)f2(jIs
RE π+=⇒ (8 )
Lita r s eta ra per fa s a
Rs – Rin ta n ga n belita n s ta tor Rr – Rin ta n ga n pen ga lir rotor Lls – Kea ru h a n bocor belita n s ta tor Llr – Kea ru h a n bocor belita n rotor Lm – Kea ru h a n kem a gn eta n s – gelin cira n
Rotor t ida k m em pu n ya i s u m ber ku a s a , oleh itu ku a s a ya n g d ip in da h ka n da r i lita r s ta tor ke lita r rotor d iken a li s eba ga i ku a s a s ela u da ra (a ir -ga p power) da n d iber i oleh :
Ku a s a m eka n ika l boleh d itu lis da la m s ebu ta n da ya k ila s da n la ju rotor s eba ga i:
Pm = Tem ωr Ta p i s ωs = ωs - ωr ⇒ ωr = (1 -s )ωs
+ Vs
–
Rs Lls Llr
Rr
s
+ E a g
–
Is Ir
Im
Lm
Hila n g p a d a Rr Ditu k a r k ep a d a k u a s a m ek a n ik a l
Pm = (1 - s )Pa g
[ ]s1s
RI3RI3
sR
I3P r2rr
2r
r2ra g −+==
3
∴ Pa g = Tem ωs
Oleh itu s
r2r
s
a gem s
RI3PT
ω=
ω=
J ika ( )lrls
rs
sr
XXjs
RR
VI
+++= , da ya k ila s boleh d itu lis s eba ga i:
( )2lrls
2r
s
2s
s
rem
XXs
RR
Vs
R3T
++
+
ω=
Ben tu k la zim cir i T-ω u n tu k m otor a ru h a n : Gelin cira n s em a s a da ya k ila s m a ks im u m d iber i oleh :
( )2lrls
2s
rm
XXR
Rs
++±=
Nila i da ya k ila s m a ks im a (pu ll-ou t torqu e):
( )
++±ω=
2lrls
2ss
2s
sm a x
XXRR
Vs
3T
0 ωra ted ωs
1 0
ωr
s
Tm ,ra ted
Pu ll ou t Torqu e
Tem
4
Kawalan laju m otor aruhan Terda pa t bebera pa ka eda h ka wa la n la ju : (i) Pole ch a n gin g ïPHQXNDUELODQJDQNXWXE
La ju s egera k berga n tu n g kepa da b ila n ga n ku tu b Den ga n m en u ka r s a m bu n ga n pa da belita n , b ila n ga n ku tu b boleh d iu ba h .
(ii) Va r ia b le volta ge, fixed frequ en cy
Ma gn itu d volta n d ika wa l, freku en s i teta p , e.g. m en ggu n a ka n t ra n s form er . (iii) Va r ia b le m a gn itu de va r ia b le frequ en cy Ma gn itu d volta n beka la n d itu ka r berka da ra n den ga n freku en s i da n m eru pa ka n ka ea da h ya n g pa lin g popu la r d igu n a ka n da la m pem a cu ka wa la n la ju m otor a ru h a n . Un tu k s ya n g kecil da n φa g ya n g teta p , boleh d itu n ju kka n h u bu n ga n d i a n ta ra da ya k ila s da n la ju gelin cira n (s lip s peed) a da la h lin ea r Un tu k m en geka lka n flu ks s ela u da ra pa da n ila i ka da ra n , b ila volta n d iu ba h , freku en s i ju ga per lu d iu ba h :
E a g = k f φa g
Oleh u n tu k m en gh a s ilka n φa g ya n g m a la r pa da n ila i ka da ra n , n is ba h f
E a g h a ru s la h m a la r . J ika
keja tu h a n volta n pa da Rs da n Xls a da la h kecil d iba n d in gka n den ga n Vs ,
fV
f
Esa g ≈
Volta n beka la n d iu ba h s eca ra berka da ra n den ga n la ju a ta u frequ en s i s eh in gga la ju ka da ra n .
TL
T
ωr
Lower s peed gives h igh er s lip ∴ les s efficien t
5
Un tu k ω > ωra ted, m a gn itu d volta n d iteta pka n ta p i freku en s i d in a ikka n , oleh itu torque capability m en gu ra n g kera n a flu ks m u la m en gu ra n g Bila la ju kecil, keja tu h a n volta n oleh Rs da n Xls a da la h bes a r jika d iba n d in gkn den ga n Vs . Oleh itu keb ia s a a n n ya Vs d in a ikka n leb ih bes a r s ed ik it (boos t ) s em a s a frequ en s i ren da h Cir i T-ω b ila m a gn itu d Vs da n f d iu ba h berka da ra n Ba ga im a n a ka h m a gn itu d da n freku en s i d ika wa l s eren ta k ? Men ggu n a ka n Pu ls e Wid th Modu la t ion (PWM) In ver ter
T
T,r a ted
TL
ωr ωr ,ra ted
ωs ,ra ted
Vs
ωr
Vs
f
Vs , ra ted
fra ted
6
Exam ple 1 400 V, 50 Hz 4ïSROH 1370 rpm Rs = 2 Ω, Rr = 3 Ω, Xls = Xlr = 3 .5 Ω Motor is con t rolled by a volta ge s ou rce in ver ter with con s ta n t V/ f. Ca lcu la te:
(a ) Speed for frequ en cy of 30 Hz a n d 80% of fu ll loa d (b ) Frequ en cy for a s peed of 1000 rpm a n d fu ll loa d torqu e (c) Torqu e for a frequ en cy of 40 Hz a n d s peed of 1100 rpm
(a )
8.0,s lip
ra ted
ra ted,s lip
ra tedN
T8.0N
T =
Ns lip ,ra ted = Ns ï1r ,ra ted = 1500 ï USP
rpm104)130(8.0NT
T8.0N ra ted,s lip
ra ted
ra ted8.0,s lip ===∴
Pa da 30 Hz, la ju s egera k ia la h 30 x 60 = 1800/ 2 = 900 rpm
Fixed AC.
Va r ia b le volta ge Va r ia b le freq.
IM PWM in ver ter AC–DC
(rect ifier )
Con trol (f a n d V)
50 Hz 30 Hz Tra ted
0 .8 Tra ted
1500
Ra ted s lip s p eed
Ns lip ,0 .8
7
∴Nr = Ns ï1s lip = 900 ï04 = 796 rpm (b ) Ns = 130 + 1000 = 1130 rpm ∴ f = 37 .67 Hz (c) ∴ Ns = 1200 rpm Ns lip = 1200 ï USP
50 Hz ? Hz Tra ted
1500
Ns lip ,ra ted = 130
1000 Ns
Ns lip ,ra ted = 130 rpm
1370
6 0fp2
Ns ×=
50 Hz 40 Hz Tra ted
T = ?
1500
Ns lip ,ra ted = 130 rpm
1100 Ns
Ns lip
1370
6 0fp2
Ns ×=
8
∴T = 0 .769 Tra ted Tra ted = ? Tra ted d iperoleh i da r i :
Tra ted = 38 .06 Nm ∴ Da ya k ila s pa da 40 Hz, la ju 1100 rpm ia la h T = 0 .769 (38 .06) = 29 .267 Nm Example 2 A 4–pole, 3-phase, 50 Hz IM, 1460 rpm has a rated torque of 20 Nm. It is used to drive a load with characteristic given by TL = Kω2 , such that the speed equals rated value at rated torque. If a constant V/Hz control method is used, find the speed of motor at 0.5 rated torque. If the starting torque of 1.1 times the rated is required, what should be the starting frequency? ωslip,r = 1500 – 1460 = 40 rpm or 4.19 rad/s a) Load torque is given by:
TL = Kω2 1460 rpm ⇒ 152.9 rad/s
20 = K(152.9)2
100T
130Tra ted =
( )2lrls
2r
s
2s
s
rem
XXs
RR
Vs
R3T
++
+
ω=
TL = K ω2
TL(Nm)
ω(rad/s)
Trated
Zslip,r
Zsyn,r
Zr,r
50 Hz
0.5 Trated
9
⇒ K = 20/(152.9)2
∴ at 0.5 rated torque, the speed is 108.11 rad/s Motor T-ω is obtained as follows: Therefore at 0.5 Trated and speed of 108.11 rad/s
∴ ωsyn = 110.2 ⇒ f = 35 Hz
At start-up,
22L 9.152
20T ω=
rs yn
e
r,rr,s yn
ra ted
s lip
ra ted T77.4
TTω−ω
==ω−ω
=ω
rsyne 77.477.4T ω−ω=
)11.108(77.477.410 s yn −ω=
TL = K ω2
TL(Nm)
ω(rad/s)
Trated
Zslip,r
Zsyn,r
Zr,r
50 Hz
1.1(Trated)
Zslip = Zsyn
19.4TT1.1 ra ted
s lip
ra ted =ω
61.4)1.1(19.4synsyns lip ==ω∴ω=ω
1 0
SCALAR CONTROL OF IM We have seen that applying balanced, sinusoidal 3-phase supply to a 3-phase sinusoidally distributed winding produces a rotating mmf wave and hence rotating magnetic flux. The rotating magnetic flux will induce emf on the rotor circuit, which is shorted for squirell cage rotor. Rotor current will flow and interact with the rotating flux, producing torque.
Per-phase steady state equivalent circuit To ensure maximum torque capability at all time it is therefore necessary to maintain the magnetic flux at its rated value at any frequency. From the steady state equivalent circuit, this is equivalent to maintaining the magnetizing current at its rated value. The flux can be maintained constant at its rated by maintaining the ratio Eg/f constant. At high speed, where the induced back emf is large, the drop across the stator leakage and resistance is negligibly small.- therefore Eg/f is maintained constant by maintaining V/f constant. However at low speed, the back emf is low and the drop is significant. Thus the flux is reduced below rated – torque capability is also reduced.
Simulation results with constant V/f
The performance can be improved by: (i) Boosting the voltage at low frequency:
speed-
rad/s
torque - Nm
Im
Rs
Rr/ s
Lr l Ls l
Lm
+ V −
+ E g −
1 1
To accurately boost the voltage, stator current needs to be measured. The voltage drop drop is calculated and added to stator voltage on-line ii) Control the stator current such that constant magnetising current is maintained. This is achieved by using a current-controlled voltage source inverter.
mr
lr
rmlr
1
1r
mlr
rlr
m
I
sR
Lj
sR
)LL(jI
I
sR
)LL(j
sR
LjI
+ω
++ω=⇒
++ω
+ω=
Introducing σr = rotor leakage factor, which gives, Llr = σrLm,
,I
1T1
j
1TjI
I
sR
L1
j
sR
LjI
m
rr
rs lip
rs lip1
mr
rr
r
rr
1
+
σ+
σω
+ω=
+
σ+
σω
+ω=
Where Tr = Lr/Rr and ωslip = ω - ωr = sω The method depends on the rotor parameters, which vary with temperature. Open-loop V/f control
1 2
For low cost, low performance drive, open-loop constant V/f control is normally employed. With open-loop speed control, the rotor speed will be less than the synchronous speed by slip speed. In other words, the desired speed, ω*, will differ from the actual speed by slip speed. The slip speed on the other hand, depends on load. To improve the performance or the speed regulation, slip speed can be estimated and added to the reference speed – slip compensation technique. Typical arrangement is shown below:
How is the slip speed estimated? The slip frequency is proportional to the torque, hence it can estimated by estimating the torque. The torque is estimated from,
Te = Pag/ωsyn
VSI Rectifier 3-phase supply IM
Pulse Width
Modulator
Vboost Slip speed calculator
ω*
+ +
+ + V
Vdc Idc
Ramp
1 3
Pag is estimated by subtracting the input DC power with the inverter and stator copper losses. Closed-loop speed control Speed regulation can be improved by employing closed-loop speed control system with tachometer feedback, as shown below.
The reference and actual speed are compared. The error is fed to the speed controller which defines the inverter frequency. The current limit is activated only when current exceeds the maximum allowable value. The signal generated by the current limit block will reduce the rate by which the inverter frequency is increased. This is to avoid the frequency from reaching the breakdown frequency. Further readings: Power Electronic Control of AC Motors – J.M.D. Murphy and F.G. Turnbull, Pergamon Press
1
Modelling of 3-phase Induction Machine (IM) The steady state model of IM, which is represented by a steady state per phase equivalent circuit introduced in the undergraduate courses, describes the steady state behaviour of the IM. It is used when steady state analysis, such as efficiency, losses, steady state torque, current, fluxes need to be evaluated. The model assumes input to be a balanced, 3-phase steady state sinusoidal voltage. If the IM is fed by power electronic converters, the steady state analysis can be performed by representing the pulse-width modulated waveform of the inverter using Fourier series. Steady state model of IM is also used to derive the control signals used for scalar control drives. Since the model only valid in steady state condition, such drive normally has a poor transient performance. Applications not requiring good transient response such as fans, blowers or compressors, normally employ such control technique. Dynamic model on the other hand, describes the transient as well as the steady state behaviour of the IM. Using the dynamic model, the transients of IM, which cannot be analysed using steady state equivalent model, can be predicted and studied. The model can be used to simulate the IM drives and evaluate their transient performances, including that of using the scalar control technique. Dynamic model is also essential when developing high performance control techniques for IM drives, such as vector control or direct torque control drives. A dynamic model of IM must contain effect of the magnetic coupling between stator phase circuits and the rotor phase circuits, as well as coupling between phases of each circuit. This will undoubtedly result in a huge number and complex equations, which are difficult to manage. By using space vector equations, however, these complex equations are simplified and reduced. We will now develop a dynamic model of an IM using mathematical equations based on space vectors or space phasors (these terms will be defined later on). System equations Figure 1 shows the conceptual representation of a 3-phase, 2 poles induction machine. The magnetic axis of each winding is represented by an inductor symbol. As usual the angles between windings of each phase are 120o. The angle between rotor’s phase a axis and stator’s phase a axis is given by θr. The equation describing the stator and rotor circuits can be written as:
vabcs = Rsiabcs + d(ψψψψabcs)/dt (1)
vabcr = Rriabcr + d(ψψψψabr)/dt (2) where,
ΨΨΨ
=Ψ
=
=
cs
bs
as
abcs
cs
bs
as
abcs
cs
bs
as
abcs
i
i
i
i
v
v
v
v and
ΨΨΨ
=Ψ
=
=
cr
br
ar
abcs
cr
br
ar
abcr
cr
br
ar
abcr
i
i
i
i
v
v
v
v
It is clear that since the displacements between various windings of all the phases are non-quadrature, there exists magnetic coupling between them. The stator and rotor flux linkages (ψabcs and ψabcs)of equations (1) and (2) are contributed by the stator and rotor currents. Thus:
r,abcss,abcsabcs Ψ+Ψ=Ψ (3)
s,abcrr,abcrabcr Ψ+Ψ=Ψ (4)
2
ψabcs,s and ψabcs,r are the components of the stator flux linkage caused by stator and rotor currents (phase a, b and c) respectively, and, ψabcr,r and ψabcr,s are the components of the rotor flux linkage caused by rotor and stator currents (phase a, b and c) respectively These flux linkages can be written in terms of the inductances and respective currents.
=Ψ
cs
bs
as
csbcsacs
bcsbsabs
acsabsas
s,abcs
i
i
i
LLL
LLL
LLL
(5)
=Ψ
cr
br
ar
cr,csbr,csar,cs
cr,bsbr,bsar,bs
cr,asbr,asar,as
r,abcs
i
i
i
LLL
LLL
LLL
(6)
=Ψ
cr
br
ar
crbcracr
bcrbrabr
acrabrar
r,abcr
i
i
i
LLL
LLL
LLL
(7)
stator, b
rotor, b
rotor, a
stator, a
rotor, c
stator, c
ξ = 0 θr
Figure 1
3
=Ψ
cs
bs
as
cs,crbs,cras,cr
cs,brbs,bras,br
cs,arbs,aras,ar
s,abcr
i
i
i
LLL
LLL
LLL
(8)
In equation (5), Las, Lbs and Lcs are the self inductances of phases a, b and c respectively. The self inductance consists of magnetising and leakage inductance.
Las = Lms + Lls. Lbs = Lms + Lls. Lcs = Lms + Lls.
Labs, Lbcs, Lacs in equation (5), are the mutual inductances between stator phases. For symmetrical winding, which is normally the case, magnetising and leakage as well as mutual inductances for each phase are equal. It can be shown that the magnetizing and the mutual inductances are given by:
π
µ=4g
rlNL 2soms
2
L
8g
rlNLLL ms2soacsbcsabs −=
π
µ−=== (9)
Thus equation (5) can be written as:
+−−
−+−
−−+
=Ψ
cs
bs
as
lsmsmsms
mslsms
ms
msmslsms
s,abcs
i
i
i
LL2
L
2
L2
LLL
2
L2
L
2
LLL
(10)
The mutual inductances between the stator and rotor windings in (6) and (8) depend on the rotor position, θr and it can be shown that they can be written as:
( ) ( )( ) ( )( ) ( )
θπ−θπ+θ
π+θθπ−θ
π−θπ+θθ=Ψ
cr
br
ar
rrr
rrr
rrr
mss
rr,abcs
i
i
i
cos32cos3
2cos3
2coscos32cos
32cos3
2coscos
LN
N (11)
( ) ( )( ) ( )( ) ( )
θπ+θπ−θ
π−θθπ+θ
π+θπ−θθ=Ψ
cs
bs
as
rrr
rrr
rrr
mss
rs,abcr
i
i
i
cos32cos3
2cos3
2coscos32cos
32cos3
2coscos
LN
N (12)
Space phasors representation of induction machine Equations (1)-(8) give the complete description of the electrical characteristics of an induction machine. There are six circuits that describe the 3-phase induction machine and each of them coupled to one another. Although the determinations of the inductances are quite straight forward, however, the number of equations involved is large. We will now develop a model of the induction machine which is based on space phasors or space vectors and valid under steady state and transient conditions. By doing so, the number of equations is significantly reduced.
4
If the permeability of the core is assumed infintely large, all the mmf drops will appear across the airgap. Therefore, the stator airgap MMF of a sinusoidally distributed winding for phase a can be written as:
)cos(i2
Nas
sas α−ξ=ℑ (13)
ξ is any angle where ξ=0 coincide with the magnetic axis of stator winding phase a. α is the angle in which airgap mmf is maximum. ias is the stator phase a current. If α = 0 then equation (9) can be written as:
ξ=ℑ cosi2
Nas
sas (14)
Phases b and c are spatially separated from phase a by 120o. Thus airgap mmf of phase b and c are given by:
)3
2cos(i
2
Nbs
sbs
π−ξ=ℑ (15)
)3
2cos(i
2
Ncs
scs
π+ξ=ℑ (16)
The total airgap mmf
)3
2cos(i
2
N)
3
2cos(i
2
Ncosi
2
Ncs
sbs
sas
sabcs
π+ξ+π−ξ+ξ=ℑ (17)
Using Euler’s identity and with some mathematical manupulation, it can be shown that:
( ) ( ) ξ−ξ +++++=ℑ jcs
2bsas
jcsbs
2as
sabcs eiaaiieaiiai
4
N (18)
where a = ej(2π/3)
This can be further reduced or written as:
ξξ− +=ℑ j*s
js
sabcs eiei
4
N
2
3 (19)
The term si is defined as the space phasor or complex space vector of the stator current. It is given by:
( )cs2
bsass iaaii3
2i ++= (20)
The physical current can be obtained from the space phasor by separating the space phasor into its real and imaginary part. In most cases we can assume that ias + ibs + ics = 0.
( )
−+=
−++−=
++++=
)ii(3
1ji
)ii(2
3j)ii(
2
1i
3
2
)240sinj240(cosi)120sinj120(cosii3
2i
csbsas
csbscsbsas
csbsass
Thus
[ ]sas iRei = (21) Similarly it can be shown that
5
[ ] = and [ ] = (22)
Similar definitions can be made to the stator voltage, rotor current, stator flux and rotor flux. Equations (1) and (2) therefore can be written as:
Ψ+= (23)
dt
diRv rrrr
Ψ+= (24)
Ψ is composed of components caused by stator and rotor currents as given by (3). In space phasors, (3) can be written as:
Ψ+Ψ=Ψ (25)
Ψ is obtained by multiplying second and third rows of (5) with a and a2 respectively.
Similarly, Ψ can be obtained from (6). With some mathematical manipulations, it can be
shown that:
rj'rmsss eiLiL θ+=Ψ (26)
Where Ls = Lls + Lm , Lm = 3/2Lms and r
s
r'r i
N
Ni =
Similarly, it can be shown that the rotor flux linkage can be written as:
rjsm
'rr
'r eiLiL θ−+=Ψ (27)
Note that the rotor current in (26) (i.e. 'ri ) , is the space vector referred to the
rotating rotor reference frame. However, the d and q components of rj'rei θ are expressed in
the stator stationary reference frame. This is illustrated in Figure 2. Therefore we can define the rotor current referred to the stator stationary frame as
rj'r
sr eii θ= (28)
Equation (26) can be written in stationary stator reference frame as:
srm
sss
ss iLiL +=Ψ (29)
Where the superscript ‘s’ referred to the stator reference frame.
rj'r
'r eii ξ=
)rr(j'r
sr eii θ+ξ=
θr
ωr dr
qr qs
ds
isdr
isqr
ξr
'ri
Figure 2
6
Similarly the term rjsei
θ− in (27) is the stator current referred to rotating rotor frame. This is illustrated in Figure 3. Re-writing equations (23),(24),(26) and (27), the space vector equations to describe the squirrel cage IM written in stationary stator frame can be written as follows:
dt
diRv
sss
ssss
ψ+= (30a)
srr
srs
rr jdt
diR0 ψω−
ψ+= (31a)
srm
sss
ss iLiL +=ψ (32a)
ssm
srr
sr iLiL +=ψ (33a)
In a general reference frame rotating at angular speed of ω, these equations can be written as:
gsg
gsg
ssgs j
dt
diRv ψω+
ψ+= (30b)
grrg
grg
rr )(jdt
diR0 ψω−ω+
ψ+= (31b)
grm
gss
gs iLiL +=ψ (32b)
gsm
grr
gr iLiL +=ψ (33b)
Torque equation The product of the stator voltage and conjugate stator current space vectors is given by:
( ) ( )csbs2
ascs2
bsas*ss aiiai
3
2vaavv
3
2iv ++++= (34)
After some mathematical manipulations, with the three phase currents sum to zero, it can be shown that:
[ ] ( )cscsbsbsasas*ss iviviv
3
2ivRe ++= (35)
θr
ωr dr
qr qs
ds irds
irqs ξs
sisj
ss eii ξ=
)rs(js
rs eii θ−ξ=
Figure 3
7
For a three phase induction machine without a neutral return, the power into the machine can be written as:
[ ]( ) [ ]( )*'r
'r
*sse ivRe
2
3ivRe
2
3P += (36)
Replacing the voltage vectors expressed in rotating general reference frame, it can be shown that equation (36) can be expressed as:
[ ]
+
+ω−ω+++ω+
+++++=
'*rsm
2'rmlsr
*srm
2
smls
2'rsm
2'r
'lr2
sls
2'rr
2
sse
iiLi)LL()(jiiLi)LL(jRe2
3
iiLi2
Li
2
Lp
2
3ir
2
3ir
2
3P
(37)
Equation (37) can be divided into three terms:
(i) Power dissipated in stator and rotor resistances (ii) Time rate of change of stored energy (iii) Power conversion from electrical to mechanical – responsible for torque
production
[ ]
++ω−ω+++ω= '*
rsm
2'rmlsr
*srm
2
smlsmech iiLi)LL()(jiiLi)LL(jRe2
3P (38)
The first and third terms of (38) have only imaginary components. Thus,
[ ] [ ] '*rsmr
'*rsm
*srm
'*rsmr
*srmmech iiLjiiLiiL(jRe
2
3iiL)(jiiL(jRe
2
3P ω−+ω=ω−ω+ω= (39)
Since the term '*rsm
*srm iiLiiL + has no imaginary part, the mechanical power reduces to:
'*rsmrmech iiLjRe
2
3P ω−= (40)
Which can also be written as:
'*rsmrmech iiLIm
2
3P ω= (41)
OR
[ ]'qrds
'drqsmrmech iiiiL
2
3P −ω= (42)
The mechanical power is the product of torque and speed, and the mechanical rotor speed is related to the rotor speed as ωr = (p/2)ωrm , thus from (42)
[ ]'qrds
'drqsme iiiiL
2
p
2
3T −= (43)
8
Simulation of induction machine (IM) with MATLAB/SIMULINK For the purpose of simulation and microprocessor implementation, the space vectors representation of the induction machine is converted to its equivalent d-q axis form. Transforming equations (30)–(33) to their equivalent d-q axis forms in stationary reference frame (ωg = 0), and re-arranging them into matrix form, the following is obtained:
⋅
+ω−ω−ω+ω
++
=
rq
rd
sq
sd
rrrrmmr
rrrrmrm
mss
mss
rq
rd
sq
sd
i
i
i
i
sLRLsLL
LsLRLsL
sL0sLR0
0sL0sLR
v
v
v
v
(44)
‘s’in (44) represents the derivative operator d/dt. The space vectors equations can also be put into state space forms with the choice of flux linkages or currents as state variables. If the stator and rotor currents are chosen as the state variables, re-arranging (44) the IM equation can be written as:
⋅
−
−+
⋅
ω−−ω−ωω−−ωωω−−ω−
−=
sq
sd
m
m
r
r
sr2m
rq
rd
sq
sd
srsrrmssmr
srrsrsmrms
mrrmrrs2mr
rmrmrsq2mrrs
sr2m
rq
rd
sq
sd
v
v
L0
0L
L0
0L
LLL
1
i
i
i
i
LRLLLRLL
LLLRLLLR
LRLLLRL
LLLRiLLR
LLL
1
i
i
i
i
(45)
Equations (43),(45) along with the mechanical torque equation, can be used to simulate the IM using SIMULINK. The SIMULINK blocks used to simulate the IM is shown in Figure 4.
q
8
Te
7
Vq
6
irq
5
Vd
4
speed
3
ird
2
isq
1
isd
Sum
Mux
Mux
1/s
Integrator
In1 Out1
IM1
-K-
Gain2
-K-
Gain1
Demux
Demux
Tload
Constant
3to2
-K-
1/J1
-K-
1/J
3
Vc
2
Vb
1
Va
Figure 4
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 "-5" YMax "5" SaveToWorkspace off SaveName "ScopeData" LimitDataPoints on MaxDataPoints "5000" Decimation "1" SampleInput off SampleTime "0" Block BlockType "S-Function" FunctionName "system" PortCounts "[]" SFunctionModules "''" Block BlockType SubSystem ShowPortLabels on Permissions "ReadWrite" RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" SimViewingDevice off DataTypeOverride "UseLocalSettings" MinMaxOverflowLogging "UseLocalSettings" Block BlockType Sum IconShape "rectangular" Inputs "++" ShowAdditionalParam off InputSameDT on OutDataTypeMode "Same as first input" OutDataType "sfix(16)" OutScaling "2^0" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on Block BlockType Switch Criteria "u2 >= Threshold" Threshold "0" ShowAdditionalParam off InputSameDT on OutDataTypeMode "Inherit via internal rule" RndMeth "Floor" SaturateOnIntegerOverflow on ZeroCross on AnnotationDefaults HorizontalAlignment "center" VerticalAlignment "middle" ForegroundColor "black" BackgroundColor "white" DropShadow off FontName "Helvetica" FontSize 10 FontWeight "normal" FontAngle "normal" LineDefaults FontName "Helvetica"
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (5 von 28) [17.05.2005 17:15:21]
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl
FontSize 9 FontWeight "normal" FontAngle "normal" System Name "constant_vhz" Location [2, 82, 790, 584] Open on ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" ReportName "simulink-default.rpt" Block BlockType Constant Name "Constant" Position [35, 121, 75, 139] Value "50" Block BlockType SubSystem Name "Constant V/Hz" Ports [2, 3] Position [270, 88, 335, 172] TreatAsAtomicUnit off MaskPromptString "Vm at rated frequency" MaskStyleString "edit" MaskTunableValueString "on" MaskEnableString "on" MaskVisibilityString "on" MaskToolTipString "on" MaskVariables "Vm=@1;" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "240" System Name "Constant V/Hz" Location [2, 70, 798, 552] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "88" Block BlockType Inport Name "In1" Position [30, 93, 60, 107] Block BlockType Inport Name "boost" Position [20, 403, 50, 417] Port "2" Block
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (6 von 28) [17.05.2005 17:15:21]
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl
BlockType Constant Name "Constant1" Position [195, 371, 235, 389] Value "(2*pi)/3" Block BlockType SubSystem Name "Dot Product1" Ports [2, 1] Position [400, 307, 430, 343] TreatAsAtomicUnit off MaskType "Dot Product" MaskDescription "Inner (dot) product.\ny=sum(u1.*u2) " MaskHelp "Computes the inner (dot) product of the inp""uts: sum(u1.*u2). The inputs are vectors of the same length. Output is a sca""lar." MaskInitialization "t=(0:.1:2*pi)';\nx=cos(t);\ny=sin(t);" MaskDisplay "plot(0,0,1,1,x*[0.025 0.07]+0.5,y*[0.025 0.""07]+0.5)" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "normalized" System Name "Dot Product1" Location [33, 479, 253, 634] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Inport Name "in_1" Position [15, 25, 35, 45] Block BlockType Inport Name "in_2" Position [15, 90, 35, 110] Port "2" Block BlockType Product Name "Product" Ports [2, 1] Position [65, 55, 90, 75] Block BlockType Sum Name "Sum" Ports [1, 1] Position [125, 55, 145, 75] Inputs "+" Block BlockType Outport Name "out_1" Position [185, 55, 205, 75] InitialOutput "0"
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (7 von 28) [17.05.2005 17:15:21]
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl
Line SrcBlock "Sum" SrcPort 1 DstBlock "out_1" DstPort 1 Line SrcBlock "Product" SrcPort 1 DstBlock "Sum" DstPort 1 Line SrcBlock "in_1" SrcPort 1 DstBlock "Product" DstPort 1 Line SrcBlock "in_2" SrcPort 1 DstBlock "Product" DstPort 2 Block BlockType SubSystem Name "Dot Product2" Ports [2, 1] Position [340, 72, 370, 108] TreatAsAtomicUnit off MaskType "Dot Product" MaskDescription "Inner (dot) product.\ny=sum(u1.*u2) " MaskHelp "Computes the inner (dot) product of the inp""uts: sum(u1.*u2). The inputs are vectors of the same length. Output is a sca""lar." MaskInitialization "t=(0:.1:2*pi)';\nx=cos(t);\ny=sin(t);" MaskDisplay "plot(0,0,1,1,x*[0.025 0.07]+0.5,y*[0.025 0.""07]+0.5)" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "normalized" System Name "Dot Product2" Location [33, 479, 253, 634] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Inport Name "in_1" Position [15, 25, 35, 45] Block BlockType Inport Name "in_2" Position [15, 90, 35, 110]
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (8 von 28) [17.05.2005 17:15:21]
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl
Port "2" Block BlockType Product Name "Product" Ports [2, 1] Position [65, 55, 90, 75] Block BlockType Sum Name "Sum" Ports [1, 1] Position [125, 55, 145, 75] Inputs "+" Block BlockType Outport Name "out_1" Position [185, 55, 205, 75] InitialOutput "0" Line SrcBlock "in_2" SrcPort 1 DstBlock "Product" DstPort 2 Line SrcBlock "in_1" SrcPort 1 DstBlock "Product" DstPort 1 Line SrcBlock "Product" SrcPort 1 DstBlock "Sum" DstPort 1 Line SrcBlock "Sum" SrcPort 1 DstBlock "out_1" DstPort 1 Block BlockType SubSystem Name "Dot Product3" Ports [2, 1] Position [385, 467, 415, 503] TreatAsAtomicUnit off MaskType "Dot Product" MaskDescription "Inner (dot) product.\ny=sum(u1.*u2) " MaskHelp "Computes the inner (dot) product of the inp""uts: sum(u1.*u2). The inputs are vectors of the same length. Output is a sca""lar." MaskInitialization "t=(0:.1:2*pi)';\nx=cos(t);\ny=sin(t);" MaskDisplay "plot(0,0,1,1,x*[0.025 0.07]+0.5,y*[0.025 0.""07]+0.5)" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "normalized"
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (9 von 28) [17.05.2005 17:15:21]
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl
System Name "Dot Product3" Location [33, 479, 253, 634] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Inport Name "in_1" Position [15, 25, 35, 45] Block BlockType Inport Name "in_2" Position [15, 90, 35, 110] Port "2" Block BlockType Product Name "Product" Ports [2, 1] Position [65, 55, 90, 75] Block BlockType Sum Name "Sum" Ports [1, 1] Position [125, 55, 145, 75] Inputs "+" Block BlockType Outport Name "out_1" Position [185, 55, 205, 75] InitialOutput "0" Line SrcBlock "in_2" SrcPort 1 DstBlock "Product" DstPort 2 Line SrcBlock "in_1" SrcPort 1 DstBlock "Product" DstPort 1 Line SrcBlock "Product" SrcPort 1 DstBlock "Sum" DstPort 1 Line SrcBlock "Sum" SrcPort 1 DstBlock "out_1" DstPort 1
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (10 von 28) [17.05.2005 17:15:21]
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl
Block BlockType ElementaryMath Name "Elementary\nMath" Ports [1, 1] Position [275, 85, 305, 115] Block BlockType ElementaryMath Name "Elementary\nMath1" Ports [1, 1] Position [335, 320, 365, 350] Block BlockType ElementaryMath Name "Elementary\nMath2" Ports [1, 1] Position [320, 480, 350, 510] Block BlockType Gain Name "Gain" Position [150, 85, 180, 115] Gain "2*pi" Block BlockType Gain Name "Gain1" Position [150, 25, 180, 55] Gain "Vm/50" Block BlockType Gain Name "Gain2" Position [170, 320, 200, 350] Gain "2*pi" Block BlockType Gain Name "Gain3" Position [170, 235, 200, 265] Gain "Vm/50" Block BlockType Gain Name "Gain4" Position [160, 480, 190, 510] Gain "2*pi" Block BlockType Gain Name "Gain5" Position [160, 420, 190, 450] Gain "Vm/50" Block BlockType Integrator Name "Integrator" Ports [1, 1] Position [210, 85, 240, 115] Block BlockType Integrator
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (11 von 28) [17.05.2005 17:15:21]
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl
Name "Integrator1" Ports [1, 1] Position [230, 320, 260, 350] Block BlockType Integrator Name "Integrator2" Ports [1, 1] Position [220, 480, 250, 510] Block BlockType Sum Name "Sum" Ports [2, 1] Position [285, 325, 305, 345] ShowName off IconShape "round" Inputs "|+-" InputSameDT off OutDataTypeMode "Inherit via internal rule" Block BlockType Sum Name "Sum1" Ports [2, 1] Position [285, 485, 305, 505] ShowName off IconShape "round" Inputs "++|" InputSameDT off OutDataTypeMode "Inherit via internal rule" Block BlockType Sum Name "Sum2" Ports [2, 1] Position [275, 240, 295, 260] ShowName off IconShape "round" Inputs "++|" InputSameDT off OutDataTypeMode "Inherit via internal rule" Block BlockType Sum Name "Sum3" Ports [2, 1] Position [245, 30, 265, 50] ShowName off IconShape "round" Inputs "++|" InputSameDT off OutDataTypeMode "Inherit via internal rule" Block BlockType Sum Name "Sum4" Ports [2, 1] Position [325, 425, 345, 445] ShowName off IconShape "round" Inputs "++|" InputSameDT off OutDataTypeMode "Inherit via internal rule"
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (12 von 28) [17.05.2005 17:15:21]
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl
Block BlockType Outport Name "Out1" Position [395, 83, 425, 97] Block BlockType Outport Name "Out2" Position [455, 318, 485, 332] Port "2" Block BlockType Outport Name "Out3" Position [440, 478, 470, 492] Port "3" Line SrcBlock "Integrator" SrcPort 1 DstBlock "Elementary\nMath" DstPort 1 Line SrcBlock "Elementary\nMath" SrcPort 1 DstBlock "Dot Product2" DstPort 2 Line SrcBlock "Gain" SrcPort 1 DstBlock "Integrator" DstPort 1 Line SrcBlock "Elementary\nMath1" SrcPort 1 DstBlock "Dot Product1" DstPort 2 Line SrcBlock "Gain2" SrcPort 1 DstBlock "Integrator1" DstPort 1 Line SrcBlock "Elementary\nMath2" SrcPort 1 DstBlock "Dot Product3" DstPort 2 Line SrcBlock "Gain4" SrcPort 1 DstBlock "Integrator2" DstPort 1 Line SrcBlock "Sum" SrcPort 1 DstBlock "Elementary\nMath1" DstPort 1
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (13 von 28) [17.05.2005 17:15:21]
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl
Line SrcBlock "Integrator1" SrcPort 1 DstBlock "Sum" DstPort 1 Line SrcBlock "Constant1" SrcPort 1 Points [0, 0; 55, 0] Branch Points [0, -20] DstBlock "Sum" DstPort 2 Branch Points [5, 0; 0, 90] DstBlock "Sum1" DstPort 1 Line SrcBlock "Sum1" SrcPort 1 DstBlock "Elementary\nMath2" DstPort 1 Line SrcBlock "Integrator2" SrcPort 1 DstBlock "Sum1" DstPort 2 Line SrcBlock "In1" SrcPort 1 Points [0, 0; 15, 0] Branch Points [15, 0] Branch DstBlock "Gain" DstPort 1 Branch Points [0, -60] DstBlock "Gain1" DstPort 1 Branch Points [0, 235] Branch Points [35, 0] Branch Points [0, -85] DstBlock "Gain3" DstPort 1 Branch DstBlock "Gain2" DstPort 1 Branch Points [0, 160; 25, 0]
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (14 von 28) [17.05.2005 17:15:21]
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl
Branch DstBlock "Gain4" DstPort 1 Branch Points [0, -60] DstBlock "Gain5" DstPort 1 Line SrcBlock "Dot Product2" SrcPort 1 DstBlock "Out1" DstPort 1 Line SrcBlock "Dot Product1" SrcPort 1 DstBlock "Out2" DstPort 1 Line SrcBlock "Dot Product3" SrcPort 1 DstBlock "Out3" DstPort 1 Line SrcBlock "Gain3" SrcPort 1 DstBlock "Sum2" DstPort 2 Line SrcBlock "Sum2" SrcPort 1 Points [40, 0; 0, 65] DstBlock "Dot Product1" DstPort 1 Line SrcBlock "Gain1" SrcPort 1 DstBlock "Sum3" DstPort 2 Line SrcBlock "Sum3" SrcPort 1 Points [25, 0; 0, 40] DstBlock "Dot Product2" DstPort 1 Line SrcBlock "Gain5" SrcPort 1 DstBlock "Sum4" DstPort 2 Line SrcBlock "Sum4" SrcPort 1
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (15 von 28) [17.05.2005 17:15:21]
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl
Points [10, 0; 0, 40] DstBlock "Dot Product3" DstPort 1 Line SrcBlock "boost" SrcPort 1 Points [70, 0] Branch DstBlock "Sum4" DstPort 1 Branch Points [0, -220] Branch Points [0, -175] DstBlock "Sum3" DstPort 1 Branch Points [160, 0] DstBlock "Sum2" DstPort 1 Block BlockType Constant Name "Constant1" Position [60, 280, 90, 300] Value "50" Block BlockType Constant Name "Constant2" Position [60, 230, 90, 250] Value "0" Block BlockType Gain Name "Gain" Position [335, 35, 365, 65] Gain "(2*pi)/2" Block BlockType SubSystem Name "Induction Machine" Ports [3, 8] Position [470, 63, 525, 192] TreatAsAtomicUnit off MaskPromptString "Stator resistance (ohm)|Rotor resistance (ohm)|""Stator self inductance (H)|Rotor self inductance (H)|Mutual Inductance (H)|No"" of poles|Moment of inertia (kg.m^2)|Load torque (Nm)|Load constant" MaskStyleString "edit,edit,edit,edit,edit,edit,edit,edit,edit" MaskTunableValueString "on,on,on,on,on,on,on,on,on" MaskCallbackString "||||||||" MaskEnableString "on,on,on,on,on,on,on,on,on" MaskVisibilityString "on,on,on,on,on,on,on,on,on" MaskToolTipString "on,on,on,on,on,on,on,on,on" MaskVarAliasString ",,,,,,,," MaskVariables "Rs=@1;Rr=@2;Ls=@3;Lr=@4;Lm=@5;pole=@6;J=@7;Tloa""d=@8;load_C=@9;" MaskIconFrame on
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (16 von 28) [17.05.2005 17:15:21]
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl
MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "5.5|4.51|306.5e-3|306.5e-3|291.9e-3|4|0.02|0.01""|0.1" System Name "Induction Machine" Location [2, 70, 798, 552] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Inport Name "Va" Position [25, 40, 45, 60] Block BlockType Inport Name "Vb" Position [25, 120, 45, 140] Port "2" Block BlockType Inport Name "Vc" Position [25, 240, 45, 260] Port "3" Block BlockType Gain Name "1/J" Position [260, 292, 285, 318] Orientation "left" Gain "pole/(2*J)" SaturateOnIntegerOverflow off Block BlockType SubSystem Name "3to2" Ports [3, 2] Position [105, 81, 135, 139] ShowPortLabels off TreatAsAtomicUnit off System Name "3to2" Location [4, 74, 628, 500] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Inport Name "in_1" Position [15, 50, 35, 70]
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (17 von 28) [17.05.2005 17:15:21]
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl
Block BlockType Inport Name "in_2" Position [15, 115, 35, 135] Port "2" Block BlockType Inport Name "in_3" Position [15, 180, 35, 200] Port "3" Block BlockType Gain Name "Gain3" Position [120, 248, 160, 272] Gain "0.577" Block BlockType Gain Name "Gain4" Position [120, 298, 160, 322] Gain "-0.577" Block BlockType Gain Name "Gain5" Position [145, 143, 185, 167] Gain "-0.33333" Block BlockType Gain Name "Gain6" Position [140, 183, 180, 207] Gain "-0.33333" Block BlockType Gain Name "Gain7" Position [135, 63, 175, 87] Gain "0.66666" Block BlockType Sum Name "Ib" Ports [2, 1] Position [240, 255, 260, 275] Block BlockType Sum Name "Ib1" Ports [3, 1] Position [260, 87, 280, 123] Inputs "+++" Block BlockType Outport Name "d" Position [330, 60, 350, 80] InitialOutput "0" Block BlockType Outport Name "q"
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (18 von 28) [17.05.2005 17:15:21]
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl
Position [310, 250, 330, 270] Port "2" InitialOutput "0" Line SrcBlock "Ib1" SrcPort 1 Points [15, 0; 0, -35] DstBlock "d" DstPort 1 Line SrcBlock "Gain7" SrcPort 1 Points [30, 0; 0, 20] DstBlock "Ib1" DstPort 1 Line SrcBlock "in_1" SrcPort 1 Points [40, 0; 0, 15] DstBlock "Gain7" DstPort 1 Line SrcBlock "Gain6" SrcPort 1 Points [30, 0; 0, -90] DstBlock "Ib1" DstPort 2 Line SrcBlock "Gain5" SrcPort 1 Points [25, 0; 0, -40] DstBlock "Ib1" DstPort 3 Line SrcBlock "in_3" SrcPort 1 Points [40, 0; 0, 5] Branch DstBlock "Gain6" DstPort 1 Branch Points [0, 115] DstBlock "Gain4" DstPort 1 Line SrcBlock "in_2" SrcPort 1 Points [20, 0; 0, 30] Branch DstBlock "Gain5" DstPort 1 Branch Points [0, 105] DstBlock "Gain3" DstPort 1
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (19 von 28) [17.05.2005 17:15:21]
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl
Line SrcBlock "Gain3" SrcPort 1 DstBlock "Ib" DstPort 1 Line SrcBlock "Gain4" SrcPort 1 Points [30, 0; 0, -40] DstBlock "Ib" DstPort 2 Line SrcBlock "Ib" SrcPort 1 DstBlock "q" DstPort 1 Block BlockType Constant Name "Constant" Position [630, 306, 670, 324] Orientation "left" Value "Tload" Block BlockType Demux Name "Demux" Ports [1, 5] Position [420, 91, 460, 149] Outputs "5" Block BlockType Gain Name "Gain1" Position [150, 407, 175, 433] Orientation "left" Gain "2/pole" Block BlockType SubSystem Name "IM1" Ports [1, 1] Position [320, 106, 380, 134] TreatAsAtomicUnit off System Name "IM1" Location [248, 340, 468, 422] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Inport Name "In1"
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (20 von 28) [17.05.2005 17:15:21]
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl
Position [25, 33, 55, 47] Block BlockType "S-Function" Name "S-Function" Ports [1, 1] Position [80, 25, 140, 55] FunctionName "imch" Parameters "Rs, Rr, Ls,Lr,Lm,pole" Block BlockType Outport Name "Out1" Position [165, 33, 195, 47] InitialOutput "0" Line SrcBlock "In1" SrcPort 1 DstBlock "S-Function" DstPort 1 Line SrcBlock "S-Function" SrcPort 1 DstBlock "Out1" DstPort 1 Block BlockType Integrator Name "Integrator" Ports [1, 1] Position [360, 295, 380, 315] Orientation "left" Block BlockType Mux Name "Mux" Ports [3, 1] Position [260, 104, 290, 136] Inputs "3" Block BlockType Sum Name "Sum" Ports [3, 1] Position [440, 287, 460, 323] Orientation "left" Inputs "+--" Block BlockType Gain Name "load_C" Position [375, 367, 400, 393] Gain "load_C" SaturateOnIntegerOverflow off Block BlockType Outport Name "isd" Position [630, 25, 650, 45] InitialOutput "0"
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (21 von 28) [17.05.2005 17:15:21]
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl
Block BlockType Outport Name "isq" Position [625, 70, 645, 90] Port "2" InitialOutput "0" Block BlockType Outport Name "ird" Position [600, 140, 620, 160] Port "3" InitialOutput "0" Block BlockType Outport Name "speed" Position [90, 410, 110, 430] Orientation "left" Port "4" InitialOutput "0" Block BlockType Outport Name "Vd" Position [265, 50, 285, 70] Port "5" InitialOutput "0" Block BlockType Outport Name "irq" Position [595, 185, 615, 205] Port "6" InitialOutput "0" Block BlockType Outport Name "Vq" Position [90, 285, 110, 305] Orientation "left" Port "7" InitialOutput "0" Block BlockType Outport Name "Te" Position [715, 230, 735, 250] Port "8" InitialOutput "0" Line SrcBlock "Demux" SrcPort 1 Points [60, 0; 0, -20] DstBlock "isq" DstPort 1 Line SrcBlock "Demux" SrcPort 2 Points [65, 0; 0, -75] DstBlock "isd" DstPort 1
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (22 von 28) [17.05.2005 17:15:21]
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl
Line SrcBlock "3to2" SrcPort 2 Points [0, 0] Branch Points [0, 170] DstBlock "Vq" DstPort 1 Branch Points [55, 0; 0, -15] DstBlock "Mux" DstPort 1 Line SrcBlock "3to2" SrcPort 1 Points [0, 0; 25, 0] Branch Points [0, -35] DstBlock "Vd" DstPort 1 Branch Points [30, 0; 0, 25] DstBlock "Mux" DstPort 2 Line SrcBlock "Demux" SrcPort 5 Points [45, 0; 0, 145] Branch Points [0, 15; -35, 0] DstBlock "Sum" DstPort 1 Branch Points [70, 0; 0, -45] DstBlock "Te" DstPort 1 Line SrcBlock "Vc" SrcPort 1 Points [20, 0; 0, -120] DstBlock "3to2" DstPort 3 Line SrcBlock "Vb" SrcPort 1 Points [20, 0; 0, -20] DstBlock "3to2" DstPort 2 Line SrcBlock "Va" SrcPort 1 Points [20, 0; 0, 40] DstBlock "3to2" DstPort 1
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (23 von 28) [17.05.2005 17:15:21]
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl
Line SrcBlock "1/J" SrcPort 1 Points [0, 0; -25, 0] Branch Points [0, -175] DstBlock "Mux" DstPort 3 Branch Points [-15, 0; 0, 75] Branch Points [0, 40] DstBlock "Gain1" DstPort 1 Branch DstBlock "load_C" DstPort 1 Line SrcBlock "Mux" SrcPort 1 DstBlock "IM1" DstPort 1 Line SrcBlock "IM1" SrcPort 1 DstBlock "Demux" DstPort 1 Line SrcBlock "Sum" SrcPort 1 DstBlock "Integrator" DstPort 1 Line SrcBlock "Integrator" SrcPort 1 DstBlock "1/J" DstPort 1 Line SrcBlock "Demux" SrcPort 3 Points [30, 0; 0, 75] DstBlock "irq" DstPort 1 Line SrcBlock "Demux" SrcPort 4 Points [25, 0; 0, 20] DstBlock "ird" DstPort 1 Line SrcBlock "Gain1" SrcPort 1 Points [0, 0]
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (24 von 28) [17.05.2005 17:15:21]
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl
DstBlock "speed" DstPort 1 Line SrcBlock "load_C" SrcPort 1 Points [145, 0; 0, -75] DstBlock "Sum" DstPort 2 Line SrcBlock "Constant" SrcPort 1 DstBlock "Sum" DstPort 3 Annotation Name "q" Position [482, 87] VerticalAlignment "top" Block BlockType Reference Name "Manual Switch" Ports [2, 1] Position [150, 232, 180, 268] SourceBlock "simulink/Signal\nRouting/Manual Switch" SourceType "Manual Switch" sw "0" action "0" Block BlockType Mux Name "Mux" Ports [2, 1] Position [660, 41, 665, 79] ShowName off Inputs "2" DisplayOption "bar" Block BlockType RateLimiter Name "Rate Limiter" Position [170, 115, 200, 145] RisingSlewLimit "50" FallingSlewLimit "-50" Block BlockType Scope Name "Scope" Ports [3] Position [735, 104, 765, 136] Location [357, 69, 795, 439] Open on NumInputPorts "3" List ListType AxesTitles axes1 "%<SignalLabel>" axes2 "%<SignalLabel>" axes3 "%<SignalLabel>" List ListType SelectedSignals
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (25 von 28) [17.05.2005 17:15:21]
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl
axes1 "" axes2 "" axes3 "" TimeRange "1.5" YMin "-10~-20~-50" YMax "80~20~50" DataFormat "StructureWithTime" Block BlockType Scope Name "Scope1" Ports [4] Position [455, 271, 490, 364] Location [6, 204, 444, 564] Open on NumInputPorts "4" List ListType AxesTitles axes1 "%<SignalLabel>" axes2 "%<SignalLabel>" axes3 "%<SignalLabel>" axes4 "%<SignalLabel>" List ListType SelectedSignals axes1 "" axes2 "" axes3 "" axes4 "" TimeRange "1.5" YMin "-400~-400~-400~-5" YMax "400~400~400~60" SaveName "ScopeData1" DataFormat "StructureWithTime" Block BlockType Reference Name "Slider\nGain1" Ports [1, 1] Position [100, 115, 130, 145] SourceBlock "simulink/Math\nOperations/Slider\nGain" SourceType "Slider Gain" low "0" gain "0.07" high "1" Line SrcBlock "Induction Machine" SrcPort 8 Points [55, 0; 0, -60] DstBlock "Scope" DstPort 2 Line SrcBlock "Induction Machine" SrcPort 2 Points [190, 0] DstBlock "Scope" DstPort 3 Line SrcBlock "Slider\nGain1" SrcPort 1
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (26 von 28) [17.05.2005 17:15:21]
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl
DstBlock "Rate Limiter" DstPort 1 Line SrcBlock "Constant" SrcPort 1 DstBlock "Slider\nGain1" DstPort 1 Line SrcBlock "Constant V/Hz" SrcPort 2 Points [0, 0; 70, 0] Branch DstBlock "Induction Machine" DstPort 2 Branch Points [0, 175] DstBlock "Scope1" DstPort 2 Line SrcBlock "Constant V/Hz" SrcPort 1 Points [55, 0; 0, -20; 35, 0] Branch DstBlock "Induction Machine" DstPort 1 Branch Points [0, 195] DstBlock "Scope1" DstPort 1 Line SrcBlock "Constant V/Hz" SrcPort 3 Points [0, 0; 40, 0] Branch Points [15, 0; 0, 20] DstBlock "Induction Machine" DstPort 3 Branch Points [0, 175] DstBlock "Scope1" DstPort 3 Line SrcBlock "Rate Limiter" SrcPort 1 Points [0, 0; 10, 0] Branch Points [0, 225] DstBlock "Scope1" DstPort 4 Branch Points [25, 0] Branch Points [15, 0]
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (27 von 28) [17.05.2005 17:15:21]
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl
DstBlock "Constant V/Hz" DstPort 1 Branch Points [0, -80] DstBlock "Gain" DstPort 1 Line SrcBlock "Constant1" SrcPort 1 Points [0, -30] DstBlock "Manual Switch" DstPort 2 Line SrcBlock "Constant2" SrcPort 1 DstBlock "Manual Switch" DstPort 1 Line SrcBlock "Manual Switch" SrcPort 1 Points [70, 0] DstBlock "Constant V/Hz" DstPort 2 Line SrcBlock "Mux" SrcPort 1 Points [50, 0] DstBlock "Scope" DstPort 1 Line SrcBlock "Induction Machine" SrcPort 4 Points [115, 0] DstBlock "Mux" DstPort 2 Line SrcBlock "Gain" SrcPort 1 DstBlock "Mux" DstPort 1
http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (28 von 28) [17.05.2005 17:15:21]
http://encon.fke.utm.my/courses/mep1422/imch.c
/* * sfuntmpl.c: Template C S-function source file. * * ------------------------------------------------------------------------- * | See matlabroot/simulink/src/sfuntmpl.doc for a more detailed template | * ------------------------------------------------------------------------- * * Copyright (c) 1990-97, by The MathWorks, Inc. * All Rights Reserved * $Revision 1.1 $ */
/* * You must specify the S_FUNCTION_NAME as the name of your S-function. */
#define S_FUNCTION_NAME imch
/* Input Arguments */
/* * Need to include simstruc.h for the definition of the SimStruct and * its associated macro definitions. *//* #include "tmwtypes.h" */#include "tmwtypes.h"#include "simstruc.h"
#define Rs ssGetArg(S,0)#define Rr ssGetArg(S,1)#define Ls ssGetArg(S,2)#define Lr ssGetArg(S,3)#define Lm ssGetArg(S,4)#define pole ssGetArg(S,5)
/*====================* * S-function methods * *====================*/
/* Function: mdlInitializeSizes =============================================== * Abstract: * * The sizes information is used by SIMULINK to determine the S-function * block's characteristics (number of inputs, outputs, states, etc.). * */static void mdlInitializeSizes(SimStruct *S) ssSetNumContStates( S, 4); /* number of continuous states */ ssSetNumDiscStates( S, 0); /* number of discrete states */ ssSetNumInputs( S, 3); /* number of inputs */ ssSetNumOutputs( S, 5); /* number of outputs */ ssSetDirectFeedThrough(S, 0); /* direct feedthrough flag */ ssSetNumSampleTimes( S, 1); /* number of sample times */ ssSetNumInputArgs( S, 6); ssSetNumRWork( S, 0); /* number of real work vector elements */ ssSetNumIWork( S, 0); /* number of integer work vector elements*/ ssSetNumPWork( S, 0); /* number of pointer work vector elements*/ ssSetNumModes( S, 0); /* number of mode work vector elements */ ssSetNumNonsampledZCs( S, 0); /* number of nonsampled zero crossings */ ssSetOptions( S, 0); /* general options (SS_OPTION_xx) */
http://encon.fke.utm.my/courses/mep1422/imch.c (1 von 3) [17.05.2005 17:15:22]
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 u0=vq u1=vd u2=w */ double lr,ls,rr,rs,lm,a;
lm = mxGetPr(Lm)[0]; lr = mxGetPr(Lr)[0]; ls = mxGetPr(Ls)[0]; rr = mxGetPr(Rr)[0]; rs = mxGetPr(Rs)[0];
a=1/(lm*lm-lr*ls);
dx[0]=(u[2]*lm*lm*x[1]+rs*lr*x[0]+u[2]*lr*lm*x[3]-rr*lm*x[2]-lr*u[0])*a;
dx[1]=(rs*lr*x[1]-u[2]*lm*lm*x[0]-rr*lm*x[3]-u[2]*lr*lm*x[2]-lr*u[1])*a;
dx[2]=-(u[2]*lm*ls*x[1]+rs*lm*x[0]+u[2]*lr*ls*x[3]-rr*ls*x[2]-lm*u[0])*a;
dx[3]=-(rs*lm*x[1]-u[2]*lm*ls*x[0]-rr*ls*x[3]-u[2]*lr*ls*x[2]-lm*u[1])*a;
/* Function: mdlTerminate ===================================================== * Abstract: * * In this function, you should perform any actions that are necessary * at the termination of a simulation. For example, if memory was allocated * in mdlInitializeConditions, this is the place to free it. */static void mdlTerminate(SimStruct *S) /* * YOUR CODE GOES HERE */
/*======================================================* * See sfuntmpl.doc for the optional S-function methods * *======================================================*/
/*=============================* * Required S-function trailer * *=============================*/
#ifdef MATLAB_MEX_FILE /* Is this file being compiled as a MEX-file? */#include "simulink.c" /* MEX-file interface mechanism */#else#include "cg_sfun.h" /* Code generation registration function */#endif
http://encon.fke.utm.my/courses/mep1422/imch.c (3 von 3) [17.05.2005 17:15:22]
! " # # !
$
( )%
!
% ++= π &
%'! %&
$
( += %
%&
[ ] ( )
−−=
++== %
%
&
%
&
!
%
!
%) ) !
[ ] ( ) ( )%
!
&
!
% −=
++== *
$
( )%
!
% ++= +
$
( θ= ,
- ω$
( )%
!
% ++= .
/ $
( θ= 0
1&##
1&
( ) ( )α+θ+α+θ= rrrrsr sinjicosii
αθ= jjr
sr eeii r
α=∴ (
2
34 $
( ) ( )α−θ+α−θ= rsrsrs sinjicosii
α−θ= ((
&5
α−=∴ (
&&
α( α− ( 4
!
$
(
) ψω+
ψ+= &%
θ
θ
ω
α
(
)5 ψω−ω+
ψ+= &!
33 +=ψ &*
33 +=ψ &+
( )%
!
% ++=
-
ψ
ψ 67
ω85$
)
ψ+= &,
(
)5 ψω−
ψ+= &.
33 +=ψ &0
33 +=ψ &2
&,&2 "!!"#
$
%
%
! ×ψ= %5
9 4 $
( ) 33%
%
!
%
%
! ×+=×ψ= %&
: $
3%
%
! −= %%
$
3
3
%
%
! ×ψ= %!
# %!%*
3
3
%
%
!
ψ−ψ= %*
;%* # 1"< %* # 1% =
ψψ=ψ
5 =ψψ
%*$
3
3
%
%
! ψψ= %+
1% %+ ><%+
84 %+>< - 1"<
ψ
%+ 1 4 1"<$1"<1&!
(
)5 ψω−ω+ψ+=
-&+
ψ
ψ
ψ
ψψ
(
3
)3
3
)5 ψω−ω+ψ+−ψ= %,
ψψ=ψ 5
=ψψ %,$
( )
(
(
3
)3
3
)5 ψω+ψ++−ψ= ψψ %.
-$
3
)3
3
)5
ψ+−ψ= ψ %0
3
)35 ψω+−= ψ %2
1 1"< / >1"<1"< 4 ? %,@
1!1"<
1*#
?>: 3/&220AB /<C" DE?F4BE&225AB< /<C" DE?F4G>1H&20.AE;< /<CEE"
STATOR FLUX FOC In stator flux FOC, the frame chosen is aligned to the synchronously rotating frame such that the d–axis coincide with stator flux space phasor.
Figure 1 The torque equation in general reference frame is given by:
(1)
(2) In the chosen reference frame, ψ=ψ and =ψ , hence (2) reduces to:
(3) To implement the stator flux FOC using current–controlled VSI, we need to
i) derive the d and q components of the stator current reference values, ii) obtain the stator flux position in order to transform the rotating frame
to stationary frame..
From (3), given Te* and ψs
*,the q component of the stator current in this reference frame can be easily obtained. To look at the relation between isd and ψs we need to examine the IM equations. The induction machine in general reference frame is given by equations (4)–(7):
ψω+
ψ+=
ψω−ω+
ψ+=
+=ψ
+=ψ (7)
Ψ
ψ
ψ
ψ
ψ
×ψ=
( )
ψ−ψ=
( )
ψ=
Substitute (7) into (5)
(8) The stator flux is obtained by substituting the rotor current (which in practice, normally unavailable) from (6), into (8) With mathematical manipulations and recognizing that in the reference frame where only the d axis component of the stator flux exists, it can be shown that by separating the real and imaginary terms and after substituting rotor current, equation (8) is given by:
(9)
(10) From (10), it can be seen that ψs is proportional to isd and isq. There exists a
coupling between ψs and isq. Varying isq to control the torque will result in ψs to vary too hence the torque will not react immediately to isq.
Figure 2 To overcome this problem, a de–coupler to compensate the effect of the isq component from the output of the PI controller is can be designed [1]. [1] X. Xu, R. K. Doncker, D.W. Novotny, “A stator flux oriented Induction machine
drive”, IEEE-PESC, 1988.
( )
+ω−ω+
++=
( ) ( )
=σ−ψτω−στ+ ψψ
( ) ( )
=στω−στ+=ψτ+ ψψ
→
θ
Ψ
!
"
""
−
Ψ
θ
#ψ#
!$!$
%&' '(
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 "on" Grid "on" TimeRange "auto" YMin "-5" YMax "5" SaveToWorkspace off SaveName "ScopeData" LimitDataPoints on MaxDataPoints "5000" Decimation "1" SampleInput off SampleTime "0" Block BlockType "S-Function" FunctionName "system" PortCounts "[]" SFunctionModules "''" Block BlockType SignalGenerator WaveForm "sine" Amplitude "1" Frequency "1" Units "Hertz" VectorParams1D on Block BlockType SubSystem ShowPortLabels on Permissions "ReadWrite" RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" SimViewingDevice off DataTypeOverride "UseLocalSettings" MinMaxOverflowLogging "UseLocalSettings" Block BlockType Sum IconShape "rectangular" Inputs "++" ShowAdditionalParam off InputSameDT on OutDataTypeMode "Same as first input" OutDataType "sfix(16)" OutScaling "2^0" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on Block BlockType Trigonometry Operator "sin" OutputSignalType "auto" AnnotationDefaults HorizontalAlignment "center" VerticalAlignment "middle" ForegroundColor "black" BackgroundColor "white" DropShadow off FontName "Helvetica" FontSize 10
http://encon.fke.utm.my/courses/mep1422/foc.mdl (5 von 36) [17.05.2005 17:15:41]
http://encon.fke.utm.my/courses/mep1422/foc.mdl
FontWeight "normal" FontAngle "normal" LineDefaults FontName "Helvetica" FontSize 9 FontWeight "normal" FontAngle "normal" System Name "foc" Location [26, 100, 942, 425] Open on ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "91" ReportName "simulink-default.rpt" Block BlockType Gain Name "Gain3" Position [580, 305, 610, 335] Orientation "left" Block BlockType SubSystem Name "Induction Machine" Ports [3, 8] Position [645, 13, 700, 142] TreatAsAtomicUnit off MaskPromptString "Stator resistance (ohm)|Rotor resistance (ohm)|""Stator self inductance (H)|Rotor self inductance (H)|Mutual Inductance (H)|No"" of poles|Moment of inertia (kg.m^2)|Load torque (Nm)" MaskStyleString "edit,edit,edit,edit,edit,edit,edit,edit" MaskTunableValueString "on,on,on,on,on,on,on,on" MaskCallbackString "|||||||" MaskEnableString "on,on,on,on,on,on,on,on" MaskVisibilityString "on,on,on,on,on,on,on,on" MaskToolTipString "on,on,on,on,on,on,on,on" MaskVarAliasString ",,,,,,," MaskVariables "Rs=@1;Rr=@2;Ls=@3;Lr=@4;Lm=@5;pole=@6;J=@7;Tloa""d=@8;" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "5.5|4.51|306.5e-3|306.5e-3|291.9e-3|4|0.02|0" System Name "Induction Machine" Location [4, 74, 764, 534] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Inport
http://encon.fke.utm.my/courses/mep1422/foc.mdl (6 von 36) [17.05.2005 17:15:41]
http://encon.fke.utm.my/courses/mep1422/foc.mdl
Name "Va" Position [25, 40, 45, 60] Block BlockType Inport Name "Vb" Position [25, 120, 45, 140] Port "2" Block BlockType Inport Name "Vc" Position [25, 240, 45, 260] Port "3" Block BlockType Gain Name "1/J" Position [260, 292, 285, 318] Orientation "left" Gain "1/J" SaturateOnIntegerOverflow off Block BlockType Gain Name "1/J1" Position [375, 367, 400, 393] Gain "0.01" SaturateOnIntegerOverflow off Block BlockType SubSystem Name "3to2" Ports [3, 2] Position [105, 81, 135, 139] ShowPortLabels off TreatAsAtomicUnit off System Name "3to2" Location [323, 87, 947, 513] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Inport Name "in_1" Position [15, 50, 35, 70] Block BlockType Inport Name "b" Position [15, 115, 35, 135] Port "2" Block BlockType Inport Name "c" Position [15, 180, 35, 200] Port "3"
http://encon.fke.utm.my/courses/mep1422/foc.mdl (7 von 36) [17.05.2005 17:15:41]
http://encon.fke.utm.my/courses/mep1422/foc.mdl
Block BlockType Gain Name "Gain3" Position [120, 248, 160, 272] Gain "0.577" Block BlockType Gain Name "Gain4" Position [120, 298, 160, 322] Gain "-0.577" Block BlockType Gain Name "Gain5" Position [145, 143, 185, 167] Gain "-0.33333" Block BlockType Gain Name "Gain6" Position [140, 183, 180, 207] Gain "-0.33333" Block BlockType Gain Name "Gain7" Position [135, 63, 175, 87] Gain "0.66666" Block BlockType Sum Name "Ib" Ports [2, 1] Position [240, 255, 260, 275] Block BlockType Sum Name "Ib1" Ports [3, 1] Position [385, 52, 405, 88] Inputs "+++" Block BlockType Outport Name "d" Position [535, 60, 555, 80] InitialOutput "0" Block BlockType Outport Name "q" Position [310, 250, 330, 270] Port "2" InitialOutput "0" Line SrcBlock "Ib1" SrcPort 1 DstBlock "d" DstPort 1 Line SrcBlock "Gain7"
http://encon.fke.utm.my/courses/mep1422/foc.mdl (8 von 36) [17.05.2005 17:15:41]
http://encon.fke.utm.my/courses/mep1422/foc.mdl
SrcPort 1 Points [30, 0; 0, -15] DstBlock "Ib1" DstPort 1 Line SrcBlock "in_1" SrcPort 1 Points [40, 0; 0, 15] DstBlock "Gain7" DstPort 1 Line SrcBlock "Gain6" SrcPort 1 Points [30, 0; 0, -125] DstBlock "Ib1" DstPort 2 Line SrcBlock "Gain5" SrcPort 1 Points [60, 0; 0, -75] DstBlock "Ib1" DstPort 3 Line SrcBlock "c" SrcPort 1 Points [40, 0; 0, 5] Branch DstBlock "Gain6" DstPort 1 Branch Points [0, 115] DstBlock "Gain4" DstPort 1 Line SrcBlock "b" SrcPort 1 Points [20, 0; 0, 30] Branch DstBlock "Gain5" DstPort 1 Branch Points [0, 105] DstBlock "Gain3" DstPort 1 Line SrcBlock "Gain3" SrcPort 1 DstBlock "Ib" DstPort 1 Line SrcBlock "Gain4" SrcPort 1 Points [30, 0; 0, -40] DstBlock "Ib"
http://encon.fke.utm.my/courses/mep1422/foc.mdl (9 von 36) [17.05.2005 17:15:41]
http://encon.fke.utm.my/courses/mep1422/foc.mdl
DstPort 2 Line SrcBlock "Ib" SrcPort 1 DstBlock "q" DstPort 1 Block BlockType Constant Name "Constant" Position [630, 306, 670, 324] Orientation "left" Value "Tload" Block BlockType Demux Name "Demux" Ports [1, 5] Position [420, 91, 460, 149] Outputs "5" Block BlockType Gain Name "Gain1" Position [150, 407, 175, 433] Orientation "left" Gain "2/pole" Block BlockType SubSystem Name "IM1" Ports [1, 1] Position [320, 106, 380, 134] TreatAsAtomicUnit off System Name "IM1" Location [248, 340, 468, 422] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Inport Name "In1" Position [25, 33, 55, 47] Block BlockType "S-Function" Name "S-Function" Ports [1, 1] Position [80, 25, 140, 55] FunctionName "imch" Parameters "Rs, Rr, Ls,Lr,Lm,pole" Block BlockType Outport Name "Out1"
http://encon.fke.utm.my/courses/mep1422/foc.mdl (10 von 36) [17.05.2005 17:15:41]
http://encon.fke.utm.my/courses/mep1422/foc.mdl
Position [165, 33, 195, 47] InitialOutput "0" Line SrcBlock "In1" SrcPort 1 DstBlock "S-Function" DstPort 1 Line SrcBlock "S-Function" SrcPort 1 DstBlock "Out1" DstPort 1 Block BlockType Integrator Name "Integrator" Ports [1, 1] Position [360, 295, 380, 315] Orientation "left" Block BlockType Mux Name "Mux" Ports [3, 1] Position [260, 104, 290, 136] Inputs "3" Block BlockType Sum Name "Sum" Ports [3, 1] Position [440, 287, 460, 323] Orientation "left" Inputs "+--" Block BlockType Outport Name "isd" Position [630, 25, 650, 45] InitialOutput "0" Block BlockType Outport Name "isq" Position [625, 70, 645, 90] Port "2" InitialOutput "0" Block BlockType Outport Name "ird" Position [600, 140, 620, 160] Port "3" InitialOutput "0" Block BlockType Outport Name "speed" Position [90, 410, 110, 430] Orientation "left" Port "4"
http://encon.fke.utm.my/courses/mep1422/foc.mdl (11 von 36) [17.05.2005 17:15:41]
http://encon.fke.utm.my/courses/mep1422/foc.mdl
InitialOutput "0" Block BlockType Outport Name "Vd" Position [265, 50, 285, 70] Port "5" InitialOutput "0" Block BlockType Outport Name "irq" Position [595, 185, 615, 205] Port "6" InitialOutput "0" Block BlockType Outport Name "Vq" Position [90, 285, 110, 305] Orientation "left" Port "7" InitialOutput "0" Block BlockType Outport Name "Te" Position [715, 230, 735, 250] Port "8" InitialOutput "0" Line SrcBlock "Demux" SrcPort 1 Points [60, 0; 0, -20] DstBlock "isq" DstPort 1 Line SrcBlock "Demux" SrcPort 2 Points [65, 0; 0, -75] DstBlock "isd" DstPort 1 Line SrcBlock "3to2" SrcPort 2 Points [0, 0] Branch Points [0, 170] DstBlock "Vq" DstPort 1 Branch Points [55, 0; 0, -15] DstBlock "Mux" DstPort 1 Line SrcBlock "3to2" SrcPort 1 Points [0, 0; 25, 0] Branch
http://encon.fke.utm.my/courses/mep1422/foc.mdl (12 von 36) [17.05.2005 17:15:41]
http://encon.fke.utm.my/courses/mep1422/foc.mdl
Points [0, -35] DstBlock "Vd" DstPort 1 Branch Points [30, 0; 0, 25] DstBlock "Mux" DstPort 2 Line SrcBlock "Demux" SrcPort 5 Points [45, 0; 0, 145] Branch Points [0, 15; -35, 0] DstBlock "Sum" DstPort 1 Branch Points [70, 0; 0, -45] DstBlock "Te" DstPort 1 Line SrcBlock "Vc" SrcPort 1 Points [20, 0; 0, -120] DstBlock "3to2" DstPort 3 Line SrcBlock "Vb" SrcPort 1 Points [20, 0; 0, -20] DstBlock "3to2" DstPort 2 Line SrcBlock "Va" SrcPort 1 Points [20, 0; 0, 40] DstBlock "3to2" DstPort 1 Line SrcBlock "1/J" SrcPort 1 Points [0, 0; -25, 0] Branch Points [0, -175] DstBlock "Mux" DstPort 3 Branch Points [-15, 0; 0, 75] Branch Points [0, 40] DstBlock "Gain1" DstPort 1 Branch DstBlock "1/J1" DstPort 1
http://encon.fke.utm.my/courses/mep1422/foc.mdl (13 von 36) [17.05.2005 17:15:41]
http://encon.fke.utm.my/courses/mep1422/foc.mdl
Line SrcBlock "Mux" SrcPort 1 DstBlock "IM1" DstPort 1 Line SrcBlock "IM1" SrcPort 1 DstBlock "Demux" DstPort 1 Line SrcBlock "Sum" SrcPort 1 DstBlock "Integrator" DstPort 1 Line SrcBlock "Integrator" SrcPort 1 DstBlock "1/J" DstPort 1 Line SrcBlock "Demux" SrcPort 3 Points [30, 0; 0, 75] DstBlock "irq" DstPort 1 Line SrcBlock "Demux" SrcPort 4 Points [25, 0; 0, 20] DstBlock "ird" DstPort 1 Line SrcBlock "Gain1" SrcPort 1 Points [0, 0] DstBlock "speed" DstPort 1 Line SrcBlock "1/J1" SrcPort 1 Points [145, 0; 0, -75] DstBlock "Sum" DstPort 2 Line SrcBlock "Constant" SrcPort 1 DstBlock "Sum" DstPort 3 Annotation Name "q" Position [482, 87] VerticalAlignment "top"
http://encon.fke.utm.my/courses/mep1422/foc.mdl (14 von 36) [17.05.2005 17:15:41]
http://encon.fke.utm.my/courses/mep1422/foc.mdl
Block BlockType Integrator Name "Integrator1" Ports [1, 1] Position [180, 305, 210, 335] Block BlockType Integrator Name "Integrator2" Ports [1, 1] Position [390, 305, 420, 335] Orientation "left" Block BlockType Relay Name "Relay" Position [540, 30, 570, 60] OnSwitchValue "0.2" OffSwitchValue "-0.2" OnOutputValue "300" OffOutputValue "-300" Block BlockType Relay Name "Relay1" Position [545, 65, 575, 95] OnSwitchValue "0.2" OffSwitchValue "-0.2" OnOutputValue "300" OffOutputValue "-300" Block BlockType Relay Name "Relay2" Position [545, 115, 575, 145] OnSwitchValue "0.2" OffSwitchValue "-0.2" OnOutputValue "300" OffOutputValue "-300" Block BlockType Constant Name "Rotor Flux" Position [20, 134, 40, 156] Value "1.2*(291.9e-3/306.5e-3)" Block BlockType Scope Name "Scope" Ports [2] Position [835, 205, 865, 240] Location [581, 461, 905, 736] Open on NumInputPorts "2" ZoomMode "yonly" List ListType AxesTitles axes1 "%<SignalLabel>" axes2 "%<SignalLabel>" List ListType SelectedSignals
http://encon.fke.utm.my/courses/mep1422/foc.mdl (15 von 36) [17.05.2005 17:15:41]
http://encon.fke.utm.my/courses/mep1422/foc.mdl
axes1 "" axes2 "" TimeRange "0.1" YMin "-25~-30" YMax "25~30" DataFormat "StructureWithTime" Block BlockType SignalGenerator Name "Signal\nGenerator" Position [25, 50, 55, 80] WaveForm "square" Amplitude "-20" Frequency "20" Block BlockType SubSystem Name "Subsystem" Ports [4, 4] Position [895, 21, 945, 124] TreatAsAtomicUnit off System Name "Subsystem" Location [596, 100, 1004, 348] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Inport Name "ird" Position [25, 33, 55, 47] Block BlockType Inport Name "isd" Position [25, 78, 55, 92] Port "2" Block BlockType Inport Name "irq" Position [25, 128, 55, 142] Port "3" Block BlockType Inport Name "isq" Position [25, 173, 55, 187] Port "4" Block BlockType Reference Name "Cartesian to\nPolar" Ports [2, 2] Position [255, 87, 285, 118] SourceBlock "simulink_extras/Transformations/Cartesian t""o\nPolar" SourceType "Cart2Polar"
http://encon.fke.utm.my/courses/mep1422/foc.mdl (16 von 36) [17.05.2005 17:15:41]
http://encon.fke.utm.my/courses/mep1422/foc.mdl
Block BlockType Gain Name "Gain" Position [80, 25, 110, 55] Gain "306.5e-3" Block BlockType Gain Name "Gain1" Position [80, 70, 110, 100] Gain "291.9e-3" Block BlockType Gain Name "Gain2" Position [80, 120, 110, 150] Gain "306.5e-3" Block BlockType Gain Name "Gain3" Position [80, 165, 110, 195] Gain "291.9e-3" Block BlockType Sum Name "Sum" Ports [2, 1] Position [175, 55, 195, 75] ShowName off IconShape "round" Inputs "+|+" InputSameDT off OutDataTypeMode "Inherit via internal rule" Block BlockType Sum Name "Sum1" Ports [2, 1] Position [175, 150, 195, 170] ShowName off IconShape "round" Inputs "+|+" InputSameDT off OutDataTypeMode "Inherit via internal rule" Block BlockType Outport Name "Fm" Position [355, 88, 385, 102] Block BlockType Outport Name "F_the" Position [310, 103, 340, 117] Port "2" Block BlockType Outport Name "Fd" Position [310, 33, 340, 47] Port "3" Block
http://encon.fke.utm.my/courses/mep1422/foc.mdl (17 von 36) [17.05.2005 17:15:41]
http://encon.fke.utm.my/courses/mep1422/foc.mdl
BlockType Outport Name "Fq" Position [305, 153, 335, 167] Port "4" Line SrcBlock "Gain" SrcPort 1 Points [40, 0] DstBlock "Sum" DstPort 1 Line SrcBlock "Gain1" SrcPort 1 Points [70, 0] DstBlock "Sum" DstPort 2 Line SrcBlock "Sum" SrcPort 1 Points [25, 0] Branch Points [15, 0] DstBlock "Cartesian to\nPolar" DstPort 1 Branch Points [0, -25] DstBlock "Fd" DstPort 1 Line SrcBlock "Gain2" SrcPort 1 Points [40, 0] DstBlock "Sum1" DstPort 1 Line SrcBlock "Gain3" SrcPort 1 Points [70, 0] DstBlock "Sum1" DstPort 2 Line SrcBlock "Sum1" SrcPort 1 Points [40, 0; 0, -5] Branch DstBlock "Cartesian to\nPolar" DstPort 2 Branch Points [0, 5] DstBlock "Fq" DstPort 1 Line SrcBlock "ird" SrcPort 1
http://encon.fke.utm.my/courses/mep1422/foc.mdl (18 von 36) [17.05.2005 17:15:41]
http://encon.fke.utm.my/courses/mep1422/foc.mdl
DstBlock "Gain" DstPort 1 Line SrcBlock "isd" SrcPort 1 DstBlock "Gain1" DstPort 1 Line SrcBlock "Cartesian to\nPolar" SrcPort 1 DstBlock "Fm" DstPort 1 Line SrcBlock "Cartesian to\nPolar" SrcPort 2 DstBlock "F_the" DstPort 1 Line SrcBlock "irq" SrcPort 1 DstBlock "Gain2" DstPort 1 Line SrcBlock "isq" SrcPort 1 DstBlock "Gain3" DstPort 1 Block BlockType SubSystem Name "Subsystem1" Ports [2, 3] Position [95, 50, 135, 110] TreatAsAtomicUnit off MaskPromptString "Lm|Lr|Rr|p" MaskStyleString "edit,edit,edit,edit" MaskTunableValueString "on,on,on,on" MaskCallbackString "|||" MaskEnableString "on,on,on,on" MaskVisibilityString "on,on,on,on" MaskToolTipString "on,on,on,on" MaskVarAliasString ",,," MaskVariables "Lm=@1;Lr=@2;Rr=@3;p=@4;" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "291.9e-3|306.5e-3|4.51|4" System Name "Subsystem1" Location [2, 74, 1014, 724] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter"
http://encon.fke.utm.my/courses/mep1422/foc.mdl (19 von 36) [17.05.2005 17:15:41]
http://encon.fke.utm.my/courses/mep1422/foc.mdl
PaperUnits "inches" ZoomFactor "100" Block BlockType Inport Name "T" Position [90, 33, 120, 47] Block BlockType Inport Name "Flux" Position [35, 118, 65, 132] Port "2" Block BlockType Constant Name "Constant1" Position [140, 279, 210, 301] Value "1/Lm" Block BlockType Derivative Name "Derivative" Position [165, 180, 195, 210] Block BlockType Reference Name "Dot Product" Ports [2, 1] Position [230, 26, 260, 59] SourceBlock "simulink/Math\nOperations/Dot Product" SourceType "Dot Product" Block BlockType Reference Name "Dot Product1" Ports [2, 1] Position [292, 115, 323, 150] Orientation "down" NamePlacement "alternate" SourceBlock "simulink/Math\nOperations/Dot Product" SourceType "Dot Product" Block BlockType Reference Name "Dot Product2" Ports [2, 1] Position [390, 205, 425, 240] NamePlacement "alternate" SourceBlock "simulink/Math\nOperations/Dot Product" SourceType "Dot Product" Block BlockType Gain Name "Gain" Position [145, 25, 175, 55] Gain "(4*Lr)/(3*p*Lm)" Block BlockType Gain Name "Gain1" Position [230, 85, 260, 115] Gain "(Lm*Rr)/Lr" Block BlockType Gain
http://encon.fke.utm.my/courses/mep1422/foc.mdl (20 von 36) [17.05.2005 17:15:41]
http://encon.fke.utm.my/courses/mep1422/foc.mdl
Name "Gain2" Position [115, 180, 145, 210] Gain "Lr/Rr" Block BlockType Math Name "Math\nFunction" Ports [1, 1] Position [145, 110, 175, 140] Operator "reciprocal" Block BlockType Sum Name "Sum2" Ports [2, 1] Position [255, 185, 275, 205] ShowName off IconShape "round" Inputs "|++" InputSameDT off OutDataTypeMode "Inherit via internal rule" Block BlockType Outport Name "isq" Position [340, 38, 370, 52] Block BlockType Outport Name "slip" Position [295, 175, 325, 190] Orientation "down" Port "2" Block BlockType Outport Name "isd" Position [510, 218, 540, 232] Port "3" Line SrcBlock "Flux" SrcPort 1 Points [25, 0] Branch DstBlock "Math\nFunction" DstPort 1 Branch Points [0, 70] Branch DstBlock "Gain2" DstPort 1 Branch Points [0, 40; 170, 0] DstBlock "Sum2" DstPort 2 Line SrcBlock "Math\nFunction" SrcPort 1 Points [25, 0; 0, -25]
http://encon.fke.utm.my/courses/mep1422/foc.mdl (21 von 36) [17.05.2005 17:15:41]
http://encon.fke.utm.my/courses/mep1422/foc.mdl
Branch Points [0, -50] DstBlock "Dot Product" DstPort 2 Branch DstBlock "Gain1" DstPort 1 Line SrcBlock "Gain" SrcPort 1 Points [35, 0] DstBlock "Dot Product" DstPort 1 Line SrcBlock "Dot Product" SrcPort 1 Points [0, 0; 55, 0] Branch Points [-5, 0] DstBlock "Dot Product1" DstPort 2 Branch DstBlock "isq" DstPort 1 Line SrcBlock "Gain1" SrcPort 1 DstBlock "Dot Product1" DstPort 1 Line SrcBlock "T" SrcPort 1 DstBlock "Gain" DstPort 1 Line SrcBlock "Dot Product1" SrcPort 1 DstBlock "slip" DstPort 1 Line SrcBlock "Gain2" SrcPort 1 DstBlock "Derivative" DstPort 1 Line SrcBlock "Derivative" SrcPort 1 DstBlock "Sum2" DstPort 1 Line SrcBlock "Dot Product2" SrcPort 1 DstBlock "isd"
http://encon.fke.utm.my/courses/mep1422/foc.mdl (22 von 36) [17.05.2005 17:15:41]
http://encon.fke.utm.my/courses/mep1422/foc.mdl
DstPort 1 Line SrcBlock "Sum2" SrcPort 1 Points [45, 0; 0, 20] DstBlock "Dot Product2" DstPort 1 Line SrcBlock "Constant1" SrcPort 1 Points [85, 0; 0, -60] DstBlock "Dot Product2" DstPort 2 Block BlockType SubSystem Name "Subsystem3" Ports [2, 3] Position [605, 185, 645, 245] Orientation "left" TreatAsAtomicUnit off System Name "Subsystem3" Location [436, 127, 909, 413] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Inport Name "In1" Position [80, 38, 110, 52] Block BlockType Inport Name "In2" Position [115, 143, 145, 157] Port "2" Block BlockType Gain Name "Gain1" Position [215, 28, 255, 52] Gain "1.0001" Block BlockType Gain Name "Gain10" Position [215, 238, 255, 262] Gain "-0.867" Block BlockType Gain Name "Gain2" Position [215, 83, 255, 107] Gain "-0.5"
http://encon.fke.utm.my/courses/mep1422/foc.mdl (23 von 36) [17.05.2005 17:15:41]
http://encon.fke.utm.my/courses/mep1422/foc.mdl
Block BlockType Gain Name "Gain8" Position [215, 138, 255, 162] Gain "0.867" Block BlockType Gain Name "Gain9" Position [215, 188, 255, 212] Gain "-0.5" Block BlockType Sum Name "Ib2" Ports [2, 1] Position [375, 102, 395, 138] Block BlockType Sum Name "Ib3" Ports [2, 1] Position [375, 187, 395, 223] Block BlockType Outport Name "Out1" Position [280, 33, 310, 47] Block BlockType Outport Name "Out2" Position [420, 113, 450, 127] Port "2" Block BlockType Outport Name "Out3" Position [420, 198, 450, 212] Port "3" Line SrcBlock "In1" SrcPort 1 Points [0, 0; 15, 0] Branch Points [70, 0] DstBlock "Gain1" DstPort 1 Branch Points [0, 50] Branch DstBlock "Gain2" DstPort 1 Branch Points [0, 105] DstBlock "Gain9" DstPort 1 Line
http://encon.fke.utm.my/courses/mep1422/foc.mdl (24 von 36) [17.05.2005 17:15:41]
http://encon.fke.utm.my/courses/mep1422/foc.mdl
SrcBlock "In2" SrcPort 1 Points [0, 0; 15, 0] Branch DstBlock "Gain8" DstPort 1 Branch Points [0, 100] DstBlock "Gain10" DstPort 1 Line SrcBlock "Gain2" SrcPort 1 Points [50, 0; 0, 15] DstBlock "Ib2" DstPort 1 Line SrcBlock "Gain8" SrcPort 1 Points [50, 0; 0, -20] DstBlock "Ib2" DstPort 2 Line SrcBlock "Gain9" SrcPort 1 Points [50, 0; 0, -5] DstBlock "Ib3" DstPort 1 Line SrcBlock "Gain10" SrcPort 1 Points [50, 0; 0, -35] DstBlock "Ib3" DstPort 2 Line SrcBlock "Gain1" SrcPort 1 DstBlock "Out1" DstPort 1 Line SrcBlock "Ib2" SrcPort 1 DstBlock "Out2" DstPort 1 Line SrcBlock "Ib3" SrcPort 1 DstBlock "Out3" DstPort 1 Block BlockType SubSystem Name "Subsystem4" Ports [2, 3]
http://encon.fke.utm.my/courses/mep1422/foc.mdl (25 von 36) [17.05.2005 17:15:41]
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 [375, 187, 395, 223] Block BlockType Outport Name "Out1" Position [280, 33, 310, 47] Block BlockType Outport Name "Out2" Position [420, 113, 450, 127] Port "2" Block BlockType Outport Name "Out3" Position [420, 198, 450, 212] Port "3" Line SrcBlock "In1" SrcPort 1 Points [0, 0; 15, 0] Branch Points [70, 0] DstBlock "Gain1" DstPort 1 Branch Points [0, 50] Branch DstBlock "Gain2" DstPort 1 Branch Points [0, 105] DstBlock "Gain9" DstPort 1 Line SrcBlock "In2" SrcPort 1 Points [0, 0; 15, 0] Branch DstBlock "Gain8" DstPort 1 Branch Points [0, 100] DstBlock "Gain10" DstPort 1 Line SrcBlock "Gain2" SrcPort 1 Points [50, 0; 0, 15] DstBlock "Ib2" DstPort 1 Line SrcBlock "Gain8" SrcPort 1
http://encon.fke.utm.my/courses/mep1422/foc.mdl (27 von 36) [17.05.2005 17:15:41]
http://encon.fke.utm.my/courses/mep1422/foc.mdl
Points [50, 0; 0, -20] DstBlock "Ib2" DstPort 2 Line SrcBlock "Gain9" SrcPort 1 Points [50, 0; 0, -5] DstBlock "Ib3" DstPort 1 Line SrcBlock "Gain10" SrcPort 1 Points [50, 0; 0, -35] DstBlock "Ib3" DstPort 2 Line SrcBlock "Gain1" SrcPort 1 DstBlock "Out1" DstPort 1 Line SrcBlock "Ib2" SrcPort 1 DstBlock "Out2" DstPort 1 Line SrcBlock "Ib3" SrcPort 1 DstBlock "Out3" DstPort 1 Block BlockType SubSystem Name "Subsystem5" Ports [3, 2] Position [240, 48, 280, 112] TreatAsAtomicUnit off System Name "Subsystem5" Location [468, 82, 922, 447] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Inport Name "iq" Position [25, 113, 55, 127] Block BlockType Inport Name "id" Position [25, 23, 55, 37]
http://encon.fke.utm.my/courses/mep1422/foc.mdl (28 von 36) [17.05.2005 17:15:41]
http://encon.fke.utm.my/courses/mep1422/foc.mdl
Port "2" Block BlockType Inport Name "fp" Position [25, 243, 55, 257] Port "3" Block BlockType Reference Name "Dot Product" Ports [2, 1] Position [245, 46, 275, 79] SourceBlock "simulink/Math\nOperations/Dot Product" SourceType "Dot Product" Block BlockType Reference Name "Dot Product1" Ports [2, 1] Position [245, 136, 275, 169] SourceBlock "simulink/Math\nOperations/Dot Product" SourceType "Dot Product" Block BlockType Reference Name "Dot Product2" Ports [2, 1] Position [260, 201, 290, 234] SourceBlock "simulink/Math\nOperations/Dot Product" SourceType "Dot Product" Block BlockType Reference Name "Dot Product3" Ports [2, 1] Position [260, 251, 290, 284] SourceBlock "simulink/Math\nOperations/Dot Product" SourceType "Dot Product" Block BlockType Sum Name "Sum1" Ports [2, 1] Position [350, 95, 370, 115] ShowName off IconShape "round" Inputs "|+-" InputSameDT off OutDataTypeMode "Inherit via internal rule" Block BlockType Sum Name "Sum2" Ports [2, 1] Position [350, 210, 370, 230] ShowName off IconShape "round" Inputs "|++" InputSameDT off OutDataTypeMode "Inherit via internal rule" Block BlockType Trigonometry Name "Trigonometric\nFunction"
http://encon.fke.utm.my/courses/mep1422/foc.mdl (29 von 36) [17.05.2005 17:15:41]
http://encon.fke.utm.my/courses/mep1422/foc.mdl
Ports [1, 1] Position [165, 145, 195, 175] Block BlockType Trigonometry Name "Trigonometric\nFunction1" Ports [1, 1] Position [170, 55, 200, 85] Operator "cos" Block BlockType Outport Name "Out1" Position [395, 98, 425, 112] Block BlockType Outport Name "Out2" Position [395, 213, 425, 227] Port "2" Line SrcBlock "fp" SrcPort 1 Points [5, 0; 0, 5; 25, 0; 0, -95] Branch DstBlock "Trigonometric\nFunction" DstPort 1 Branch Points [0, -90] DstBlock "Trigonometric\nFunction1" DstPort 1 Line SrcBlock "id" SrcPort 1 Points [0, 0; 80, 0] Branch Points [0, 230] DstBlock "Dot Product3" DstPort 1 Branch Points [90, 0] DstBlock "Dot Product" DstPort 1 Line SrcBlock "iq" SrcPort 1 Points [0, 0; 70, 0] Branch Points [0, 105] DstBlock "Dot Product2" DstPort 2 Branch Points [90, 0; 0, 25] DstBlock "Dot Product1" DstPort 1
http://encon.fke.utm.my/courses/mep1422/foc.mdl (30 von 36) [17.05.2005 17:15:41]
http://encon.fke.utm.my/courses/mep1422/foc.mdl
Line SrcBlock "Dot Product3" SrcPort 1 Points [65, 0] DstBlock "Sum2" DstPort 2 Line SrcBlock "Dot Product2" SrcPort 1 DstBlock "Sum2" DstPort 1 Line SrcBlock "Dot Product1" SrcPort 1 Points [80, 0] DstBlock "Sum1" DstPort 2 Line SrcBlock "Trigonometric\nFunction" SrcPort 1 Points [0, 0; 5, 0] Branch DstBlock "Dot Product1" DstPort 2 Branch Points [0, 115] DstBlock "Dot Product3" DstPort 2 Line SrcBlock "Dot Product" SrcPort 1 Points [55, 0] DstBlock "Sum1" DstPort 1 Line SrcBlock "Trigonometric\nFunction1" SrcPort 1 Points [0, 0; 15, 0] Branch DstBlock "Dot Product" DstPort 2 Branch Points [0, 140] DstBlock "Dot Product2" DstPort 1 Line SrcBlock "Sum1" SrcPort 1 DstBlock "Out1" DstPort 1 Line SrcBlock "Sum2" SrcPort 1 DstBlock "Out2"
http://encon.fke.utm.my/courses/mep1422/foc.mdl (31 von 36) [17.05.2005 17:15:41]
http://encon.fke.utm.my/courses/mep1422/foc.mdl
DstPort 1 Block BlockType Sum Name "Sum" Ports [2, 1] Position [235, 305, 265, 335] Orientation "up" ShowName off IconShape "round" Inputs "+|+" InputSameDT off OutDataTypeMode "Inherit via internal rule" Block BlockType Sum Name "Sum1" Ports [2, 1] Position [460, 35, 480, 55] ShowName off IconShape "round" Inputs "|+-" InputSameDT off OutDataTypeMode "Inherit via internal rule" Block BlockType Sum Name "Sum2" Ports [2, 1] Position [480, 70, 500, 90] ShowName off IconShape "round" Inputs "|+-" InputSameDT off OutDataTypeMode "Inherit via internal rule" Block BlockType Sum Name "Sum3" Ports [2, 1] Position [505, 120, 525, 140] ShowName off IconShape "round" Inputs "|+-" InputSameDT off OutDataTypeMode "Inherit via internal rule" Line SrcBlock "Induction Machine" SrcPort 4 Points [0, 0; 15, 0] Branch Points [20, 0; 0, 250] DstBlock "Gain3" DstPort 1 Branch Points [0, 145] DstBlock "Scope" DstPort 1 Line
http://encon.fke.utm.my/courses/mep1422/foc.mdl (32 von 36) [17.05.2005 17:15:41]
http://encon.fke.utm.my/courses/mep1422/foc.mdl
SrcBlock "Subsystem1" SrcPort 2 Points [20, 0; 0, 240] DstBlock "Integrator1" DstPort 1 Line SrcBlock "Signal\nGenerator" SrcPort 1 DstBlock "Subsystem1" DstPort 1 Line SrcBlock "Rotor Flux" SrcPort 1 Points [15, 0; 0, -50] DstBlock "Subsystem1" DstPort 2 Line SrcBlock "Subsystem4" SrcPort 1 Points [15, 0; 0, -15] DstBlock "Sum1" DstPort 1 Line SrcBlock "Sum1" SrcPort 1 DstBlock "Relay" DstPort 1 Line SrcBlock "Relay" SrcPort 1 Points [55, 0] DstBlock "Induction Machine" DstPort 1 Line SrcBlock "Subsystem4" SrcPort 2 DstBlock "Sum2" DstPort 1 Line SrcBlock "Sum2" SrcPort 1 DstBlock "Relay1" DstPort 1 Line SrcBlock "Sum3" SrcPort 1 DstBlock "Relay2" DstPort 1 Line SrcBlock "Subsystem4" SrcPort 3 Points [20, 0; 0, 30] DstBlock "Sum3" DstPort 1 Line
http://encon.fke.utm.my/courses/mep1422/foc.mdl (33 von 36) [17.05.2005 17:15:41]
http://encon.fke.utm.my/courses/mep1422/foc.mdl
SrcBlock "Gain3" SrcPort 1 DstBlock "Integrator2" DstPort 1 Line SrcBlock "Induction Machine" SrcPort 1 Points [90, 0; 0, 35; 5, 0] Branch DstBlock "Subsystem" DstPort 2 Branch Points [0, 140] DstBlock "Subsystem3" DstPort 1 Line SrcBlock "Induction Machine" SrcPort 2 Points [0, 10; 75, 0] Branch Points [30, 0; 0, 60] DstBlock "Subsystem" DstPort 4 Branch Points [0, 180] DstBlock "Subsystem3" DstPort 2 Line SrcBlock "Induction Machine" SrcPort 3 Points [175, 0] DstBlock "Subsystem" DstPort 1 Line SrcBlock "Induction Machine" SrcPort 6 Points [175, 0] DstBlock "Subsystem" DstPort 3 Line SrcBlock "Relay1" SrcPort 1 DstBlock "Induction Machine" DstPort 2 Line SrcBlock "Relay2" SrcPort 1 Points [35, 0; 0, -10; 15, 0] DstBlock "Induction Machine" DstPort 3 Line SrcBlock "Integrator1" SrcPort 1 DstBlock "Sum"
http://encon.fke.utm.my/courses/mep1422/foc.mdl (34 von 36) [17.05.2005 17:15:41]
http://encon.fke.utm.my/courses/mep1422/foc.mdl
DstPort 1 Line SrcBlock "Integrator2" SrcPort 1 DstBlock "Sum" DstPort 2 Line SrcBlock "Subsystem3" SrcPort 1 Points [-130, 0] DstBlock "Sum1" DstPort 2 Line SrcBlock "Subsystem3" SrcPort 2 Points [-110, 0] DstBlock "Sum2" DstPort 2 Line SrcBlock "Subsystem3" SrcPort 3 Points [-85, 0] DstBlock "Sum3" DstPort 2 Line SrcBlock "Subsystem1" SrcPort 3 Points [50, 0; 0, -20] DstBlock "Subsystem5" DstPort 2 Line SrcBlock "Subsystem5" SrcPort 1 DstBlock "Subsystem4" DstPort 1 Line SrcBlock "Subsystem5" SrcPort 2 DstBlock "Subsystem4" DstPort 2 Line SrcBlock "Subsystem1" SrcPort 1 DstBlock "Subsystem5" DstPort 1 Line SrcBlock "Sum" SrcPort 1 Points [0, -120; -25, 0] DstBlock "Subsystem5" DstPort 3 Line SrcBlock "Induction Machine" SrcPort 8 Points [20, 0; 0, 100]
http://encon.fke.utm.my/courses/mep1422/foc.mdl (35 von 36) [17.05.2005 17:15:41]
http://encon.fke.utm.my/courses/mep1422/foc.mdl
DstBlock "Scope" DstPort 2
http://encon.fke.utm.my/courses/mep1422/foc.mdl (36 von 36) [17.05.2005 17:15:41]
DIRECT TORQUE CONTROL OF IM If a three phase VSI is connected to an IM, there can be eight possible configurations of six switching devices within the inverter. As a result, there are eight possible input voltage vectors to the IM. The eight voltage vectors, two of which are zero vectors, are shown in Fig 1.
DTC utilises the eight possible stator voltage vectors, to control the stator flux and torque to follow the reference values within the hysteresis bands. The voltage space vector of a three-phase system is given by:
( ) π=++=
(1)
vsA, vsB, and vsC are the instantaneous phase voltages.
For the switching VSI, it can be shown that for a DC link voltage of Vd, the
voltage space vector is given by:
( ) π=++=
(2)
Sa(t), Sb(t) and Sc(t) are the switching functions of each leg of the VSI, such that,
Swhen upper switch is onwhen lower switch is oni =
10
Figure 1. Voltage vectors for 3-phase VSI
Direct Flux Control The IM stator voltage equation is given by:
ψ+= (3)
Where v i ands s s, , ψ are the stator voltage, current and stator flux space vectors
respectively. According to equation (3), if the stator resistance is small and can be neglected, the change in stator flux, ∆ψ s , will follow the stator voltage, i.e.,
∆ ∆ψ s sv t= (4)
This simply means that the tip of the stator flux will follow that of the stator voltage space vector multiplied by the small change in time. Hence if the stator flux space vector (magnitude and angle) is known, its locus can be controlled by selecting appropriate stator voltage vectors. In DTC the stator flux space vector is obtained by calculation utilizing the motor terminal variables (stator voltages and currents). The stator flux is forced to follow the reference value within a hysteresis band by selecting the appropriate stator voltage vector using the hysteresis comparator and selection table.
Direct Torque Control As shown by Takahashi and Noguchi [1], under a condition of a constant mechanical frequency and stator flux magnitude, when a step increase in the stator angular frequency is applied at t=0, the rate of change of torque at time t=0 is proportional to the slip frequency of the stator flux . Thus,
dTdt t
sl t=
=0
0α ω (5)
where ωsl is the instantaneous angular slip frequency
If the torque and stator flux is kept within their hysteresis bands by selecting appropriate voltage vectors, an independent control over the torque and stator flux is accomplished. If the stator flux space vector plane is divided into six sectors or segments (Figure 2), a set of table or rules of which voltage vector should be chosen in a particular sector (either to increase stator flux or to reduce stator flux and either to increase torque or to reduce torque) can be constructed; such table is given by Table 1.
Figure 2 Six sectors of stator flux plane
vs,3
vs,3
vs,3
vs,2
vs,4
vs,4
vs,3
vs,2
vs,6
vs,5
vs,4
vs,1
Table 1 Voltage vectors look-up table.
! "
" ""
"
""
! "
" ""
"
""
Figure 3 Flux control within the hysteresis band
Figure 4 Basic DTC #$ %&' &%()* +, '-.) * -//0))*0)/ )1))2
)-()3.45678
Sector I
Sector II
ψψψψ
θθθθψψψψ
ψψψψ
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 "2^0" SignalType "auto" SamplingMode "auto" Interpolate on Block BlockType Integrator ExternalReset "none" InitialConditionSource "internal" InitialCondition "0" LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" ZeroCross on Block BlockType Mux Inputs "4" DisplayOption "none" Block BlockType Outport Port "1" OutputWhenDisabled "held" InitialOutput "[]" Block BlockType Relay OnSwitchValue "eps" OffSwitchValue "eps" OnOutputValue "1" OffOutputValue "0" ShowAdditionalParam off OutputDataTypeScalingMode "All ports same datatype" OutDataType "sfix(16)" OutScaling "2^0" ConRadixGroup "Use specified scaling" ZeroCross on Block BlockType Scope Floating off ModelBased off TickLabels "OneTimeTick" ZoomMode "on" Grid "on" TimeRange "auto" YMin "-5" YMax "5" SaveToWorkspace off SaveName "ScopeData" LimitDataPoints on MaxDataPoints "5000" Decimation "1" SampleInput off SampleTime "0" Block BlockType "S-Function" FunctionName "system" PortCounts "[]" SFunctionModules "''"
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (4 von 29) [17.05.2005 17:16:37]
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl
Block BlockType SignalGenerator WaveForm "sine" Amplitude "1" Frequency "1" Units "Hertz" VectorParams1D on Block BlockType Step Time "1" Before "0" After "1" SampleTime "-1" VectorParams1D on ZeroCross on Block BlockType SubSystem ShowPortLabels on Permissions "ReadWrite" RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" SimViewingDevice off DataTypeOverride "UseLocalSettings" MinMaxOverflowLogging "UseLocalSettings" Block BlockType Sum IconShape "rectangular" Inputs "++" ShowAdditionalParam off InputSameDT on OutDataTypeMode "Same as first input" OutDataType "sfix(16)" OutScaling "2^0" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on AnnotationDefaults HorizontalAlignment "center" VerticalAlignment "middle" ForegroundColor "black" BackgroundColor "white" DropShadow off FontName "Helvetica" FontSize 10 FontWeight "normal" FontAngle "normal" LineDefaults FontName "Helvetica" FontSize 9 FontWeight "normal" FontAngle "normal" System Name "DTC_hysteresis" Location [2, 74, 1014, 724] Open on ModelBrowserVisibility off
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (5 von 29) [17.05.2005 17:16:37]
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 Gain Name "Gain6" Position [140, 183, 180, 207] Gain "-0.33333" Block BlockType Gain Name "Gain7" Position [135, 63, 175, 87] Gain "0.66666" Block BlockType Sum Name "Ib" Ports [2, 1] Position [240, 255, 260, 275] Block BlockType Sum Name "Ib1" Ports [3, 1] Position [260, 87, 280, 123] Inputs "+++" Block BlockType Outport Name "d" Position [330, 60, 350, 80] InitialOutput "0" Block BlockType Outport Name "q" Position [310, 250, 330, 270] Port "2" InitialOutput "0" Line SrcBlock "Ib1" SrcPort 1 Points [15, 0; 0, -35] DstBlock "d" DstPort 1 Line SrcBlock "Gain7" SrcPort 1 Points [30, 0; 0, 20] DstBlock "Ib1" DstPort 1 Line SrcBlock "in_1" SrcPort 1 Points [40, 0; 0, 15] DstBlock "Gain7" DstPort 1 Line SrcBlock "Gain6" SrcPort 1 Points [30, 0; 0, -90] DstBlock "Ib1" DstPort 2
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (8 von 29) [17.05.2005 17:16:37]
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl
Line SrcBlock "Gain5" SrcPort 1 Points [25, 0; 0, -40] DstBlock "Ib1" DstPort 3 Line SrcBlock "in_3" SrcPort 1 Points [40, 0; 0, 5] Branch DstBlock "Gain6" DstPort 1 Branch Points [0, 115] DstBlock "Gain4" DstPort 1 Line SrcBlock "in_2" SrcPort 1 Points [20, 0; 0, 30] Branch DstBlock "Gain5" DstPort 1 Branch Points [0, 105] DstBlock "Gain3" DstPort 1 Line SrcBlock "Gain3" SrcPort 1 DstBlock "Ib" DstPort 1 Line SrcBlock "Gain4" SrcPort 1 Points [30, 0; 0, -40] DstBlock "Ib" DstPort 2 Line SrcBlock "Ib" SrcPort 1 DstBlock "q" DstPort 1 Block BlockType Demux Name "Demux" Ports [1, 5] Position [420, 91, 460, 149] Outputs "5" Block BlockType Gain
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (9 von 29) [17.05.2005 17:16:37]
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl
Name "Gain1" Position [150, 407, 175, 433] Orientation "left" Gain "2/pole" Block BlockType SubSystem Name "IM1" Ports [1, 1] Position [320, 106, 380, 134] TreatAsAtomicUnit off System Name "IM1" Location [248, 340, 468, 422] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Inport Name "In1" Position [25, 33, 55, 47] Block BlockType "S-Function" Name "S-Function" Ports [1, 1] Position [80, 25, 140, 55] FunctionName "imch" Parameters "Rs, Rr, Ls,Lr,Lm,pole" Block BlockType Outport Name "Out1" Position [165, 33, 195, 47] InitialOutput "0" Line SrcBlock "In1" SrcPort 1 DstBlock "S-Function" DstPort 1 Line SrcBlock "S-Function" SrcPort 1 DstBlock "Out1" DstPort 1 Block BlockType Integrator Name "Integrator" Ports [1, 1] Position [360, 295, 380, 315] Orientation "left" Block BlockType Mux
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (10 von 29) [17.05.2005 17:16:37]
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl
Name "Mux" Ports [3, 1] Position [260, 104, 290, 136] Inputs "3" Block BlockType Sum Name "Sum" Ports [2, 1] Position [440, 287, 460, 323] Orientation "left" Inputs "+-" Block BlockType Outport Name "isd" Position [630, 25, 650, 45] InitialOutput "0" Block BlockType Outport Name "isq" Position [625, 70, 645, 90] Port "2" InitialOutput "0" Block BlockType Outport Name "ird" Position [600, 140, 620, 160] Port "3" InitialOutput "0" Block BlockType Outport Name "speed" Position [90, 410, 110, 430] Orientation "left" Port "4" InitialOutput "0" Block BlockType Outport Name "Vd" Position [265, 50, 285, 70] Port "5" InitialOutput "0" Block BlockType Outport Name "irq" Position [595, 185, 615, 205] Port "6" InitialOutput "0" Block BlockType Outport Name "Vq" Position [90, 285, 110, 305] Orientation "left" Port "7" InitialOutput "0" Block BlockType Outport
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (11 von 29) [17.05.2005 17:16:37]
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl
Name "Te" Position [715, 230, 735, 250] Port "8" InitialOutput "0" Line SrcBlock "Demux" SrcPort 1 Points [60, 0; 0, -20] DstBlock "isq" DstPort 1 Line SrcBlock "Demux" SrcPort 2 Points [65, 0; 0, -75] DstBlock "isd" DstPort 1 Line SrcBlock "3to2" SrcPort 2 Points [0, 0] Branch Points [0, 170] DstBlock "Vq" DstPort 1 Branch Points [55, 0; 0, -15] DstBlock "Mux" DstPort 1 Line SrcBlock "3to2" SrcPort 1 Points [0, 0; 25, 0] Branch Points [0, -35] DstBlock "Vd" DstPort 1 Branch Points [30, 0; 0, 25] DstBlock "Mux" DstPort 2 Line SrcBlock "Demux" SrcPort 5 Points [45, 0; 0, 145] Branch Points [0, 15; -35, 0] DstBlock "Sum" DstPort 1 Branch Points [70, 0; 0, -45] DstBlock "Te" DstPort 1 Line
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (12 von 29) [17.05.2005 17:16:37]
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl
SrcBlock "Vc" SrcPort 1 Points [20, 0; 0, -120] DstBlock "3to2" DstPort 3 Line SrcBlock "Vb" SrcPort 1 Points [20, 0; 0, -20] DstBlock "3to2" DstPort 2 Line SrcBlock "Va" SrcPort 1 Points [20, 0; 0, 40] DstBlock "3to2" DstPort 1 Line SrcBlock "1/J" SrcPort 1 Points [0, 0; -25, 0] Branch Points [0, -175] DstBlock "Mux" DstPort 3 Branch Points [-15, 0; 0, 115] DstBlock "Gain1" DstPort 1 Line SrcBlock "Mux" SrcPort 1 DstBlock "IM1" DstPort 1 Line SrcBlock "IM1" SrcPort 1 DstBlock "Demux" DstPort 1 Line SrcBlock "Sum" SrcPort 1 DstBlock "Integrator" DstPort 1 Line SrcBlock "Integrator" SrcPort 1 DstBlock "1/J" DstPort 1 Line SrcBlock "1/J1" SrcPort 1 Points [190, 0; 0, -45] DstBlock "Sum" DstPort 2
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (13 von 29) [17.05.2005 17:16:37]
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl
Line SrcBlock "Demux" SrcPort 3 Points [30, 0; 0, 75] DstBlock "irq" DstPort 1 Line SrcBlock "Demux" SrcPort 4 Points [25, 0; 0, 20] DstBlock "ird" DstPort 1 Line SrcBlock "Gain1" SrcPort 1 Points [0, 0; -10, 0] Branch DstBlock "speed" DstPort 1 Branch Points [0, -60] DstBlock "1/J1" DstPort 1 Annotation Name "q" Position [482, 87] VerticalAlignment "top" Block BlockType "S-Function" Name "S-Function2" Ports [1, 1] Position [220, 355, 270, 375] Orientation "left" FunctionName "flxp2" Block BlockType Scope Name "Scope" Ports [3] Position [560, 214, 590, 246] Location [249, 259, 660, 649] Open on NumInputPorts "3" ZoomMode "yonly" List ListType AxesTitles axes1 "%<SignalLabel>" axes2 "%<SignalLabel>" axes3 "%<SignalLabel>" List ListType SelectedSignals axes1 "" axes2 "" axes3 ""
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (14 von 29) [17.05.2005 17:16:37]
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl
TimeRange "0.1" YMin "-0.1~-20~-15" YMax "2~20~15" DataFormat "StructureWithTime" Block BlockType Scope Name "Scope1" Ports [1] Position [560, 144, 590, 176] Location [667, 408, 991, 647] Open on NumInputPorts "1" ZoomMode "yonly" List ListType AxesTitles axes1 "%<SignalLabel>" List ListType SelectedSignals axes1 "" TimeRange "0.01" YMin "-0.1" YMax "2" SaveName "ScopeData1" DataFormat "StructureWithTime" Block BlockType Scope Name "Scope2" Ports [1] Position [325, 184, 355, 216] Location [667, 110, 991, 349] Open on NumInputPorts "1" ZoomMode "yonly" List ListType AxesTitles axes1 "%<SignalLabel>" List ListType SelectedSignals axes1 "" TimeRange "0.01" YMin "-20" YMax "20" SaveName "ScopeData2" DataFormat "StructureWithTime" Block BlockType SignalGenerator Name "Signal\nGenerator" Position [640, 320, 670, 350] Orientation "left" WaveForm "square" Amplitude "-15" Frequency "15" Block BlockType Step Name "Step" Position [545, 380, 575, 410] Orientation "left"
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (15 von 29) [17.05.2005 17:16:37]
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl
Time "0.001" After "1.2" Block BlockType SubSystem Name "Subsystem" Ports [3, 3] Position [110, 286, 160, 384] Orientation "left" TreatAsAtomicUnit off System Name "Subsystem" Location [230, 305, 670, 522] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Inport Name "T,err" Position [25, 35, 45, 55] Block BlockType Inport Name "Flx,err" Position [25, 105, 45, 125] Port "2" Block BlockType Inport Name "Flx ang" Position [25, 160, 45, 180] Port "3" Block BlockType Demux Name "Demux" Ports [1, 3] Position [280, 99, 320, 131] Outputs "3" Block BlockType Mux Name "Mux" Ports [3, 1] Position [100, 99, 130, 131] Inputs "3" Block BlockType "S-Function" Name "S-Function1" Ports [1, 1] Position [180, 105, 230, 125] FunctionName "select2" Block BlockType Outport Name "Sa" Position [375, 25, 395, 45] InitialOutput "0"
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (16 von 29) [17.05.2005 17:16:37]
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl
Block BlockType Outport Name "Sb" Position [395, 105, 415, 125] Port "2" InitialOutput "0" Block BlockType Outport Name "Sc" Position [350, 170, 370, 190] Port "3" InitialOutput "0" Line SrcBlock "Flx ang" SrcPort 1 DstBlock "Mux" DstPort 3 Line SrcBlock "Demux" SrcPort 3 Points [0, 55] DstBlock "Sc" DstPort 1 Line SrcBlock "Flx,err" SrcPort 1 DstBlock "Mux" DstPort 2 Line SrcBlock "Demux" SrcPort 2 DstBlock "Sb" DstPort 1 Line SrcBlock "T,err" SrcPort 1 DstBlock "Mux" DstPort 1 Line SrcBlock "Demux" SrcPort 1 Points [0, -70] DstBlock "Sa" DstPort 1 Line SrcBlock "Mux" SrcPort 1 DstBlock "S-Function1" DstPort 1 Line SrcBlock "S-Function1" SrcPort 1 DstBlock "Demux" DstPort 1
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (17 von 29) [17.05.2005 17:16:37]
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 Gain Name "Gain2" Position [295, 222, 320, 248] Orientation "left" Gain "240" Block BlockType Gain Name "Gain3" Position [285, 57, 310, 83] Orientation "left" Gain "240" Block BlockType Outport Name "out_1" Position [160, 60, 180, 80] Orientation "left" InitialOutput "0" Block BlockType Outport Name "out_2" Position [165, 155, 185, 175] Orientation "left" Port "2" InitialOutput "0" Block BlockType Outport Name "out_3" Position [175, 225, 195, 245] Orientation "left" Port "3" InitialOutput "0" Line SrcBlock "in_5" SrcPort 1 DstBlock "Gain3" DstPort 1 Line SrcBlock "in_6" SrcPort 1 DstBlock "Gain1" DstPort 1 Line SrcBlock "in_7" SrcPort 1 DstBlock "Gain2" DstPort 1 Line SrcBlock "Gain3" SrcPort 1 DstBlock "out_1" DstPort 1 Line SrcBlock "Gain1" SrcPort 1 DstBlock "out_2" DstPort 1
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (19 von 29) [17.05.2005 17:16:37]
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl
Line SrcBlock "Gain2" SrcPort 1 DstBlock "out_3" DstPort 1 Block BlockType Relay Name "flux\nhysterisis" Position [335, 378, 365, 402] Orientation "left" OnSwitchValue "0.01" OffSwitchValue "-0.01" Block BlockType SubSystem Name "stator flux - voltage model" Ports [4, 4] Position [345, 15, 415, 145] TreatAsAtomicUnit off MaskPromptString "Stator resistance" MaskStyleString "edit" MaskTunableValueString "on" MaskEnableString "on" MaskVisibilityString "on" MaskToolTipString "on" MaskVariables "Rs=@1;" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "5.5" System Name "stator flux - voltage model" Location [160, 288, 765, 529] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Inport Name "vd" Position [50, 33, 80, 47] Block BlockType Inport Name "id" Position [40, 98, 70, 112] Port "2" Block BlockType Inport Name "vq" Position [60, 143, 90, 157] Port "3" Block
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (20 von 29) [17.05.2005 17:16:37]
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl
BlockType Inport Name "iq" Position [25, 193, 55, 207] Port "4" Block BlockType SubSystem Name "Cartesian to Polar" Ports [2, 2] Position [420, 92, 455, 143] ShowPortLabels off TreatAsAtomicUnit off MaskType "[x,y]->[r,theta]" MaskDescription "Tranformation from cartesian to polar\ncoor""dinates.\nr=sqrt(x^2+y^2), theta=atan(y/x)" MaskHelp "Unmask this block for more help." MaskDisplay "plot(0,0,100,100,[24,20,15,20,20],[85,95,85"",95,20],[80,20,95,85,95,85],[70,20,20,15,20,24],[56,56,55,52,50,46],[20,26,31"",35,38,42])" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" System Name "Cartesian to Polar" Location [0, 0, 359, 206] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Inport Name "x" Position [20, 70, 40, 90] Block BlockType Inport Name "y" Position [20, 129, 40, 151] Port "2" Block BlockType Mux Name "Mux" Ports [2, 1] Position [75, 96, 105, 129] Inputs "2" Block BlockType Fcn Name "x->r" Position [155, 72, 260, 98] Expr "hypot(u[1],u[2])" Block BlockType Fcn Name "x->theta" Position [160, 129, 265, 151] Expr "atan2(u[2],u[1])"
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (21 von 29) [17.05.2005 17:16:37]
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl
Block BlockType Outport Name "r" Position [295, 75, 315, 95] InitialOutput "0" Block BlockType Outport Name "theta" Position [295, 130, 315, 150] Port "2" InitialOutput "0" Line SrcBlock "x->theta" SrcPort 1 DstBlock "theta" DstPort 1 Line SrcBlock "y" SrcPort 1 DstBlock "Mux" DstPort 2 Line SrcBlock "x" SrcPort 1 DstBlock "Mux" DstPort 1 Line SrcBlock "x->r" SrcPort 1 DstBlock "r" DstPort 1 Line SrcBlock "Mux" SrcPort 1 Points [15, 0] Branch Points [0, 25] DstBlock "x->theta" DstPort 1 Branch Points [0, -30] DstBlock "x->r" DstPort 1 Annotation Name "Cartesian to Polar" Position [167, 37] VerticalAlignment "top" Block BlockType Gain Name "Gain2" Position [170, 167, 195, 193] Gain "Rs"
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (22 von 29) [17.05.2005 17:16:37]
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl
Block BlockType Gain Name "Gain3" Position [170, 112, 195, 138] Gain "Rs" Block BlockType Integrator Name "Integrator" Ports [1, 1] Position [315, 85, 345, 115] Block BlockType Integrator Name "Integrator1" Ports [1, 1] Position [310, 165, 340, 195] Block BlockType Sum Name "Sum6" Ports [2, 1] Position [240, 90, 260, 110] Inputs "+-" Block BlockType Sum Name "Sum7" Ports [2, 1] Position [240, 145, 260, 165] Inputs "+-" Block BlockType Outport Name "flxsdv" Position [500, 28, 530, 42] Block BlockType Outport Name "flxsv" Position [550, 88, 580, 102] Port "2" InitialOutput "0" Block BlockType Outport Name "angflxsv" Position [480, 123, 510, 137] Port "3" InitialOutput "0" Block BlockType Outport Name "flxsqv" Position [435, 203, 465, 217] Port "4" Line SrcBlock "Sum6" SrcPort 1 DstBlock "Integrator" DstPort 1 Line SrcBlock "Sum7"
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (23 von 29) [17.05.2005 17:16:37]
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl
SrcPort 1 DstBlock "Integrator1" DstPort 1 Line SrcBlock "Gain3" SrcPort 1 Points [25, 0] DstBlock "Sum6" DstPort 2 Line SrcBlock "Gain2" SrcPort 1 Points [0, -10] DstBlock "Sum7" DstPort 2 Line SrcBlock "vd" SrcPort 1 Points [60, 0; 0, 55] DstBlock "Sum6" DstPort 1 Line SrcBlock "Integrator" SrcPort 1 Points [0, 5; 25, 0] Branch DstBlock "Cartesian to Polar" DstPort 1 Branch Points [0, -70] DstBlock "flxsdv" DstPort 1 Line SrcBlock "Integrator1" SrcPort 1 Points [50, 0] Branch Points [0, -50] DstBlock "Cartesian to Polar" DstPort 2 Branch Points [0, 30] DstBlock "flxsqv" DstPort 1 Line SrcBlock "Cartesian to Polar" SrcPort 1 Points [75, 0] DstBlock "flxsv" DstPort 1 Line SrcBlock "id" SrcPort 1 Points [0, 20]
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (24 von 29) [17.05.2005 17:16:37]
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl
DstBlock "Gain3" DstPort 1 Line SrcBlock "Cartesian to Polar" SrcPort 2 DstBlock "angflxsv" DstPort 1 Line SrcBlock "vq" SrcPort 1 DstBlock "Sum7" DstPort 1 Line SrcBlock "iq" SrcPort 1 Points [0, -20] DstBlock "Gain2" DstPort 1 Block BlockType SubSystem Name "torquehys" Ports [1, 1] Position [365, 300, 395, 350] Orientation "left" ShowPortLabels off TreatAsAtomicUnit off MaskPromptString "Hyst band" MaskStyleString "edit" MaskTunableValueString "on" MaskEnableString "on" MaskVisibilityString "on" MaskToolTipString "on" MaskVariables "Th=@1;" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "2" System Name "torquehys" Location [50, 122, 340, 345] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Inport Name "in_1" Position [275, 95, 295, 115] Orientation "left" Block BlockType Relay Name "Relay"
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (25 von 29) [17.05.2005 17:16:37]
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl
Position [185, 58, 215, 82] Orientation "left" OnSwitchValue "Th/2" OffSwitchValue "0" Block BlockType Relay Name "Relay1" Position [185, 123, 215, 147] Orientation "left" OnSwitchValue "0" OffSwitchValue "-Th/2" OnOutputValue "0" OffOutputValue "-1" Block BlockType Sum Name "Sum3" Ports [2, 1] Position [55, 105, 75, 125] Orientation "left" Block BlockType Outport Name "out_1" Position [15, 105, 35, 125] Orientation "left" InitialOutput "0" Line SrcBlock "Sum3" SrcPort 1 DstBlock "out_1" DstPort 1 Line SrcBlock "Relay1" SrcPort 1 Points [-75, 0] DstBlock "Sum3" DstPort 2 Line SrcBlock "Relay" SrcPort 1 Points [-65, 0] DstBlock "Sum3" DstPort 1 Line SrcBlock "in_1" SrcPort 1 Points [-20, 0] Branch Points [0, 30] DstBlock "Relay1" DstPort 1 Branch Points [-5, 0] DstBlock "Relay" DstPort 1
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (26 von 29) [17.05.2005 17:16:37]
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl
Line SrcBlock "Induction Machine" SrcPort 5 Points [30, 0; 0, -100] DstBlock "stator flux - voltage model" DstPort 1 Line SrcBlock "Induction Machine" SrcPort 1 Points [110, 0] DstBlock "stator flux - voltage model" DstPort 2 Line SrcBlock "Induction Machine" SrcPort 2 Points [70, 0; 0, 35] DstBlock "stator flux - voltage model" DstPort 4 Line SrcBlock "Induction Machine" SrcPort 7 Points [15, 0; 0, -70] DstBlock "stator flux - voltage model" DstPort 3 Line SrcBlock "stator flux - voltage model" SrcPort 3 Points [40, 0; 0, 270] DstBlock "S-Function2" DstPort 1 Line SrcBlock "Induction Machine" SrcPort 8 Points [20, 0; 0, 20] Branch Points [0, 90; 140, 0] Branch Points [165, 0] DstBlock "Sum2" DstPort 1 Branch Points [0, -60] DstBlock "Scope" DstPort 2 Branch DstBlock "Scope2" DstPort 1 Line SrcBlock "stator flux - voltage model" SrcPort 2 Points [65, 0; 0, 95] Branch Points [0, 60] Branch
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (27 von 29) [17.05.2005 17:16:37]
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl
Points [0, 165] DstBlock "Sum4" DstPort 1 Branch DstBlock "Scope" DstPort 1 Branch DstBlock "Scope1" DstPort 1 Line SrcBlock "Voltage-controlled\nPWM-VSI1" SrcPort 1 Points [20, 0; 0, -25] DstBlock "Induction Machine" DstPort 1 Line SrcBlock "Voltage-controlled\nPWM-VSI1" SrcPort 2 DstBlock "Induction Machine" DstPort 2 Line SrcBlock "Voltage-controlled\nPWM-VSI1" SrcPort 3 Points [20, 0; 0, 25] DstBlock "Induction Machine" DstPort 3 Line SrcBlock "Subsystem" SrcPort 1 Points [-80, 0; 0, -195] DstBlock "Voltage-controlled\nPWM-VSI1" DstPort 1 Line SrcBlock "Subsystem" SrcPort 2 Points [-70, 0; 0, -205] DstBlock "Voltage-controlled\nPWM-VSI1" DstPort 2 Line SrcBlock "Subsystem" SrcPort 3 Points [-60, 0; 0, -215] DstBlock "Voltage-controlled\nPWM-VSI1" DstPort 3 Line SrcBlock "flux\nhysterisis" SrcPort 1 Points [-40, 0; 0, -55] DstBlock "Subsystem" DstPort 2 Line SrcBlock "Sum4" SrcPort 1
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (28 von 29) [17.05.2005 17:16:37]
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl
DstBlock "flux\nhysterisis" DstPort 1 Line SrcBlock "Step" SrcPort 1 DstBlock "Sum4" DstPort 2 Line SrcBlock "torquehys" SrcPort 1 Points [-60, 0; 0, -20] DstBlock "Subsystem" DstPort 1 Line SrcBlock "Sum2" SrcPort 1 DstBlock "torquehys" DstPort 1 Line SrcBlock "Signal\nGenerator" SrcPort 1 DstBlock "Sum2" DstPort 2 Line SrcBlock "S-Function2" SrcPort 1 DstBlock "Subsystem" DstPort 3 Line SrcBlock "Induction Machine" SrcPort 4 Points [45, 0; 0, 120] DstBlock "Scope" DstPort 3
http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (29 von 29) [17.05.2005 17:16:37]