# Electrical Drives Lectures

October 7, 2017 | Author: divinelight | Category: Electrical Engineering, Electromagnetism, Force, Mechanical Engineering, Physics

#### Description

Electrical Drives

Electrical Drives MEP 1422 2004/2005-02 Module 1.

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

Module 2

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

Module 3

DC motor drives DC drives in power point format, in .pdf Construction, modeling and transfer function, Converters for DC drives – quadrant of operations. MATLAB–based controller design method – here Linear analysis in Simulink Large signal simulation using SIMULINK – here

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

Electrical Drives

Module 4.

Induction motor drives Dynamic model of induction machine Construction and principle of operations, Speed Controlconstant V/f, Scalar control – problems at low speed, current Simulink example on open-loop constant V/Hz using SIMULINK s-function for IM simulation Compiled with Borland C - here Current controlled and voltage boost, open-loop and closed-loop control. Field-oriented control of IM: Rotor flux orientation Stator flux orientation Simulink example on indirect FOC IM – requires imch.dll PPoint for principles of direct torque control and in pdf Direct Torque Control using SIMULINK and the required *.dll files for the S-function

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

&

,

)

' (

!

"

) * *

! &

(

+ &

µ

# \$

%

) )

*

* \$

#

%

# .

# #

& &

#

& !

/

# 0 # 1

& 2

\$

% 0

0 . ) / 0

\$

%

# # #

#

*

( 0 0 & '

0 \$ 0

% 2

& & '

!

!

#

0

*

*

0 3

#

4567 &

# \$

%

# #

#

#

4587 2

\$

\$ & %%

# # \$* %

\$/: %

9

# ) • •

0 #

\$

%

0 ;

/

# 0

.

#

\$

0 0 0 0

%

0

#\$

#\$

%

& '

,

/

)

ω * (

A

!

θ

ω

1 J

*

* Te = Tl +

. vtri, upper switch ON

The output of the comparator is obtained as follows:

0

Vdc dt = dVdc

dTs

Where d = ton/T

(1)

(2)

Obviously, the waveform of va will follow that of q. The instantaneous value of va is given by: va = q(Vdc) The average value of va will depend on the duty ratio of q and the duty ratio of q in turn depends on the control signal vc. We can obtain the relation between the average voltage Va and the duty ratio d by calculating the average value of va in terms of d.

1 Va = T

t

q dt

t + Ttri

(3)

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

1 d= Ttri

!

If the triangular frequency is high and therefore is much larger than the control signal, d can be assumed continuous. However when selecting the bandwidth of the closed-loop system, the discrete values of d must be taken into account, i.e. the bandwidth must be limited to one or two order lower than the triangular frequency.

The relation between d and vc is obtained as follows:

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

vc 2 Vtri , p

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

d = 0.5 +

Vdc vc 2 Vtri , p

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

Va = 0.5Vdc +

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

(4)

(5)

(6)

If we want to include the converter into our closed-loop model of a DC drive system, we need to obtain the small signal transfer function between vc and Va. This is done by introducing small signal perturbation in Va and vc.

(Va + ~v a ) = 0.5Vdc +

Separating the dc and ac components,

DC

:

:

~v = Vdc ~ vc a 2 Vtri , p

Va = 0.5Vdc +

Vdc vc 2 Vtri , p

AC

Vdc 2 Vtri , p "

#\$

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

#\$

%

+

va

'

'

&

(

(7)

(8)

Four-quadrant converter The model developed for the two-quadrant converter can be used as a building block in developing the model for the four-quadrant converter. As illustrated in the figure below, the 4-quadrant converter is composed of two legs, with each leg similar to that of the 2-quadrant converter. We will consider two switching schemes normally employed: (1) Bipolar switching scheme (2) unipolar switching scheme.

'

'

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

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

Therefore the output voltage va can swing between Vdc and –Vdc, Vdc and 0 or 0 and Vdc, which is determined by the switching scheme chosen:

"

Bipolar switching

Leg A and Leg B obtained the switching signals from the same control signal. This implies that switching of Leg A and Leg B are always complements.

!

!

*

&

In a forward breaking mode where the average voltage Va is positive and smaller than the back emf of the armature, current will flow through D1 and D2 when va = Vdc and will flow through Q3 and Q4 when va = -Vdc

%

)

Using the comparison between the control signal and triangular waveform as shown in Figure 7, the resultant q and q is as below:

(

-

!

!

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

+

+ ,

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

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

(9)

(10)

d A = 0 .5 +

vc 2 Vtri , p

For Leg A

(11)

d B = 0.5 −

(14)

(12)

vc 2 Vtri , p

For Leg B

We are interested in the voltage across the armature circuit, VAB VAB = VAO – VBO = (dA – (1-dA))Vdc = (2dA -1)Vdc

Vdc vc Vtri , p

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

Vdc v c (s ) Vtri , p

(15)

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

*

Unipolar switching

#\$

Vdc Vtri , p

-

vc 2 Vtri , p

#\$

(16)

The switching signals for Leg B is obtained from the inverse of control signal for Leg A. This is illustrated in Figure 10. According to our previous analysis, the continuous duty ratio for Leg A, dA, is given by:

d A = 0 .5 +

vc 2 Vtri , p

Vdc vc Vtri ,p

(18)

(17)

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

d B = 0 .5 −

VAB = (dA – dB)Vdc =

This gives and average armature voltage as,

!.

!

.

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

,

CURRENT-CONTROLLED CONVERTER

0 ω2

,

0 2

,

!

3

!

,

!

/

1

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.

θ2

,

Figure 1

-

a) b)

The control variable of inner loop (e.g. torque) can be limited by limiting its reference value It is flexible – outer loop can be readily added or removed depending on the control requirements

fixed switching frequency control – linear controller hysteresis (or bang-bang) control – non–linear controller

Implementing cascade control structure requires the torque and hence the current to be controlled. Good current controlled schemes should produce low current ripple, good tracking capability with zero steady state error, constant switching frequency regardless of operating conditions, and fast dynamic response. There are two well known methods normally used to control the current, i) ii)

Fixed switching frequency control

56

Fixed frequency current–controlled

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.

4

Figure 2

For three-phase induction motor with isolated neutral, the 3-phase currents are not completely independent – i.e. only two phases are independent, the third phase current can be constructed from the other two phases. In other words, only two controllers are required. This problem can be eliminated if the control is performed in d-q axis whereby only two controllers are required. Two variations have been proposed for this technique: stationary reference frame and synchronous reference frame. Tracking problem will present if the current control is performed in stationary reference frame. This will results in the actual current waveform that will always lag the reference current. The tracking problem can be avoided if the

2

2

2

2

!

!

56

56

9:

56

56

ω

!→ .

! → .

;

2

.2

2

758 1 76

!

758 1 76

. → !

;4

7 1

7 1

2

.2

2

. →

4

61

61

synchronous frame is used, however extra work is required to transform the current from the stationary to the synchronous frames and vice versa. In addition, explicit knowledge of synchronous frequency is required to perform these transformations. The reference voltage can be implemented using the well-known modulation techniques such as Sinusoidal Pulse Width Modulation (SPWM) or Space Vector Modulation (SVM).

!

!

9:

Hysteresis control The reference current is compared with the actual torque using hysteresis comparator. The output of the hystresis comparator will determine whether the current need to be increased or decreased. For instance, when the current touches the upper band,

Hysteresis–based current–controlled

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.

4

Figure 5

Hysteresis based controlled has large bandwidth. However, the switching frequency varies with operating conditions and control signal. Thus the maximum switching capability of the switching devices must be based on the 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 nonlinear behavior of the hystersis-based current control can be investigated using large signal simulation. As with the fixed frequency control, each phase current not only depend on the corresponding phase voltage, but also on other phase voltages. In other words, there is interferences between phases. The behavior of the hysteresis current control can be described using the complex plane switching diagram, as shown in Figure 6. The phase components of the current error vector ∆i (which is the difference between reference current vector and the actual current vector) can be obtained by resolving it to the respective phase axis. If the current error of a phase touches the hysteresis band of that particular phase, it should be switched to the other direction by toggling the switch of that particular phase. Therefore, ideally, the current error vector should be confined within the hexagonal defined by the hysteresis bands. However, due to the interactions between phases, the current error may go outside the hysteresis band. As a result, current error may become as large as twice the hysteresis band (Figure 7)

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

2

&

-0.15

:

-0.1

-0.05

0

0.05

0.1

0.15

%

0.2

=

<

( :

* 7 = .

0 vtri, upper switch ON when vc < vtri, lower switch ON

Modeling of Converters and DC motor

Switch–mode converters – averaged model Ttri vc q d

Vdc

Vt

1 d= Ttri

1 Vt = Ttri

t + Ttri

t

dTtri

0

t on qdt = Ttri Vdc dt = dVdc

Modeling of Converters and DC motor

Switch–mode converters – averaged model d 1 0.5 -Vtri,p

0 Vtri,p

d = 0.5 +

vc 2Vtri,p

Vt = 0.5Vdc +

Vdc vc 2Vtri,p

vc

Modeling of Converters and DC motor

DC motor – small signal model v t = ia R a + L a

di a + ea dt

Te = kt ia

dωm Te = Tl + J dt ee = k t ω

Extract the dc and ac components by introducing small perturbations in Vt, ia, ea, Te, TL and ωm ac components ~ d i ~ ~ v t = ia R a + L a a + ~ ea dt

~ ~ Te = k E ( ia )

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

~ ~) e e = k E (ω

Ee = k E ω

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

Te = TL + B(ω)

Modeling of Converters and DC motor

DC motor – small signal model Perform Laplace Transformation on ac components ~ d i ~ ~ v t = ia R a + L a a + ~ ea dt

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

~ ~ Te = k E ( ia )

Te(s) = kEIa(s)

~ ~) e e = k E (ω

Ea(s) = kEω(s)

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

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

Modeling of Converters and DC motor

DC motor – small signal model

Tl (s )

Va (s ) + -

Ra

1 + sL a

I a (s )

kT

-

Te (s )

1 B + sJ

+

kE

ω (s )

CLOSED-LOOP SPEED CONTROL Cascade control structure θ* +

position controller ω* +

speed controller T* +

-

-

-

torque controller

converter Motor

tacho kT

1/s

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

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

CLOSED-LOOP SPEED CONTROL

Design procedure in cascade control structure •

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

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

Design starts from torque loop proceed towards outer loops

CLOSED-LOOP SPEED CONTROL

Closed-loop speed control – an example OBJECTIVES:

Fast response – large bandwidth

Minimum overshoot good phase margin (>65o)

Zero steady state error – very large DC gain

BODE PLOTS

METHOD

Obtain linear small signal model

Design controllers based on linear small signal model

Perform large signal simulation for controllers verification

CLOSED-LOOP SPEED CONTROL

Closed-loop speed control – an example Permanent magnet motor’s parameters Ra = 2 Ω

La = 5.2 mH

B = 1 x10–4 kg.m2/sec

J = 152 x 10–6 kg.m2

kt = 0.1 Nm/A

Vd = 60 V

Vtri = 5 V

fs = 33 kHz • PI controllers

• Switching signals from comparison of vc and triangular waveform

CLOSED-LOOP SPEED CONTROL

Torque controller design

q

vtri

Tc

Torque controller

+

+ Vdc

q

kt

DC motor Tl (s )

Converter

T e (s )

+

Torque controller -

V dc V tri ,peak

Va (s )

+

Ra

-

Ia (s ) 1 + sL a

kT

-

Te (s )

+

kE

1 B + sJ

ω (s )

CLOSED-LOOP SPEED CONTROL

Torque controller design Open-loop gain

Bode Dia gram From: Input Point To: Output Point

150

kpT= 90

Magnitude (dB)

100

compensated

kiT= 18000

50

0

-50 90

Pha s e (deg)

45 0

compensated

-45 -90 10

-2

10

-1

10

0

10

1

10

2

10

3

10

4

10

5

CLOSED-LOOP SPEED CONTROL

Speed controller design Assume torque loop unity gain for speed bandwidth & (

> 6. 7

/ (@

7 (

vtri To Workspace2 torque PID Signal Generator

PID Controller1

PID Saturation1

T o Workspace1

PID Controller

Rel ay

speed

speed Va T Tl

Out1

T o Workspace

Ia

Subsystem

Subsystem1 Step1

-1 Gain

Relay1 vc T o Workspace3

vc_m T o Workspace4

40 20 0 -20 -40

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

2 1 0 -1 -2

/ (@ ! 7

\$ !

1

1

\$

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

GOL

100 = s(0.1s + 1)

Ga in

1

1 s

0 .1s+1

Inte gra tor

Tra nsfe r Fcn

-K-

100 0.1s2 +s Tra nsfe r Fcn

EXAMPLE in using linear analysis in MATLAB

EXAMPLE in using linear analysis in MATLAB Select Bode as response type in Plot Configurations window Try to place input point at several different positions. For each position, obtain the plot using the Simulink → get linearized model

Ga in

In te g ra to r In p ut P oint

1 s

-KGa in

-KInput P oint

Ga in

1

1 s

-K-

In p ut P oint In te g ra to r

0 .1 s+1 Tra nsfe r Fcn

Ou tp u t P o in t

1 0 .1 s+1 Tra nsfe r Fcn

Ou tp u t P o in t

1

1 s

0.1s+1

Inte gra tor

Tra nsfe r Fcn

Output P o in t

EXAMPLE in using linear analysis in MATLAB Bode Dia gra m From: Input Point To: Output Point

100

Ma gnitude (dB)

50

0

-50

-100 0

Pha s e (de g)

-45 -90 -135 -180 10

-1

10

0

10

1

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

10

2

10

3

EXAMPLE in using linear analysis in MATLAB -KIn pu t P oin t

Ga in

1

1 s

0.1s+1

In te g ra tor

Tra n sfe r Fcn

Outp ut P o in t

Bode Diagram From: Input Point To: Output Point

100

Magnitude (dB)

50

Crossover frequency approximates close– loop bandwidth

0

-50

-100 0

Phas e (de g)

-45 -90 -135 -180 10

-1

10

0

10

1

10

2

10

3

EXAMPLE in using linear analysis in MATLAB PI controller Transfer function

  s   ki 1 + k  i   kp   s

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

EXAMPLE in using linear analysis in MATLAB PI controller

1 s

1 In p u t P o in t

Ga in

Ou tp u t P o in t

In te g ra to r

0 .1 Ga in 1

Bode Dia gram From: Input Point To: Output Point

100

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

50

0

-50

ki=1, kp=0.1

Pha s e (de g)

-100 0

-45

-90 10

-1

10

0

10

1

Fre quenc y (ra d/s e c )

10

2

10

3

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 "%" LastModifiedBy "Nik Rumzi" ModifiedDateFormat "%" LastModifiedDate "Mon Jul 26 11:46:55 2004" ModelVersionFormat "1.%" ConfigurationManager "None" SimParamPage "Solver" LinearizationMsg "none" Profile off ParamWorkspaceSource "MATLABWorkspace" AccelSystemTargetFile "accel.tlc" AccelTemplateMakefile "accel_default_tmf" AccelMakeCommand "make_rtw" TryForcingSFcnDF off ExtModeMexFile "ext_comm" ExtModeBatchMode off ExtModeTrigType "manual" ExtModeTrigMode "normal" ExtModeTrigPort "1" ExtModeTrigElement "any" ExtModeTrigDuration 1000 ExtModeTrigHoldOff 0 ExtModeTrigDelay 0 ExtModeTrigDirection "rising" ExtModeTrigLevel 0 ExtModeArchiveMode "off" ExtModeAutoIncOneShot off ExtModeIncDirWhenArm off ExtModeAddSuffixToVar off ExtModeWriteAllDataToWs off http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl (1 von 14) [17.05.2005 17:12:11]

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

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

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

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

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

OutDataType OutScaling SignalType SamplingMode Interpolate

"sfix(16)" "2^0" "auto" "auto" on

} Block { BlockType Lookup InputValues "[-4:5]" OutputValues " rand(1,10)-0.5" ShowAdditionalParam off LookUpMeth "Interpolation-Extrapolation" OutDataTypeMode "Same as input" OutDataType "sfix(16)" OutScaling "2^0" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on } Block { BlockType Outport Port "1" OutputWhenDisabled "held" InitialOutput "[]" } Block { BlockType Relay OnSwitchValue "eps" OffSwitchValue "eps" OnOutputValue "1" OffOutputValue "0" ShowAdditionalParam off OutputDataTypeScalingMode "All ports same datatype" OutDataType "sfix(16)" OutScaling "2^0" ConRadixGroup "Use specified scaling" ZeroCross on } Block { BlockType Saturate UpperLimit "0.5" LowerLimit "-0.5" LinearizeAsGain on ZeroCross on } Block { BlockType "S-Function" FunctionName "system" PortCounts "[]" SFunctionModules "''" } Block { BlockType SignalGenerator WaveForm "sine" Amplitude "1" Frequency "1" Units "Hertz" VectorParams1D on } Block { BlockType Step Time "1" Before "0" After "1" SampleTime "-1" http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl (4 von 14) [17.05.2005 17:12:11]

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

VectorParams1D ZeroCross

on on

} Block { BlockType SubSystem ShowPortLabels on Permissions "ReadWrite" RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" SimViewingDevice off DataTypeOverride "UseLocalSettings" MinMaxOverflowLogging "UseLocalSettings" } Block { BlockType Sum IconShape "rectangular" Inputs "++" ShowAdditionalParam off InputSameDT on OutDataTypeMode "Same as first input" OutDataType "sfix(16)" OutScaling "2^0" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on } Block { BlockType ToWorkspace VariableName "simulink_output" MaxDataPoints "1000" Decimation "1" SampleTime "0" } Block { BlockType TransferFcn Numerator "[1]" Denominator "[1 2 1]" AbsoluteTolerance "auto" Realization "auto" } } AnnotationDefaults { HorizontalAlignment VerticalAlignment ForegroundColor BackgroundColor DropShadow FontName FontSize FontWeight FontAngle } LineDefaults { FontName FontSize FontWeight FontAngle } System { Name Location Open ModelBrowserVisibility ModelBrowserWidth

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

"Helvetica" 9 "normal" "normal"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Amplitude Frequency

"-30" "5"

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

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

"Kt"

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

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

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

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

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

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

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

"Sum" 1 "Transfer Fcn" 1

"Gain" 1 "Sum1" 2

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

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

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

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

[0, -55] "Ia" 1

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

"Transfer Fcn1" 1

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

[0, 105] "Gain2" 1

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

"Va" 1 "Sum" 1

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

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

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

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

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

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

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

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

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

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

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

ToWorkspace

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

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

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

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

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

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

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

"Sum2" 1

[0, 200] "To Workspace3" 1

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

"Sum2" 1 "Relay" 1

"Subsystem1" 1 [45, 0]

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

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

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

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

"Sum2" 2

[0, -140] "To Workspace2" 1

"Signal\nGenerator" 1 "Sum" 1

"Sum" 1 "PID Controller1" 1

"PID Controller1" 1 "Saturation1" 1

"Sum1" 1 "PID Controller" 1

"Saturation1" 1 "Sum1" 1

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

"To Workspace" 1

"Gain" 1 [5, 0]

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

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

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

"Sum3" 2

[0, 140] "To Workspace4" 1

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

"Sum3" 1 "Relay1" 1

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

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

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

[0, 195; -475, 0] "Sum1" 2

} }

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

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

c’ x

b

b’

x

x

c

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

ωs = ωs – f– p –

2 2 πf p

(1 )

d ik en a li s eb a ga i fr ek u en s i s eger a k (s yn ch r on ou s fr equ en cy) ia la h fr ek u en s i b ek a la n t iga fa s a p a d a s t a t or ia la h b ila n ga n k u t u b

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

(2 )

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

s =

ωs − ωr ωs

(3 )

Flu k s s ela u d a r a ya n g b er p u t a r ju ga a k a n m en ga r u h k a n d ge p a d a b elit a n s t a t or ya n g d ik en a li s eb a ga i d ge b a lik a n (b a ck em f) a t a u volt a n s ela u d a r a (a ir ga p volt a ge). Volt a n s ela u d a r a ya n g t er a r u h d ib er i oleh : E a g = k f φa g

(4 )

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

1

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

(5 )

d .g.e. ya n g t er a r u h p a d a r ot or a d a la h d is eb a b k a n oleh flu k s m a gn et ya n g s a m a t a p i p a d a fr ek u en s i gelin cir a n d a n ia b oleh d it u lis s eb a ga i: E r = k s f φa g = s E a g

(6 )

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

(7 )

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

⇒ E ag =

Rs

Rr Ir + j(2 πf )L lr s

Is

(8 )

Llr

Lls

+

Ir

+ Lm

Vs

E ag

Im

Rr s

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

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

Rot or t id a k m em p u n ya i s u m b er k u a s a , oleh it u k u a s a ya n g d ip in d a h k a n d a r i lit a r s t a t or k e lit a r r ot or d ik en a li s eb a ga i k u a s a s ela u d a r a (a ir -ga p p ower ) d a n d ib er i oleh :

Pa g = 3 I 2r

Rr s

=

3 I 2r R r

+

Hila n g p a d a Rr

3 I 2r

Rr [1 − s ] s

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

P m = (1 - s )P a g

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

s ωs = ωs - ωr

ωr = (1 -s )ωs

2

∴ P a g = Tem ωs

Tem =

Oleh it u

J ik a

Ir =

Vs

Rs +

Rr + j(X ls + X lr ) s

Tem =

Pa g ωs

=

3 I 2r R r s ωs

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

Vs2 3R r 2 s ωs  R  2  R s + r  + (X ls + X lr ) s  

Ben t u k la zim cir i T- ω u n t u k m ot or a r u h a n : Tem Pu ll ou t Tor qu e

Tm ,r a t ed

s

ωr a t ed ωs

0 1

0

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

sm = ±

Rr

R s + (X ls + X lr ) 2

2

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

Tm a x =

 Vs2 3  s ωs  R ± R 2 + (X + X )2 s ls lr  s 3

   

ωr

Kawalan laju m o t o r aru h an Ter d a p a t b eb er a p a k a ed a h k a wa la n la ju : (i)

(ii)

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

T TL

Lower s p eed gives h igh er s lip ∴ les s efficien t

ωr

(iii)

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

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

E ag

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

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

Vs f

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

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

Vs , r a t ed

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

T,r a t ed

ωr ,r a t ed

Vs

ωs ,r a t ed

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

5

ωr

ωr

Fixed AC.

AC–DC (r ect ifier )

PWM in ver t er

IM

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

5 0 Hz Rr = 3 Ω,

4 ïSROH 1370 rpm Xls = Xlr = 3 .5 Ω

Mot or is con t r olled b y a volt a ge s ou r ce in ver t er wit h con s t a n t V/ f. Ca lcu la t e: (a ) S p eed for fr equ en cy of 3 0 Hz a n d 8 0 % of fu ll loa d (b ) Fr equ en cy for a s p eed of 1 0 0 0 r p m a n d fu ll loa d t or qu e (c) Tor qu e for a fr equ en cy of 4 0 Hz a n d s p eed of 1 1 0 0 r p m (a ) 5 0 Hz

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

Ra ted s lip s p eed

1500

Ns lip ,0 .8

Tr a t ed Ns lip , r a t ed

=

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

Ns lip ,r a t ed = Ns ï1r ,r a t ed = 1 5 0 0 ï USP

∴ Ns lip , 0 . 8 =

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

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

∴Nr = Ns ï1s lip = 9 0 0 ï0 4 = 7 9 6 r p m

(b ) 5 0 Hz

? Hz

Tr a t ed

Ns

1000

1370

Ns lip ,ra ted = 130 rpm

1500

Ns lip ,ra ted = 130

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

Ns =

2 f × 60 p

∴ f = 3 7 .6 7 Hz

(c)

5 0 Hz

4 0 Hz Tr a t ed T=?

1100

Ns Ns lip

Ns =

2 f × 60 p

∴ Ns = 1 2 0 0 r p m

Ns lip = 1 2 0 0 ï USP

7

1370

1500

Ns lip ,ra ted = 130 rpm

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

∴T = 0 .7 6 9 Tr a t ed

Tem =

Tr a t ed = ?

3Rr Vs2 2 s ωs  R  2  R s + r  + (X ls + X lr ) s   Tr a t ed = 3 8 .0 6 Nm

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

Example 2 A 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? 5 0 Hz

TL(Nm)

TL = K ω2 Trated

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

a)

or

Load torque is given by: T L = K ω2

1460 rpm ⇒

20 = K(152.9)2

8

Zslip,r

⇒ K = 20/(152.9)2

TL =

20 ω2 1 5 2 .9 2

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

Motor T-ω is obtained as follows: T r a t ed T r a t ed Te = = 4 .7 7 = ω s lip ω s yn , r − ω r , r ω s yn − ω r

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

Therefore at 0.5 Trated and speed of 108.11 rad/s

1 0 = 4 . 7 7 ω s yn − 4 . 7 7 (1 0 8 . 1 1 ) ∴

ωsyn = 110.2 ⇒ f = 35 Hz

5 0 Hz

TL(Nm)

TL = K ω2

1.1(Trated) Trated

Zr,r

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

At start-up,

ω s lip = ω s yn ∴

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

9

Zslip,r

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

Rs

Lr l

Ls l

+

+

V

Eg

Lm

Im

Rr/ s

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

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

The performance can be improved by: (i)

Boosting the voltage at low frequency:

10

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

Im =

jω L lr +

Rr s

jω (L lr + L m ) +

⇒ I1 =

Rr s

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

Rr s

I1

Rr s I m

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

I1 =

I1 =

jω L r +  σr jω  1 + σr

Rr s

 R L r + r  s 

jω s lip Tr + 1  σr jω s lip  1 + σr

  Tr + 1  

Im

Im ,

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

11

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

Rectifier

3-phase supply

VSI IM

Ramp

ω*

V

+

+ + Slip speed calculator

Pulse Width Modulator

+ Vboost

Vdc Idc

How is the slip speed estimated? The slip frequency is proportional to the torque, hence it can estimated by estimating the torque. The torque is estimated from, Te = Pag/ωsyn

12

Pag is estimated by subtracting the input DC power with the inverter and stator copper losses.

Closed-loop speed control Speed regulation can be improved by employing closed-loop speed control system with tachometer feedback, as shown below.

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

13

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,

v as v abcs = v bs v cs

ias iabcs = ibs ics

Ψabcs =

Ψas Ψbs Ψcs

and v abcr =

v ar v br v cr

iar iabcr = ibr icr

Ψabcs =

Ψar Ψbr Ψcr

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

Ψabcs = Ψabcs,s + Ψabcs,r

(3)

Ψabcr = Ψabcr,r + Ψabcr,s

(4)

1

stator, b

rotor, a θr

rotor, b

stator, a ξ = 0

rotor, c Figure 1 stator, c

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

Ψabcs,s

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

Las,br

Las,cr iar

Ψabcs,r = L bs,ar

L bs,br

L bs,cr ibr

Lcs,ar

Lcs,br

Lcs,cr icr

Lar

Labr

Lacr iar

Ψabcr,r = Labr

L br

L bcr ibr

Lacr L bcr

Lcr

(5)

(6)

(7)

icr

2

Lar,as Ψabcr,s =

Lar,bs

Lar,cs ias

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

Lcr,bs

(8)

Lcr,cs ics

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

Lbs = Lms + Lls.

Lcs = Lms + Lls.

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

L ms = µ o Ns2

rl g

π 4

L abs = L bcs = L acs = −µ o Ns2

rl g

π 8

= −

L ms 2

(9)

Thus equation (5) can be written as:

L ms + Lls Ψabcs,s =

L − ms 2 L − ms 2

L ms 2

L ms + Lls −

L ms 2 L ms − 2 −

L ms 2

L ms + Lls

ias ibs

(10)

ics

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

Ψabcs,r

Ψabcr,s

(

3

cos θr + 2π 3 cos θr cos θr − 2π 3

cos θr Nr = L ms cos θr + 2π 3 Ns cos θr − 2π 3

cos θr − 2π 3 cos θr cos θr + 2π 3

N = r L ms Ns

cos θr cos θ − 2π

( cos(θ

( (

r

r

) + 2π 3) ) )

)

(

)

(

)

(

)

( (

cos θr − 2π 3 cos θr + 2π 3 cos θr

( (

cos θr + 2π 3 cos θr − 2π 3 cos θr

) )

iar ibr

(11)

icr

) )

ias ibs

(12)

ics

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

3

If the permeability of the core is assumed infintely large, all the mmf drops will appear across the airgap. Therefore, the stator airgap MMF of a sinusoidally distributed winding for phase a can be written as: N ℑas = s ias cos(ξ − α) (13) 2 ξ is any angle where ξ=0 coincide with the magnetic axis of stator winding phase a. α is the angle in which airgap mmf is maximum. ias is the stator phase a current. If α = 0 then equation (9) can be written as:

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

(15)

ℑcs

(16)

The total airgap mmf

ℑabcs =

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

ℑ bs =

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

(17)

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

ℑabcs =

{(

)

(

)

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

}

(18)

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

{

3 Ns ise − jξ + is*ejξ 2 4

ℑabcs =

}

(19)

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

is =

(

2 ias + aibs + a2ics 3

)

(20)

The physical current can be obtained from the space phasor by separating the space phasor into its real and imaginary part. In most cases we can assume that ias + ibs + ics = 0. 2 is = (ias + ibs(cos 120 + j sin 120) + ics(cos 240 + j sin 240)) 3

=

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

= ias + j

Thus

1 (ibs − ics) 3

ias = Re[is ]

(21)

Similarly it can be shown that

4

=

[

]

[ ]

=

and

(22)

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

=

+

vr = Rrir +

Ψ

(23)

dΨr dt

(24)

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

Ψ =Ψ Ψ

(25)

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

Similarly, Ψ shown that:

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

Ψs = Ls is + L m ir'ejθr

(26)

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

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

Ψr' = Lr ir' + L m ise−jθr

(27)

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

ir' ) , is the space vector referred to the

rotating rotor reference frame. However, the d and q components of ir'ejθr are expressed in the stator stationary reference frame. This is illustrated in Figure 2. Therefore we can define the rotor current referred to the stator stationary frame as

irs = ir'ejθr

(28)

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

Ψss = Ls iss + L m irs

(29)

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

qs

ir'

ir' = i'rejξr irs = i'rej(ξr + θr)

dr

isqr

ξr θr

ωr Figure 2 ds

isdr

5

Similarly the term ise−jθr in (27) is the stator current referred to rotating rotor frame. This is illustrated in Figure 3. qr

qs

is jξs

is = ise r s

i

dr

j(ξs − θr)

= ise

ωr

Figure 3

ξs

irqs

irds

θr

ds

Re-writing equations (23),(24),(26) and (27), the space vector equations to describe the squirrel cage IM written in stationary stator frame can be written as follows:

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

dψss dt

(30a)

dψ rs − jωr ψrs dt

(31a)

ψss = Ls iss + L m irs

(32a)

ψ rs = Lr irs + L m iss

(33a)

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

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

dψsg + jωg ψsg dt

(30b)

dψ rg + j(ωg − ωr)ψ rg dt

(31b)

ψsg = Ls isg + L m irg

(32b)

ψrg = Lr irg + L m isg

(33b)

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

(

) (

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

vs is* =

)

(34)

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

[

]

Re vs is* =

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

(35)

6

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

Pe =

( [

3 Re vs is* 2

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

(36)

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

Pe =

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

[

]

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

(37)

Equation (37) can be divided into three terms: (i) (ii) (iii)

Power dissipated in stator and rotor resistances Time rate of change of stored energy Power conversion from electrical to mechanical – responsible for torque production

Pmech =

[

]

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

(38)

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

Pmech =

{ [

]

{ [

}

]

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

}

(39)

Since the term L m ir is* + L misi'* has no imaginary part, the mechanical power reduces to: r

Pmech = −

{

3 Re jωrL misi'* r 2

}

(40)

Which can also be written as:

Pmech =

{

3 Im ωrL misi'* r 2

}

(41)

OR

Pmech =

[

3 ωrL m iqsi'dr − idsi'qr 2

]

(42)

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

Te =

[

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

]

(43)

7

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

v sd v sq v rd v rq

=

R s + sLs 0 sL m − ωrL m

0 R s + sLs ωrL m sL m

‘s’in (44) represents the derivative be put into state space forms with variables. If the stator and rotor arranging (44) the IM equation can be

isd isq ird

=

2 m

L

1 − Lr Ls

irq

sL m 0 R r + sLr − ωrLr

isd i ⋅ sq ird irq

(44)

operator d/dt. The space vectors equations can also the choice of flux linkages or currents as state currents are chosen as the state variables, rewritten as:

R sL r

− ωr L2misq

− R rL m

− ωr L m L r

ωL − R sL m − ωr L m Ls

R sLr ω r L m Ls − R sL m

ωr L m L r R r Ls − ω r L r Ls

− R rL m ωr Lr Ls R r Ls

2 r m

0 sL m ωrLr R r + sLr

isd i ⋅ sq ird irq

+

2 m

L

− Lr 0 Lm 0

1 − Lr Ls

0 Lr 0 Lm

v sd v sq

(45)

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

1 1

isd

5

Va

Vd

2 q

Mux

2

Mux

3to2

Vb

In1

Out1

isq

Demux

IM1 Demux

3 ird 6 irq 8

3

Te

Vc 7

-K-

Vq

-KGain2 4 speed

1/s Integrator

1/J

Constant

-K1/J1

-KGain1

Figure 4

8

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 "%" ModifiedDateFormat "%" LastModifiedDate "Mon Sep 13 15:37:48 2004" ModelVersionFormat "1.%" ConfigurationManager "none" SimParamPage "Solver" LinearizationMsg "none" Profile off ParamWorkspaceSource "MATLABWorkspace" AccelSystemTargetFile "accel.tlc" AccelTemplateMakefile "accel_default_tmf" AccelMakeCommand "make_rtw" TryForcingSFcnDF off ExtModeMexFile "ext_comm" ExtModeBatchMode off ExtModeTrigType "manual" ExtModeTrigMode "normal" ExtModeTrigPort "1" ExtModeTrigElement "any" ExtModeTrigDuration 1000 ExtModeTrigHoldOff 0 ExtModeTrigDelay 0 ExtModeTrigDirection "rising" ExtModeTrigLevel 0 ExtModeArchiveMode "off" ExtModeAutoIncOneShot off ExtModeIncDirWhenArm off ExtModeAddSuffixToVar off ExtModeWriteAllDataToWs off ExtModeArmWhenConnect on http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (1 von 28) [17.05.2005 17:15:21]

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

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

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

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

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

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

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

YMin YMax SaveToWorkspace SaveName LimitDataPoints MaxDataPoints Decimation SampleInput SampleTime

"-5" "5" off "ScopeData" on "5000" "1" off "0"

} Block { BlockType "S-Function" FunctionName "system" PortCounts "[]" SFunctionModules "''" } Block { BlockType SubSystem ShowPortLabels on Permissions "ReadWrite" RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" SimViewingDevice off DataTypeOverride "UseLocalSettings" MinMaxOverflowLogging "UseLocalSettings" } Block { BlockType Sum IconShape "rectangular" Inputs "++" ShowAdditionalParam off InputSameDT on OutDataTypeMode "Same as first input" OutDataType "sfix(16)" OutScaling "2^0" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on } Block { BlockType Switch Criteria "u2 >= Threshold" Threshold "0" ShowAdditionalParam off InputSameDT on OutDataTypeMode "Inherit via internal rule" RndMeth "Floor" SaturateOnIntegerOverflow on ZeroCross on } } AnnotationDefaults { HorizontalAlignment VerticalAlignment ForegroundColor BackgroundColor DropShadow FontName FontSize FontWeight FontAngle } LineDefaults { FontName

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

"Helvetica"

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

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

FontSize FontWeight FontAngle

9 "normal" "normal"

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

BlockType Name Position Value

Constant "Constant1" [195, 371, 235, 389] "(2*pi)/3"

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

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

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

"Sum" 1 "out_1" 1

"Product" 1 "Sum" 1

"in_1" 1 "Product" 1

"in_2" 1 "Product" 2

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

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

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

"2"

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

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

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

"in_2" 1 "Product" 2

"in_1" 1 "Product" 1

"Product" 1 "Sum" 1

"Sum" 1 "out_1" 1

} } Block { BlockType SubSystem Name "Dot Product3" Ports [2, 1] Position [385, 467, 415, 503] TreatAsAtomicUnit off MaskType "Dot Product" MaskDescription "Inner (dot) product.\ny=sum(u1.*u2) " MaskHelp "Computes the inner (dot) product of the inp" "uts: sum(u1.*u2). The inputs are vectors of the same length. Output is a sca" "lar." MaskInitialization "t=(0:.1:2*pi)';\nx=cos(t);\ny=sin(t);" MaskDisplay "plot(0,0,1,1,x*[0.025 0.07]+0.5,y*[0.025 0." "07]+0.5)" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "normalized" http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (9 von 28) [17.05.2005 17:15:21]

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

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

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

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

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

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

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

"in_2" 1 "Product" 2

"in_1" 1 "Product" 1

"Product" 1 "Sum" 1

"Sum" 1 "out_1" 1

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

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

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

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

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

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

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

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

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

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

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

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

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

Integrator

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

"Integrator" 1 "Elementary\nMath" 1

"Elementary\nMath" 1 "Dot Product2" 2

"Gain" 1 "Integrator" 1

"Elementary\nMath1" 1 "Dot Product1" 2

"Gain2" 1 "Integrator1" 1

"Elementary\nMath2" 1 "Dot Product3" 2

"Gain4" 1 "Integrator2" 1

"Sum" 1 "Elementary\nMath1" 1

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

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

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

"Integrator1" 1 "Sum" 1

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

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

"Sum1" 1 "Elementary\nMath2" 1

"Integrator2" 1 "Sum1" 2

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

[0, -60] "Gain1" 1

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

"Gain2" 1

[0, 160; 25, 0]

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

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

Branch { DstBlock DstPort } Branch { Points DstBlock DstPort }

"Gain4" 1

[0, -60] "Gain5" 1

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

"Dot Product2" 1 "Out1" 1

"Dot Product1" 1 "Out2" 1

"Dot Product3" 1 "Out3" 1

"Gain3" 1 "Sum2" 2

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

"Gain1" 1 "Sum3" 2

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

"Gain5" 1 "Sum4" 2

"Sum4" 1

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

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

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

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

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

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

[160, 0] "Sum2" 1

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

on "none" "autoscale" "5.5|4.51|306.5e-3|306.5e-3|291.9e-3|4|0.02|0.01"

"|0.1" System { Name "Induction Machine" Location [2, 70, 798, 552] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block { BlockType Inport Name "Va" Position [25, 40, 45, 60] } Block { BlockType Inport Name "Vb" Position [25, 120, 45, 140] Port "2" } Block { BlockType Inport Name "Vc" Position [25, 240, 45, 260] Port "3" } Block { BlockType Gain Name "1/J" Position [260, 292, 285, 318] Orientation "left" Gain "pole/(2*J)" SaturateOnIntegerOverflow off } Block { BlockType SubSystem Name "3to2" Ports [3, 2] Position [105, 81, 135, 139] ShowPortLabels off TreatAsAtomicUnit off System { Name "3to2" Location [4, 74, 628, 500] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block { BlockType Inport Name "in_1" Position [15, 50, 35, 70] http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (17 von 28) [17.05.2005 17:15:21]

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

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

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

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

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

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

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

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

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

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

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

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

Outport "q"

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

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

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

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

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

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

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

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

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

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

[0, 115] "Gain4" 1

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

[0, 105] "Gain3" 1

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

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

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

"Gain3" 1 "Ib" 1

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

"Ib" 1 "q" 1

} } Block { BlockType Constant Name "Constant" Position [630, 306, 670, 324] Orientation "left" Value "Tload" } Block { BlockType Demux Name "Demux" Ports [1, 5] Position [420, 91, 460, 149] Outputs "5" } Block { BlockType Gain Name "Gain1" Position [150, 407, 175, 433] Orientation "left" Gain "2/pole" } Block { BlockType SubSystem Name "IM1" Ports [1, 1] Position [320, 106, 380, 134] TreatAsAtomicUnit off System { Name "IM1" Location [248, 340, 468, 422] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block { BlockType Inport Name "In1" http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (20 von 28) [17.05.2005 17:15:21]

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

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

[25, 33, 55, 47]

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

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

"In1" 1 "S-Function" 1

"S-Function" 1 "Out1" 1

} } Block { BlockType Integrator Name "Integrator" Ports [1, 1] Position [360, 295, 380, 315] Orientation "left" } Block { BlockType Mux Name "Mux" Ports [3, 1] Position [260, 104, 290, 136] Inputs "3" } Block { BlockType Sum Name "Sum" Ports [3, 1] Position [440, 287, 460, 323] Orientation "left" Inputs "+--" } Block { BlockType Gain Name "load_C" Position [375, 367, 400, 393] Gain "load_C" SaturateOnIntegerOverflow off } Block { BlockType Outport Name "isd" Position [630, 25, 650, 45] InitialOutput "0" } http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (21 von 28) [17.05.2005 17:15:21]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

"Mux" 1 "IM1" 1

"IM1" 1 "Demux" 1

"Sum" 1 "Integrator" 1

"Integrator" 1 "1/J" 1

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

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

"Gain1" 1 [0, 0]

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

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

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

"speed" 1

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

"Constant" 1 "Sum" 3

"q" [482, 87] "top"

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

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

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

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

SelectedSignals

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

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

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

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

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

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

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

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

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

"Slider\nGain1" 1

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

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

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

"Rate Limiter" 1

"Constant" 1 "Slider\nGain1" 1

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

[0, 175] "Scope1" 2

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

[0, 195] "Scope1" 1

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

[0, 175] "Scope1" 3

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

[25, 0] [15, 0]

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

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

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

"Constant V/Hz" 1

[0, -80] "Gain" 1

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

"Constant2" 1 "Manual Switch" 1

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

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

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

"Gain" 1 "Mux" 1

} }

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

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

/* * sfuntmpl.c: Template C S-function source file. * * ------------------------------------------------------------------------* | See matlabroot/simulink/src/sfuntmpl.doc for a more detailed template | * ------------------------------------------------------------------------* * Copyright (c) 1990-97, by The MathWorks, Inc. * All Rights Reserved * \$Revision 1.1 \$ */ /* * You must specify the S_FUNCTION_NAME as the name of your S-function. */ #define S_FUNCTION_NAME imch /* Input Arguments */

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

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

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

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

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

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

E &225 AB G

E

"

>

3

/ &220 AB

<

/<

/<

C"

1 H &20. AE

D ;

E <

C"

? /<

D

F 4 CE

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

=

In the chosen reference frame, ψ = ψ

=

(1)

ψ ×

−ψ

and ψ

=

)

(2)

, 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 "%" LastModifiedBy "Administrator" ModifiedDateFormat "%" LastModifiedDate "Sun Sep 12 00:33:10 2004" ModelVersionFormat "1.%" ConfigurationManager "none" SimParamPage "WorkspaceI/O" LinearizationMsg "none" Profile off ParamWorkspaceSource "MATLABWorkspace" AccelSystemTargetFile "accel.tlc" AccelTemplateMakefile "accel_default_tmf" AccelMakeCommand "make_rtw" TryForcingSFcnDF off ExtModeMexFile "ext_comm" ExtModeBatchMode off ExtModeTrigType "manual" ExtModeTrigMode "normal" ExtModeTrigPort "1" ExtModeTrigElement "any" ExtModeTrigDuration 1000 ExtModeTrigHoldOff 0 ExtModeTrigDelay 0 ExtModeTrigDirection "rising" ExtModeTrigLevel 0 ExtModeArchiveMode "off" ExtModeAutoIncOneShot off ExtModeIncDirWhenArm off ExtModeAddSuffixToVar off ExtModeWriteAllDataToWs off http://encon.fke.utm.my/courses/mep1422/foc.mdl (1 von 36) [17.05.2005 17:15:41]

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

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

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

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

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

LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on } Block { BlockType Inport Port "1" PortDimensions "-1" SampleTime "-1" ShowAdditionalParam off LatchInput off DataType "auto" OutDataType "sfix(16)" OutScaling "2^0" SignalType "auto" SamplingMode "auto" Interpolate on } Block { BlockType Integrator ExternalReset "none" InitialConditionSource "internal" InitialCondition "0" LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" ZeroCross on } Block { BlockType Math Operator "exp" OutputSignalType "auto" } Block { BlockType Mux Inputs "4" DisplayOption "none" } Block { BlockType Outport Port "1" OutputWhenDisabled "held" InitialOutput "[]" } Block { BlockType Relay OnSwitchValue "eps" OffSwitchValue "eps" OnOutputValue "1" OffOutputValue "0" ShowAdditionalParam off OutputDataTypeScalingMode "All ports same datatype" OutDataType "sfix(16)" OutScaling "2^0" ConRadixGroup "Use specified scaling" ZeroCross on } Block { BlockType Scope Floating off ModelBased off TickLabels "OneTimeTick" http://encon.fke.utm.my/courses/mep1422/foc.mdl (4 von 36) [17.05.2005 17:15:41]

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

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

"on" "on" "auto" "-5" "5" off "ScopeData" on "5000" "1" off "0"

} Block { BlockType "S-Function" FunctionName "system" PortCounts "[]" SFunctionModules "''" } Block { BlockType SignalGenerator WaveForm "sine" Amplitude "1" Frequency "1" Units "Hertz" VectorParams1D on } Block { BlockType SubSystem ShowPortLabels on Permissions "ReadWrite" RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" SimViewingDevice off DataTypeOverride "UseLocalSettings" MinMaxOverflowLogging "UseLocalSettings" } Block { BlockType Sum IconShape "rectangular" Inputs "++" ShowAdditionalParam off InputSameDT on OutDataTypeMode "Same as first input" OutDataType "sfix(16)" OutScaling "2^0" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on } Block { BlockType Trigonometry Operator "sin" OutputSignalType "auto" } } AnnotationDefaults { HorizontalAlignment VerticalAlignment ForegroundColor BackgroundColor DropShadow FontName FontSize

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

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

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

FontWeight FontAngle

"normal" "normal"

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

Name Position

"Va" [25, 40, 45, 60]

} Block { BlockType Inport Name "Vb" Position [25, 120, 45, 140] Port "2" } Block { BlockType Inport Name "Vc" Position [25, 240, 45, 260] Port "3" } Block { BlockType Gain Name "1/J" Position [260, 292, 285, 318] Orientation "left" Gain "1/J" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "1/J1" Position [375, 367, 400, 393] Gain "0.01" SaturateOnIntegerOverflow off } Block { BlockType SubSystem Name "3to2" Ports [3, 2] Position [105, 81, 135, 139] ShowPortLabels off TreatAsAtomicUnit off System { Name "3to2" Location [323, 87, 947, 513] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block { BlockType Inport Name "in_1" Position [15, 50, 35, 70] } Block { BlockType Inport Name "b" Position [15, 115, 35, 135] Port "2" } Block { BlockType Inport Name "c" Position [15, 180, 35, 200] Port "3" http://encon.fke.utm.my/courses/mep1422/foc.mdl (7 von 36) [17.05.2005 17:15:41]

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

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

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

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

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

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

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

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

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

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

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

"Ib1" 1 "d" 1

"Gain7"

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

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

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

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

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

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

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

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

[0, 115] "Gain4" 1

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

[0, 105] "Gain3" 1

"Gain3" 1 "Ib" 1

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

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

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

DstPort } Line { SrcBlock SrcPort DstBlock DstPort }

2

"Ib" 1 "q" 1

} } Block { BlockType Constant Name "Constant" Position [630, 306, 670, 324] Orientation "left" Value "Tload" } Block { BlockType Demux Name "Demux" Ports [1, 5] Position [420, 91, 460, 149] Outputs "5" } Block { BlockType Gain Name "Gain1" Position [150, 407, 175, 433] Orientation "left" Gain "2/pole" } Block { BlockType SubSystem Name "IM1" Ports [1, 1] Position [320, 106, 380, 134] TreatAsAtomicUnit off System { Name "IM1" Location [248, 340, 468, 422] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block { BlockType Inport Name "In1" Position [25, 33, 55, 47] } Block { BlockType "S-Function" Name "S-Function" Ports [1, 1] Position [80, 25, 140, 55] FunctionName "imch" Parameters "Rs, Rr, Ls,Lr,Lm,pole" } Block { BlockType Outport Name "Out1" http://encon.fke.utm.my/courses/mep1422/foc.mdl (10 von 36) [17.05.2005 17:15:41]

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

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

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

"In1" 1 "S-Function" 1

"S-Function" 1 "Out1" 1

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

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

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

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

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

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

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

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

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

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

"0"

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

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

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

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

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

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

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

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

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

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

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

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

[0, -35] "Vd" 1

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

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

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

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

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

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

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

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

"1/J1" 1

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

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

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

"Mux" 1 "IM1" 1

"IM1" 1 "Demux" 1

"Sum" 1 "Integrator" 1

"Integrator" 1 "1/J" 1

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

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

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

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

"Constant" 1 "Sum" 3

"q" [482, 87] "top"

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

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

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

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

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

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

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

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

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

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

SelectedSignals

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

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

axes1 axes2 } TimeRange YMin YMax DataFormat

"" "" "0.1" "-25~-30" "25~30" "StructureWithTime"

} Block { BlockType SignalGenerator Name "Signal\nGenerator" Position [25, 50, 55, 80] WaveForm "square" Amplitude "-20" Frequency "20" } Block { BlockType SubSystem Name "Subsystem" Ports [4, 4] Position [895, 21, 945, 124] TreatAsAtomicUnit off System { Name "Subsystem" Location [596, 100, 1004, 348] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block { BlockType Inport Name "ird" Position [25, 33, 55, 47] } Block { BlockType Inport Name "isd" Position [25, 78, 55, 92] Port "2" } Block { BlockType Inport Name "irq" Position [25, 128, 55, 142] Port "3" } Block { BlockType Inport Name "isq" Position [25, 173, 55, 187] Port "4" } Block { BlockType Reference Name "Cartesian to\nPolar" Ports [2, 2] Position [255, 87, 285, 118] SourceBlock "simulink_extras/Transformations/Cartesian t" "o\nPolar" SourceType "Cart2Polar" http://encon.fke.utm.my/courses/mep1422/foc.mdl (16 von 36) [17.05.2005 17:15:41]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[0, -25] "Fd" 1

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

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

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

[0, 5] "Fq" 1

"ird" 1

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

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

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

"Gain" 1

"isd" 1 "Gain1" 1

"Cartesian to\nPolar" 1 "Fm" 1

"Cartesian to\nPolar" 2 "F_the" 1

"irq" 1 "Gain2" 1

"isq" 1 "Gain3" 1

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

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

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

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

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

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

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

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

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

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

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

Gain

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

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

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

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

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

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

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

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

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

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

[0, 70] "Gain2" 1

[0, 40; 170, 0] "Sum2" 2

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

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

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

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

[0, -50] "Dot Product" 2

"Gain1" 1

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

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

"isq" 1

"Gain1" 1 "Dot Product1" 1

"T" 1 "Gain" 1

"Dot Product1" 1 "slip" 1

"Gain2" 1 "Derivative" 1

"Derivative" 1 "Sum2" 1

"Dot Product2" 1 "isd"

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

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

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

1

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

"Constant1" 1 [85, 0; 0, -60] "Dot Product2" 2

} } Block { BlockType SubSystem Name "Subsystem3" Ports [2, 3] Position [605, 185, 645, 245] Orientation "left" TreatAsAtomicUnit off System { Name "Subsystem3" Location [436, 127, 909, 413] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block { BlockType Inport Name "In1" Position [80, 38, 110, 52] } Block { BlockType Inport Name "In2" Position [115, 143, 145, 157] Port "2" } Block { BlockType Gain Name "Gain1" Position [215, 28, 255, 52] Gain "1.0001" } Block { BlockType Gain Name "Gain10" Position [215, 238, 255, 262] Gain "-0.867" } Block { BlockType Gain Name "Gain2" Position [215, 83, 255, 107] Gain "-0.5" http://encon.fke.utm.my/courses/mep1422/foc.mdl (23 von 36) [17.05.2005 17:15:41]

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

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

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

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

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

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

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

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

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

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

[0, 50] "Gain2" 1

[0, 105] "Gain9" 1

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

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

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

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

[0, 100] "Gain10" 1

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

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

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

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

"Gain1" 1 "Out1" 1

"Ib2" 1 "Out2" 1

"Ib3" 1 "Out3" 1

SubSystem "Subsystem4" [2, 3]

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

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

Position [345, 50, 385, 110] TreatAsAtomicUnit off System { Name "Subsystem4" Location [436, 127, 909, 413] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block { BlockType Inport Name "In1" Position [80, 38, 110, 52] } Block { BlockType Inport Name "In2" Position [115, 143, 145, 157] Port "2" } Block { BlockType Gain Name "Gain1" Position [215, 28, 255, 52] Gain "1.0001" } Block { BlockType Gain Name "Gain10" Position [215, 238, 255, 262] Gain "-0.867" } Block { BlockType Gain Name "Gain2" Position [215, 83, 255, 107] Gain "-0.5" } Block { BlockType Gain Name "Gain8" Position [215, 138, 255, 162] Gain "0.867" } Block { BlockType Gain Name "Gain9" Position [215, 188, 255, 212] Gain "-0.5" } Block { BlockType Sum Name "Ib2" Ports [2, 1] Position [375, 102, 395, 138] } Block { BlockType Sum Name "Ib3" Ports [2, 1] http://encon.fke.utm.my/courses/mep1422/foc.mdl (26 von 36) [17.05.2005 17:15:41]

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

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

[375, 187, 395, 223]

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

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

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

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

[0, 50] "Gain2" 1

[0, 105] "Gain9" 1

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

[0, 100] "Gain10" 1

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

"Gain8" 1

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

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

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

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

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

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

"Gain1" 1 "Out1" 1

"Ib2" 1 "Out2" 1

"Ib3" 1 "Out3" 1

} } Block { BlockType SubSystem Name "Subsystem5" Ports [3, 2] Position [240, 48, 280, 112] TreatAsAtomicUnit off System { Name "Subsystem5" Location [468, 82, 922, 447] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block { BlockType Inport Name "iq" Position [25, 113, 55, 127] } Block { BlockType Inport Name "id" Position [25, 23, 55, 37] http://encon.fke.utm.my/courses/mep1422/foc.mdl (28 von 36) [17.05.2005 17:15:41]

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

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

"2"

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

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

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

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

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

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

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

Trigonometry "Trigonometric\nFunction"

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

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

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

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

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

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

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

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

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

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

[90, 0] "Dot Product" 1

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

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

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

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

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

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

"Dot Product2" 1 "Sum2" 1

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

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

[0, 115] "Dot Product3" 2

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

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

[0, 140] "Dot Product2" 1

"Sum1" 1 "Out1" 1

"Sum2" 1 "Out2"

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

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

DstPort

1

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

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

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

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

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

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

[0, 145] "Scope" 1

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

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

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

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

"Signal\nGenerator" 1 "Subsystem1" 1

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

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

"Sum1" 1 "Relay" 1

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

"Subsystem4" 2 "Sum2" 1

"Sum2" 1 "Relay1" 1

"Sum3" 1 "Relay2" 1

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

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

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

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

"Gain3" 1 "Integrator2" 1

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

[0, 140] "Subsystem3" 1

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

[0, 180] "Subsystem3" 2

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

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

"Relay1" 1 "Induction Machine" 2

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

"Integrator1" 1 "Sum"

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

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

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

1

"Integrator2" 1 "Sum" 2

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

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

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

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

"Subsystem5" 1 "Subsystem4" 1

"Subsystem5" 2 "Subsystem4" 2

"Subsystem1" 1 "Subsystem5" 1

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

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

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

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

DstBlock DstPort

"Scope" 2

} } }

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

DIRECT TORQUE CONTROL OF IM If a three phase VSI is connected to an IM, there can be eight possible configurations of six switching devices within the inverter. As a result, there are eight possible input voltage vectors to the IM. The eight voltage vectors, two of which are zero vectors, are shown in Fig 1. DTC utilises the eight possible stator voltage vectors, to control the stator flux and torque to follow the reference values within the hysteresis bands. The voltage space vector of a three-phase system is given by: =

(

+

)

+

π

=

(1)

vsA, vsB, and vsC are the instantaneous phase voltages. For the switching VSI, it can be shown that for a DC link voltage of Vd, the voltage space vector is given by: =

(

+

+

)

=

π

(2)

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

Si =

1 when upper switch is on 0 when lower switch is on

Figure 1.

Voltage vectors for 3-phase VSI

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

=

+

ψ

(3)

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

∆ψ s = v s ∆t

(4)

This simply means that the tip of the stator flux will follow that of the stator voltage space vector multiplied by the small change in time. Hence if the stator flux space vector (magnitude and angle) is known, its locus can be controlled by selecting appropriate stator voltage vectors. In DTC the stator flux space vector is obtained by calculation utilizing the motor terminal variables (stator voltages and currents). The stator flux is forced to follow the reference value within a hysteresis band by selecting the appropriate stator voltage vector using the hysteresis comparator and selection table. Direct Torque Control As shown by Takahashi and Noguchi [1], under a condition of a constant mechanical frequency and stator flux magnitude, when a step increase in the stator angular frequency is applied at t=0, the rate of change of torque at time t=0 is proportional to the slip frequency of the stator flux . Thus,

dT dt

t =0

α ω sl

t =0

(5)

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

Figure 2

Six sectors of stator flux plane

Table 1 Voltage vectors look-up table.

"

!

"" " ""

"

"

!

"" " ""

"

vs,4 Sector II

vs,3 vs,4

Sector I

vs,4 vs,3

vs,5

vs,2 vs,6

vs,2

vs,3

vs,1

vs,3

Figure 3

Flux control within the hysteresis band

ψ ψ

θψ

Figure 4 #\$

%& '

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

'- .) 678

Basic DTC * - //

0 )

)

*0 )/

) 1)) 2

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

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

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

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

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

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

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

OutScaling SignalType SamplingMode Interpolate

"2^0" "auto" "auto" on

} Block { BlockType Integrator ExternalReset "none" InitialConditionSource "internal" InitialCondition "0" LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" ZeroCross on } Block { BlockType Mux Inputs "4" DisplayOption "none" } Block { BlockType Outport Port "1" OutputWhenDisabled "held" InitialOutput "[]" } Block { BlockType Relay OnSwitchValue "eps" OffSwitchValue "eps" OnOutputValue "1" OffOutputValue "0" ShowAdditionalParam off OutputDataTypeScalingMode "All ports same datatype" OutDataType "sfix(16)" OutScaling "2^0" ConRadixGroup "Use specified scaling" ZeroCross on } Block { BlockType Scope Floating off ModelBased off TickLabels "OneTimeTick" ZoomMode "on" Grid "on" TimeRange "auto" YMin "-5" YMax "5" SaveToWorkspace off SaveName "ScopeData" LimitDataPoints on MaxDataPoints "5000" Decimation "1" SampleInput off SampleTime "0" } Block { BlockType "S-Function" FunctionName "system" PortCounts "[]" SFunctionModules "''" http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (4 von 29) [17.05.2005 17:16:37]

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

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

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

"Helvetica" 9 "normal" "normal"

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

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

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

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

Gain "1/J" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "1/J1" Position [295, 347, 320, 373] Gain "0.05" SaturateOnIntegerOverflow off } Block { BlockType SubSystem Name "3to2" Ports [3, 2] Position [105, 81, 135, 139] ShowPortLabels off TreatAsAtomicUnit off System { Name "3to2" Location [4, 42, 628, 468] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block { BlockType Inport Name "in_1" Position [15, 50, 35, 70] } Block { BlockType Inport Name "in_2" Position [15, 115, 35, 135] Port "2" } Block { BlockType Inport Name "in_3" Position [15, 180, 35, 200] Port "3" } Block { BlockType Gain Name "Gain3" Position [120, 248, 160, 272] Gain "0.577" } Block { BlockType Gain Name "Gain4" Position [120, 298, 160, 322] Gain "-0.577" } Block { BlockType Gain Name "Gain5" Position [145, 143, 185, 167] Gain "-0.33333" } Block { http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (7 von 29) [17.05.2005 17:16:37]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[0, 115] "Gain4" 1

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

[0, 105] "Gain3" 1

"Gain3" 1 "Ib" 1

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

"Ib" 1 "q" 1

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

Gain

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

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

Name Position Orientation Gain

"Gain1" [150, 407, 175, 433] "left" "2/pole"

} Block { BlockType SubSystem Name "IM1" Ports [1, 1] Position [320, 106, 380, 134] TreatAsAtomicUnit off System { Name "IM1" Location [248, 340, 468, 422] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block { BlockType Inport Name "In1" Position [25, 33, 55, 47] } Block { BlockType "S-Function" Name "S-Function" Ports [1, 1] Position [80, 25, 140, 55] FunctionName "imch" Parameters "Rs, Rr, Ls,Lr,Lm,pole" } Block { BlockType Outport Name "Out1" Position [165, 33, 195, 47] InitialOutput "0" } Line { SrcBlock "In1" SrcPort 1 DstBlock "S-Function" DstPort 1 } Line { SrcBlock "S-Function" SrcPort 1 DstBlock "Out1" DstPort 1 } } } Block { BlockType Integrator Name "Integrator" Ports [1, 1] Position [360, 295, 380, 315] Orientation "left" } Block { BlockType Mux http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (10 von 29) [17.05.2005 17:16:37]

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

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

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

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

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

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

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

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

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

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

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

Outport

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[-15, 0; 0, 115] "Gain1" 1

"Mux" 1 "IM1" 1

"IM1" 1 "Demux" 1

"Sum" 1 "Integrator" 1

"Integrator" 1 "1/J" 1

"1/J1" 1 [190, 0; 0, -45] "Sum" 2

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

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

} Line { SrcBlock SrcPort Points DstBlock DstPort } Line { SrcBlock SrcPort Points DstBlock DstPort } Line { SrcBlock SrcPort Points Branch { DstBlock DstPort } Branch { Points DstBlock DstPort } } Annotation { Name Position VerticalAlignment } } } Block { BlockType Name Ports Position Orientation FunctionName } Block { BlockType Name Ports Position Location Open NumInputPorts ZoomMode List { ListType axes1 axes2 axes3 } List { ListType axes1 axes2 axes3 }

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

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

"Gain1" 1 [0, 0; -10, 0] "speed" 1

[0, -60] "1/J1" 1

"q" [482, 87] "top"

"S-Function" "S-Function2" [1, 1] [220, 355, 270, 375] "left" "flxp2"

Scope "Scope" [3] [560, 214, 590, 246] [249, 259, 660, 649] on "3" "yonly" AxesTitles "%" "%" "%"

SelectedSignals "" "" ""

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

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

TimeRange YMin YMax DataFormat } Block { BlockType Name Ports Position Location Open NumInputPorts ZoomMode List { ListType axes1 } List { ListType axes1 } TimeRange YMin YMax SaveName DataFormat } Block { BlockType Name Ports Position Location Open NumInputPorts ZoomMode List { ListType axes1 } List { ListType axes1 } TimeRange YMin YMax SaveName DataFormat } Block { BlockType Name Position Orientation WaveForm Amplitude Frequency } Block { BlockType Name Position Orientation

"0.1" "-0.1~-20~-15" "2~20~15" "StructureWithTime"

Scope "Scope1" [1] [560, 144, 590, 176] [667, 408, 991, 647] on "1" "yonly" AxesTitles "%"

SelectedSignals "" "0.01" "-0.1" "2" "ScopeData1" "StructureWithTime"

Scope "Scope2" [1] [325, 184, 355, 216] [667, 110, 991, 349] on "1" "yonly" AxesTitles "%"

SelectedSignals "" "0.01" "-20" "20" "ScopeData2" "StructureWithTime"

SignalGenerator "Signal\nGenerator" [640, 320, 670, 350] "left" "square" "-15" "15"

Step "Step" [545, 380, 575, 410] "left"

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

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

Time After

"0.001" "1.2"

} Block { BlockType SubSystem Name "Subsystem" Ports [3, 3] Position [110, 286, 160, 384] Orientation "left" TreatAsAtomicUnit off System { Name "Subsystem" Location [230, 305, 670, 522] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block { BlockType Inport Name "T,err" Position [25, 35, 45, 55] } Block { BlockType Inport Name "Flx,err" Position [25, 105, 45, 125] Port "2" } Block { BlockType Inport Name "Flx ang" Position [25, 160, 45, 180] Port "3" } Block { BlockType Demux Name "Demux" Ports [1, 3] Position [280, 99, 320, 131] Outputs "3" } Block { BlockType Mux Name "Mux" Ports [3, 1] Position [100, 99, 130, 131] Inputs "3" } Block { BlockType "S-Function" Name "S-Function1" Ports [1, 1] Position [180, 105, 230, 125] FunctionName "select2" } Block { BlockType Outport Name "Sa" Position [375, 25, 395, 45] InitialOutput "0" http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (16 von 29) [17.05.2005 17:16:37]

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

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

Outport "Sb" [395, 105, 415, 125] "2" "0"

Outport "Sc" [350, 170, 370, 190] "3" "0"

"Flx ang" 1 "Mux" 3

"Demux" 3 [0, 55] "Sc" 1

"Flx,err" 1 "Mux" 2

"Demux" 2 "Sb" 1

"T,err" 1 "Mux" 1

"Demux" 1 [0, -70] "Sa" 1

"Mux" 1 "S-Function1" 1

"S-Function1" 1 "Demux" 1

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

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

} } Block { BlockType Sum Name "Sum2" Ports [2, 1] Position [510, 307, 530, 343] Orientation "left" Inputs "-+" } Block { BlockType Sum Name "Sum4" Ports [2, 1] Position [435, 380, 455, 400] Orientation "left" Inputs "+-" } Block { BlockType SubSystem Name "Voltage-controlled\nPWM-VSI1" Ports [3, 3] Position [70, 96, 100, 164] ShowPortLabels off TreatAsAtomicUnit off System { Name "Voltage-controlled\nPWM-VSI1" Location [-23, 85, 764, 579] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block { BlockType Inport Name "in_5" Position [370, 60, 390, 80] Orientation "left" } Block { BlockType Inport Name "in_6" Position [390, 155, 410, 175] Orientation "left" Port "2" } Block { BlockType Inport Name "in_7" Position [395, 225, 415, 245] Orientation "left" Port "3" } Block { BlockType Gain Name "Gain1" Position [290, 152, 315, 178] Orientation "left" Gain "240" } Block { http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (18 von 29) [17.05.2005 17:16:37]

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

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

Gain "Gain2" [295, 222, 320, 248] "left" "240"

Gain "Gain3" [285, 57, 310, 83] "left" "240"

Outport "out_1" [160, 60, 180, 80] "left" "0"

Outport "out_2" [165, 155, 185, 175] "left" "2" "0"

Outport "out_3" [175, 225, 195, 245] "left" "3" "0"

"in_5" 1 "Gain3" 1

"in_6" 1 "Gain1" 1

"in_7" 1 "Gain2" 1

"Gain3" 1 "out_1" 1

"Gain1" 1 "out_2" 1

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

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

} Line { SrcBlock SrcPort DstBlock DstPort }

"Gain2" 1 "out_3" 1

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

BlockType Name Position Port

Inport "iq" [25, 193, 55, 207] "4"

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

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

Block { BlockType Name Position InitialOutput } Block { BlockType Name Position Port InitialOutput } Line { SrcBlock SrcPort DstBlock DstPort } Line { SrcBlock SrcPort DstBlock DstPort } Line { SrcBlock SrcPort DstBlock DstPort } Line { SrcBlock SrcPort DstBlock DstPort } Line { SrcBlock SrcPort Points Branch { Points DstBlock DstPort } Branch { Points DstBlock DstPort } } Annotation { Name Position VerticalAlignment } } } Block { BlockType Name Position Gain }

Outport "r" [295, 75, 315, 95] "0"

Outport "theta" [295, 130, 315, 150] "2" "0"

"x->theta" 1 "theta" 1

"y" 1 "Mux" 2

"x" 1 "Mux" 1

"x->r" 1 "r" 1

"Mux" 1 [15, 0] [0, 25] "x->theta" 1

[0, -30] "x->r" 1

"Cartesian to Polar" [167, 37] "top"

Gain "Gain2" [170, 167, 195, 193] "Rs"

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

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

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

Gain "Gain3" [170, 112, 195, 138] "Rs"

Integrator "Integrator" [1, 1] [315, 85, 345, 115]

Integrator "Integrator1" [1, 1] [310, 165, 340, 195]

Sum "Sum6" [2, 1] [240, 90, 260, 110] "+-"

Sum "Sum7" [2, 1] [240, 145, 260, 165] "+-"

Outport "flxsdv" [500, 28, 530, 42]

Outport "flxsv" [550, 88, 580, 102] "2" "0"

Outport "angflxsv" [480, 123, 510, 137] "3" "0"

Outport "flxsqv" [435, 203, 465, 217] "4"

"Sum6" 1 "Integrator" 1

"Sum7"

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

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

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

1 "Integrator1" 1

"Gain3" 1 [25, 0] "Sum6" 2

"Gain2" 1 [0, -10] "Sum7" 2

"vd" 1 [60, 0; 0, 55] "Sum6" 1

"Integrator" 1 [0, 5; 25, 0] "Cartesian to Polar" 1

[0, -70] "flxsdv" 1

"Integrator1" 1 [50, 0] [0, -50] "Cartesian to Polar" 2

[0, 30] "flxsqv" 1

"Cartesian to Polar" 1 [75, 0] "flxsv" 1

"id" 1 [0, 20]

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

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

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

"Gain3" 1

"Cartesian to Polar" 2 "angflxsv" 1

"vq" 1 "Sum7" 1

"iq" 1 [0, -20] "Gain2" 1

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

Position Orientation OnSwitchValue OffSwitchValue } Block { BlockType Name Position Orientation OnSwitchValue OffSwitchValue OnOutputValue OffOutputValue } Block { BlockType Name Ports Position Orientation } Block { BlockType Name Position Orientation InitialOutput } Line { SrcBlock SrcPort DstBlock DstPort } Line { SrcBlock SrcPort Points DstBlock DstPort } Line { SrcBlock SrcPort Points DstBlock DstPort } Line { SrcBlock SrcPort Points Branch { Points DstBlock DstPort } Branch { Points DstBlock DstPort } }

[185, 58, 215, 82] "left" "Th/2" "0"

Relay "Relay1" [185, 123, 215, 147] "left" "0" "-Th/2" "0" "-1"

Sum "Sum3" [2, 1] [55, 105, 75, 125] "left"

Outport "out_1" [15, 105, 35, 125] "left" "0"

"Sum3" 1 "out_1" 1

"Relay1" 1 [-75, 0] "Sum3" 2

"Relay" 1 [-65, 0] "Sum3" 1

"in_1" 1 [-20, 0] [0, 30] "Relay1" 1

[-5, 0] "Relay" 1

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

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

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

"Induction Machine" 5 [30, 0; 0, -100] "stator flux - voltage model" 1

"Induction Machine" 1 [110, 0] "stator flux - voltage model" 2

"Induction Machine" 2 [70, 0; 0, 35] "stator flux - voltage model" 4

"Induction Machine" 7 [15, 0; 0, -70] "stator flux - voltage model" 3

"stator flux - voltage model" 3 [40, 0; 0, 270] "S-Function2" 1

"Induction Machine" 8 [20, 0; 0, 20] [0, 90; 140, 0] [165, 0] "Sum2" 1

[0, -60] "Scope" 2

"Scope2" 1

"stator flux - voltage model" 2 [65, 0; 0, 95] [0, 60]

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

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

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

[0, 165] "Sum4" 1

"Scope" 1

"Scope1" 1

"Voltage-controlled\nPWM-VSI1" 1 [20, 0; 0, -25] "Induction Machine" 1

"Voltage-controlled\nPWM-VSI1" 2 "Induction Machine" 2

"Voltage-controlled\nPWM-VSI1" 3 [20, 0; 0, 25] "Induction Machine" 3

"Subsystem" 1 [-80, 0; 0, -195] "Voltage-controlled\nPWM-VSI1" 1

"Subsystem" 2 [-70, 0; 0, -205] "Voltage-controlled\nPWM-VSI1" 2

"Subsystem" 3 [-60, 0; 0, -215] "Voltage-controlled\nPWM-VSI1" 3

"flux\nhysterisis" 1 [-40, 0; 0, -55] "Subsystem" 2

"Sum4" 1

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

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

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

"flux\nhysterisis" 1

"Step" 1 "Sum4" 2

"torquehys" 1 [-60, 0; 0, -20] "Subsystem" 1

"Sum2" 1 "torquehys" 1

"Signal\nGenerator" 1 "Sum2" 2

"S-Function2" 1 "Subsystem" 3

"Induction Machine" 4 [45, 0; 0, 120] "Scope" 3

} }

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