Electrical Drives Lectures

  • April 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Electrical Drives Lectures as PDF for free.

More details

  • Words: 37,475
  • Pages: 231
Electrical Drives

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

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

Module 2

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

Module 3

DC motor drives DC drives in power point format, in .pdf Construction, modeling and transfer function, Converters for DC drives – quadrant of operations. 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 +

. <'

d (Jω m ) dt

=7$

% Te = Tl + J

* = * = <= ω =

) , )

$> % $> % $

?%

$

d (Jω m ) dt

/

dω m dt

'%

. ω' = 7 * = *

0

*

@ .

"

*

!

#$ +

,

1

$% /

B

*/

/

0 */

1

*" " * * & .

$* = -ω% 0 *

*

ω)

ω)

* * *

*/

$% 2

*/

*2 *2 *2

= Cω?

.

*2

*"

ω

*

$ %* *,

*, .

.

*

*

*

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

Cω?

*

* =<

!

#$

ω

+ *, + -ω

-

@

*

#

% $ .#$ ! *

!

ω *

'

D

*

ω *

ω

ω

T *

*

ω

ω

*

$ % *

* . .. ...

E

E

*

." ,

F -

. *

$

= * ω%

F * *

! *

.. G

D

* * *

F *

... * *

*

F *

*

." *

G

D

* * *

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

/

ELECTROMECHANICAL ENERGY CONVERSION Electromechanical energy conversion process involves three forms of energy: electrical, magnetic field and mechanical. In rotating electrical machines, energy is continuously converted from electrical to mechanical, or vice versa. Electrical motors converts electrical energy to mechanical energy and it is reversed in the case of generators. In both cases, magnetic field acts as a medium in the process of electromechanical energy conversion. We will look (or review) the process of electromechanical energy conversion of a simple translational system for a non-linear and linear magnetic system. We will then apply this basic principle to a rotating machine. Example of electromechanical system



The characteristic of the flux linkage and current (λ-i) of a system shown in Fig 1 is determined by the B-H characteristic of the core and the length of the air-gap. With small air-gap length, g, the λ-i characteristic is dominated by the B-H characteristic of the core which has a non-linear characteristic due to the core magnetic saturation. With large g, however, the linear magnetic characteristic of the air-gap will dominate. Thus for large air-gap system the λ-i curve of the system displays a linear characteristic. If a linear system is assumed, all of the mmf drops appear across the air-gap. In other words, it is assumed that the reluctance of the core is negligibly small compared to that of the air-gap’s reluctance. This assumption is based on the fact that the magnetic permeability of the core is much larger than the airgap permeability. The λ-i curves for different air-gap values are therefore linear.



Fig. 1

λ

non-linear system

λ

Fig. 2

linear system

(1)

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

dWe = dWf + dWm

Where dWe – differential change in electrical energy dWf - differential change in field energy dWm - differential change in mechanical energy

dWf = i dλ

dWe = e.i dt = dWf

(3)

(2)

If the position of the moving part is fixed (air-gap length is fixed, thus dWm = 0) and the current in the coil is increased from 0 to ix, the field energy will increase and is given by:

Substituting e = dλ/dt,

λ λx

Wf =

idλ

λx

0

co-energy

Fig. 3

(4)

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

energy

ix

0

λdi

ix

(5)

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

(6)

If the moving part is allow to move slowly, from x = x1 to x = x2, such that the air-gap is reduced, the rate of change of flux linkage will be very small during this movement and hence the current can be assumed to be constant.

λ λ

Fig. 4

idλ

λx2

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

λx1

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

(7)

It can be shown graphically that Wm is given by the shaded area of Fig.4 which essentially is the increase in co-energy. Thus: dWm = dWf’

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

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

fm =

If the movement of the moving part is very fast (i.e. for the same displacement but for a very short time), the change in flux linkage can be assumed negligible. However, the rate of change of the flux linkage with time is finite and hence causes the current to decrease during this movement. It can be graphically shown that the mechanical energy is given by the shaded

∂Wf(i, x) ∂x λ = cons tan t

(8)

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

fm = −

λ λ

Fig. 5

If the differential movement is small, the shaded area of Fig 4 and Fig 5 is the same. Hence the force calculated using equation (7) and (8) will be the same.

Linear system

λ di =

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

0

i

λ = L(x)i

Wf' =

fm =

1 2 i L(x) 2

(11)

(10)

(9)

For linear system, the flux linkage is proportional to the current, where the constant of proportionality is the inductance of the coil. The inductance however depends on the position, x. Thus,

The co-energy is given by:

Using equation (7),

Rotating machines

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

=

dWf

dλs/dt

and

er

Fig. 6

=dλr/dt,

θ

(14)

(13)

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

es dWf = is dλs + ir dλr

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

∂θ

θ =

(18)

(17)

(16)

(15)

The first term of (14) is the flux linkage of the stator winding caused by the stator current whereas the second term is caused by the rotor current. Similarly, the flux linkage of the rotor winding can be expressed as, λr = Lrrir + Lsris Substituting (14) and (15) into (13), dWf = Lssisdis + Lrrirdir + Lsr d(isir)



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

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

Thus the torque is given by:

T =

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

ii)

i)

Reluctance torque (the first two terms of equation (18)). It is caused by a tendency of the induced pole to align with the excited pole such that minimum reluctance is produced. The torque only exists if the stator or rotor (or both) self inductances depends on the rotor position. This can exists if: 1) both stator and rotor are salient, 2) either stator or rotor is salient. In other words, in a cylindrical machine (whereby both stator and rotor are non-salient) reluctance torque will not exist. Further it can be seen that both stator and rotor need not to be excited at the same time.

-

Stator - salient Rotor – non-salient Stator self inductance does not depend on rotor position Rotor self inductance does not depend on rotor position

-

Stator - salient Rotor – salient Stator self inductance depends on rotor position Rotor self inductance depends on rotor position

Alignment torque (the third term of equation (18)). It is caused by a tendency of the excited rotor to align with excited stator. Both windings must be excited. The mutual inductance depends on rotor position regardless of whether the stator or rotor is salient or not. In other words, the alignment torque exists even if both stator and rotor is not salient. In induction machines, rotor current is produced through induction rather than excitation by external circuit, as in the case of cylindrical synchronous machines.

Stator - non-salient Rotor – salient Stator self inductance depends on rotor position Rotor self inductance does not depend on rotor position -

Stator - salient Rotor – non-salient Stator self inductance does not depend on rotor position Rotor self inductance depends on rotor position -

CONTROLLED RECTIFIER

CONVERTERS IN ELECTRIC DRIVE SYSTEMS

π

α

We have seen in previous course (undergraduate course) that a relation between the average voltage and the firing angle (or delay angle) of a single-phase controlled rectifier is given by: =

where α is the delay angle, Vm is the peak input voltage and Va is the average voltage. Note that this relation is only valid for continuous current mode. It describes the ‘average’ behavior of the rectifier over a period of the output voltage. The dynamic characteristic of the controlled rectifier is however very non–linear which can be described by non–linear differential equations. In order to simplify the designed of the controller containing controlled–rectifier circuit, an approximation using the average value is normally used. This approximation is however valid provided that the bandwidth of the control loop is maintained well below half of the maximum time for the average voltage to change. For instance, if a 3-phase system, 50Hz system is used as the input to the full-wave controlled rectifier, then, the time taken for the average voltage to change varies between 0 to 3.33 ms ((1/50)/6). The average time of 3.33ms/2 = 1.67 ms is taken. If this delay is not to be used in the model, the bandwidth of the drive must be made much smaller than 600 Hz.

=

α

α

α

α=

=

=

π

The SCRs are normally triggered based on the control signal generated, for example, by a current controller. Depending on the firing circuit used, a linear or a non– linear relation between vc and Va can be obtained.

=

π

MODELING OF SWITCH-MODE CONVERTERS IN ELECTRIC DRIVES

Introduction Modeling is a simplified representation of a physical system. In electrical engineering, physical systems are normally modeled using mathematical equations.

The complexity of the developed model of power electronic converters will depend on the applications of the model. For instance, a model for a switching device used to analyze its switching characteristic or switching losses is different from a model develop used to study the fundamental behavior of a converter containing that particular switching device.

Here we will look on how switch-mode converters used in DC drives are modeled. The application of our model is in the designing of linear controllers for drive systems using linear control system theory. We therefore need to obtain the linear models of the converters, i.e. we need to establish a linear relation between the control signal and the average output voltage.

va

-

+ Va



ω

Four-quadrant

Two-quadrant

Two typical switch-mode converters used in DC drives are the 2-quadrant and 4quadrant converters shown below. We will assume that the converters obtained the switching signals from a comparison between control signal vc and a triangular waveforms.

+

Two-quadrant converter As in all other converters, the status of the upper and lower switches in a leg, must always complement, i.e. if the upper switch is on, the lower switch must be off or vice versa- thus only one control signal is required to control a leg of a twoquadrant converter. If the upper switch is ON, the output voltage, vo equals Vdc and if the lower switch is ON vo = 0. The instantaneous output voltage will swing between Vdc and 0, however its average value depends on how long the switch upper (or lower) switch is ON.

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

!

q= 0

1 when vc < vtri, lower switch ON

when vc > vtri, upper switch ON

The output of the comparator is obtained as follows:

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

!

,

!

Cascade control structure

/

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

Two main features or advantages of cascade control structure is:

-

a) b)

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

fixed switching frequency control – linear controller hysteresis (or bang-bang) control – 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 <0

;

References: N. Mohan, “Power Electronics: Converters, applications and design” John Wiley and Sons, 1995. N. Mohan, “Electric Drives – an integrative approach” MNPERE, 2000. W. Leonhard, “Control of electrical drives”, Springer-Verlag, 1984. J. M. D. Murphy and F.G. Turnbull, “Power electronic control of AC motor”, Pergamon press, 1988.

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

Model { Name "rl_2q_average" Version 5.0 SaveDefaultBlockParams on SampleTimeColors off LibraryLinkDisplay "none" WideLines off ShowLineDimensions off ShowPortDataTypes off ShowLoopsOnError on IgnoreBidirectionalLines off ShowStorageClass off ExecutionOrder off RecordCoverage off CovPath "/" CovSaveName "covdata" CovMetricSettings "dw" CovNameIncrementing off CovHtmlReporting on covSaveCumulativeToWorkspaceVar on CovSaveSingleToWorkspaceVar on CovCumulativeVarName "covCumulativeData" CovCumulativeReport off DataTypeOverride "UseLocalSettings" MinMaxOverflowLogging "UseLocalSettings" MinMaxOverflowArchiveMode "Overwrite" BlockNameDataTip off BlockParametersDataTip off BlockDescriptionStringDataTip off ToolBar on StatusBar on BrowserShowLibraryLinks off BrowserLookUnderMasks off Created "Thu Sep 11 20:51:10 2003" UpdateHistory "UpdateHistoryNever" ModifiedByFormat "%" LastModifiedBy "Nik Rumzi" ModifiedDateFormat "%" LastModifiedDate "Mon Jul 19 11:38:36 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/rl_2q_average.mdl (1 von 10) [17.05.2005 17:11:15]

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

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

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

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

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

OutScaling SignalType SamplingMode Interpolate

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

} Block { BlockType Outport Port "1" OutputWhenDisabled "held" InitialOutput "[]" } Block { BlockType Reference } Block { BlockType Relay OnSwitchValue "eps" OffSwitchValue "eps" OnOutputValue "1" OffOutputValue "0" ShowAdditionalParam off OutputDataTypeScalingMode "All ports same datatype" OutDataType "sfix(16)" OutScaling "2^0" ConRadixGroup "Use specified scaling" ZeroCross on } Block { BlockType "S-Function" FunctionName "system" PortCounts "[]" SFunctionModules "''" } Block { BlockType Sin SineType "Time based" Amplitude "1" Bias "0" Frequency "1" Phase "0" Samples "10" Offset "0" SampleTime "-1" VectorParams1D on } Block { BlockType SubSystem ShowPortLabels on Permissions "ReadWrite" RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" SimViewingDevice off DataTypeOverride "UseLocalSettings" MinMaxOverflowLogging "UseLocalSettings" } Block { BlockType Sum IconShape "rectangular" Inputs "++" ShowAdditionalParam off InputSameDT on OutDataTypeMode "Same as first input" OutDataType "sfix(16)" OutScaling "2^0" http://encon.fke.utm.my/courses/mep1422/rl_2q_average.mdl (4 von 10) [17.05.2005 17:11:15]

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

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

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

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

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

"Helvetica" 9 "normal" "normal"

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

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

Gain

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

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

Name Position Gain

"Gain1" [480, 95, 510, 125] "200"

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

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

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

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

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

"Repeating\nSequence" 1 "Out1" 1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[35, 0] "Sum" 1

[0, 265] "Gain3" 1

"Subsystem" 1

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

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

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

[60, 0] "Sum" 2

"Sum" 1 "Relay" 1

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

[0, 345] "Dot Product" 2

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

"To Workspace3" 1

"Transfer Fcn" 1 "To Workspace4" 1

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

"Dot Product" 1

"Dot Product" 1 "To Workspace8" 1

"Gain3" 1

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

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

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

"Sum1" 1

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

[0, -80] "To Workspace1" 1

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

"2-quadrant with iD" [736, 44] "Arial" 20 "bold"

"qA" [399, 99]

} }

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

! "

! #

$

! %

&!

! '

(

(

'

)

*

%

+ # "

'

'

,

.

'

"'

"'

-

'

$"

$

=

'

−' .

*+

'

*/

' ' 0

$"

, $

=

.

2 0

(

'



$"

/

)

*1

$

,(3

, / "+ $" $

2

* , ( 43 % / ,

2

=

(( 3 − ( 3 ) = ' 5.

'

/

/.

*6

"# " '

"'

# "

'

'

'

,

-

'

'

$"

$

=

'

−' .

*3

' ' 0

$"

, */ $

"+ '

*7

= #

/' .



/

*4

2

,(3

(3 ,

$"

$

%

2

= 8

2

*6

*5

/'

(( 3 − ( 3 ) = ' /. /

.

*5 2

SPACE VECTOR MODULATION In contrast to Sinusoidal Pulse Width Modulation (SPWM), which treats the 3-phase quantities separately, in SVM, the 3-phase quantities are treated using single equation known as space vector. Therefore in terms of microprocessor or digital implementation, SVM gives less computational burden. The space vector of a 3-phase voltage is defined as: 2π 4π j j 2 vs = va (t) + v b (t)e 3 + vc (t)e 3 , 3 where va, vb and vc are the phase voltages. In 3-phase VSI, there are 8 possible switch configurations, hence there are eight possible voltage vectors that can be generated or obtained from the VSI. SVM utilized these 8 voltage vectors to synthesize the reference voltage.

+ AC Motor

Vd −

Figure 1 Space vector modulator applied to AC motor drive

vd *

vq *

Space vector modulator

Given a location of the reference voltage in any of the sectors, the actual voltage can be synthesized, within a sampling period, by selecting the two adjacent voltage vectors and zero voltage vectors. For example, if the reference voltage is located in sector 1, voltage vectors v1, v2, v0 and v7 should be selected. This is illustrated in Figure 2

q Sector 2

[010]

Figure 2 Voltage vectors of a 3-phase VSI

[110]

(1/√3)Vd Sector 3

Sector 1

v *s [100]

[011]

d

(2/3)Vd Sector 4

Sector 6

[001]

sector 6

sector 1

sector 2

sector 3

sector 4

b

a

100

[101]

Sector 5

sector 5

c

50

Figure 3 Sinusoidal reference voltage

0

-50

-100 0

0.005

0.01

000

0.015

010

110

111

0.02

110

Phase a

010

0.03

000

Figure 4 Example of modulated waveform in sector 2

Phase b Phase c

0.025

T0

T1 T

T2

T7 T

The interval for each voltage vector, as shown in Figure 4, is determined by equating volt-second integral of vs with the sum of all voltage vectors within a cycle. Thus, for example in sector 1, v s ⋅ T = v o ⋅ To + v1 ⋅ T1 + v 2 ⋅ T2 + v 7 ⋅ T7 Note that v1 and v2 equal

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

2 2 v s ⋅ T = To ⋅ 0 + Vd ⋅ T1 + Vd ⋅ T2 (cos 60 o + j sin 60 o ) + T7 ⋅ 0 3 3 Also, we need to satisfy the time constraint: T= T0 + T1 + T2 + T7 If we let T0 = T7, we can calculate all the required time intervals. If the angle between the reference voltage and the adjacent vector (to the right of the reference voltage) equals α, it can be shown that for any sector, the time intervals T1 and T2 are given by: 3 1 T1 = T ⋅ vs ⋅ cos α − sin α 2 3

T2 = 3 ⋅ T ⋅ vs sin α In the above equation, vs is the normalized reference vector. The interval for the zero voltage vector is given by: T0 + T7 = T – (T1 +T2). The ratio between T0 and T7 essentially control the amount of triplen harmonic components in the fundamental phase voltage.

Further readings: PG Handley and JT Boys, “Practical real-time PWM modulators: an assessment” IEE Proceedings-B, Vol 139, No. 2 March 1992 W. Leonhard, “Control of electrical drives”, Springer-Verlag, 1984.

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

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

(1 )

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

(2 )

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

Ra +

+

vt

ea





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

di a + ea dt

(3 )

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

(4 )

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

T R a + k t Φω k tΦ

(5 )

ω=

Vt T − Ra k t Φ (k t Φ )2

(6 )

wh ich gives :

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

(

)

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

(7 )

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

(8 )

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

(9 )

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

dω m dt

(1 0 )

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

DC com p on en t s

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

Vt = I a R a + E a

~ ~ Te = k E ( ia )

Te = k E I a

~e = k (ω ~) e E

Ee = k Eω

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

Te = TL + B( ω)

Th e t r a n s fer fu n ct ion of t h e DC m ot or is ob t a in ed b y t a k in g t h e La p la ce t r a n s for m of t h e s m a ll s ign a l equ a t ion s . Vt (s ) = Ia (s )R a + La s Ia + E a (s )

(1 2 )

Te (s ) = k E Ia (s )

(1 3 )

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

(1 4 )

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

(1 5 )

3

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

Tl (s )

Va (s ) +

-

Ra

1 + sLa

I a (s )

kT

-

Te (s ) +

1 B + sJ

ω(s )

kE

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

Con ver t er A 3-phase supply

Con ver t er B

ω

+

3-phase supply

Va

Converter B

Converter A

Converter B

Converter A

-

4

T

ω

R1

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

+

R2

≡ Con ta ctor

-

F2

R1 and R2 are closed

F1 and F2 are closed

R1 and R2 are closed

F1 and F2 are closed

T

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

ω

+ va

ω

Q2

Q1

Q3

Q4

Q2 Q3

+ va

T





Single-quadrant

Two-quadrant

ω

+

va



Q2

Q1

Q3

Q4

Four-quadrant

Reference: N. Mohan, “Electric Drives: An integrative approach”, University of Minnesota Printing services, 2000. N. Mohan, “Power Electronics: Converters, applications and design” John Wiley and Sons, 1995. 5

T

Q1 Q4

T

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

Contents • Introduction – Trends in DC drives – DC motors • Modeling of Converters and DC motor – Phase-controlled Rectifier – DC-DC converter (Switch-mode) – Modeling of DC motor • Closed-loop speed control – Cascade Control Structure – Closed-loop speed control - an example • Torque loop • Speed loop • Summary

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

Introduction

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

• Expensive

• Heavy

• Speed limitations

• Sparking

Introduction

DC Motors Stator: field windings

Rotor: armature windings

•Mechanical commutator

Current in

•Large machine employs compensation windings

Current out

Introduction Ra +

Lf

La ia

+

Rf if

+

Vt

ea

Vf

_

_

_

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

v f = R f if + L

Te = k t φi a

Electric torque

e a = k E φω

Armature back e.m.f.

di f dt

Introduction Armature circuit:

Vt = R a i a + L

di a + ea dt

In steady state,

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

ω=

Vt R T − a e2 k T φ (k T φ)

Three possible methods of speed control: Field flux Armature voltage Vt Armature resistance Ra

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

Te

Maximum Torque capability

ωbase

ω

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

Modeling of Converters and DC motor

Phase-controlled rectifier (AC–DC) ia

ω

+ 3-phase supply

Vt

Q2

Q1



Q3

Q4

T

Modeling of Converters and DC motor

Phase-controlled rectifier 3phase supply

+ 3-phase supply

Vt −

ω Q2

Q1

Q3

Q4

T

Modeling of Converters and DC motor

Phase-controlled rectifier R1

F1 3-phase supply +

Va

F2

R2

ω Q2

Q1

Q3

Q4

-

T

Modeling of Converters and DC motor

Phase-controlled rectifier (continuous current) • Firing circuit –firing angle control → Establish relation between vc and Vt + iref

+ -

current controller

vc

firing circuit

α

controlled rectifier Vt –

Modeling of Converters and DC motor

Phase-controlled rectifier (continuous current) • Firing angle control

linear firing angle control

vt v = c α 180 Va =

α=

vc 180 vt

v  Vm cos c 180  π  vt 

Cosine-wave crossing control

v c = v s cos α Va =

Vm v c π vs

Modeling of Converters and DC motor

Phase-controlled rectifier (continuous current) •Steady state: linear gain amplifier •Cosine wave–crossing method •Transient: sampler with zero order hold converter T GH(s)

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

Modeling of Converters and DC motor

Phase-controlled rectifier (continuous current) 400 200 0

Output voltage

-200 -400 0.3

0.31

0.32

10

0.33

Td

0.34

0.35

0.36

5

Control signal

Cosine-wave crossing

0 -5 -10 0.3

0.31

0.32

0.33

0.34

0.35

0.36

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

Modeling of Converters and DC motor

Phase-controlled rectifier (continuous current) • Model simplified to linear gain if bandwidth (e.g. current loop) much lower than sampling frequency ⇒ Low bandwidth – limited applications • Low frequency voltage ripple → high current ripple → undesirable

Modeling of Converters and DC motor

Switch–mode converters ω

T1

+ Vt -

Q2

Q1

Q3

Q4

T

Modeling of Converters and DC motor

Switch–mode converters ω T1

T2

D1

+ Vt D2 -

Q2

Q1

Q3

Q4

Q1 → T1 and D2 Q2 → D1 and T2

T

Modeling of Converters and DC motor

Switch–mode converters ω T1

T4

D1

D3

+ Vt -

D4

D2

T3

T2

Q2

Q1

Q3

Q4

T

Modeling of Converters and DC motor

Switch–mode converters • Switching at high frequency → Reduces current ripple → Increases control bandwidth • Suitable for high performance applications

Modeling of Converters and DC motor

Switch–mode converters - modeling +

Vdc

Vdc •

vtri

vc

q 1 q= 0

when vc > 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

ke = 0.1 V/(rad/s)

kt = 0.1 Nm/A

Vd = 60 V

Vtri = 5 V

fs = 33 kHz • PI controllers

• Switching signals from comparison of vc and triangular waveform

CLOSED-LOOP SPEED CONTROL

Torque controller design

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

Frequency (rad/s ec )

10

3

10

4

10

5

CLOSED-LOOP SPEED CONTROL

Speed controller design Assume torque loop unity gain for speed bandwidth << Torque bandwidth

ω* + –

T* Speed controller

Torque loop

1

T

1 B + sJ

ω

CLOSED-LOOP SPEED CONTROL

Speed controller Open-loop gain

Bode Diagra m From: Input Point To: Output Point

150

Ma gnitude (dB)

100

kps= 0.2

50

compensated

0

-50 0

Phas e (deg)

-45 -90

compensated

-135 -180 10

-2

10

-1

10

0

10

1

Frequenc y (Hz )

10

2

10

3

10

4

kis= 0.14

CLOSED-LOOP SPEED CONTROL

Large Signal Simulation results 40 20

Speed

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

Torque

0 -1 -2

CLOSED-LOOP SPEED CONTROL – DESIGN EXAMPLE

SUMMARY Speed control by: armature voltage (0 →ωb) and field flux (ωb↑) Power electronics converters – to obtain variable armature voltage Phase controlled rectifier – small bandwidth – large ripple Switch-mode DC-DC converter – large bandwidth – small ripple Controller design based on linear small signal model Power converters - averaged model DC motor – separately excited or permanent magnet Closed-loop speed control design based on Bode plots Verify with large signal simulation

! "#$ (

%! &'(

(

) * / ( , $

0 %! &'

* /

,

+*,-( %

(

.

/ (,

1 2,

1 23(

PID Step

PID

0.2

Input PointPID Controller

PID Controller1

60

1/Vt

Vd

Va

speed T

Tl

Step1

Output Point

Ia

Subsystem

Bode Diagram From: Input Point To: Output Point

20

Magnitude (dB)

10 0 -10 -20 -30 -40 90

Phase (deg)

45 0 -45 -90

-3

-2

10

10

-1

0

10

1

10

10

2

3

10

10

Frequency (Hz)

Pole-Zero Map

1 0.8 0.6

Imaginary Axis

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

-300

-250

-200

-150

-100

-50

0

Real Axis

/ (, 4 1

( .

0

"

0

$

%! &' .

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

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

58

# 1

#.

Bode Diagram From: Input Point To: Output Point

20

Magnitude (dB)

10 0 -10 -20 -30 -40 90

Phase (deg)

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

-2

-1

10

0

10

1

10

2

10

3

10

4

10

10

Frequency (Hz)

/ (- 4 /

1 2 -33

/ (-

7 0

-33

1 2,

1

( 1( /

# / ( 5(

(

1 :30 5(516.

7

0. " (

Bode Diagram From: Input Point To: Output Point

100

Magnitude (dB)

80 60 40 20 0 -20 90

Phase (deg)

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

-2

10

10

-1

0

10

10

1

2

10

10

3

4

10

Frequency (Hz)

/ (5

7

1

:3

7

(

7 0( (

533 6.( "

0

7

0

( % <(

$

1

1

/ (9

" 7

PID

PID

speed controller

current controller

0.2

60

1/Vt

Vd

Va

speed T

Tl

1

In1 Out1

Ia

Subsystem

Step1

PID

0 " (/ (9

( / 0

7 (

speed_controller

;

1/(sJ +B)1

In1 Out1

torque-loop 1/(sJ +B)

Bode Diagram From: Input Point To: Output Point

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

100 50

7

0 -50 -100 0 -45

) g e d( e s a h P

-90 -135 -180

-3

10

10

-2

-1

0

10

10

1

10

10

2

3

10

10

4

10

5

Frequency (Hz)

/ (9 $

(

7

;

; 3(8

#(

.

=

"

7 7 / (>(

.

0 7

(

-33 6.(

0 "

Bode Diagram From: Input Point To: Output Point

150

Magnitude (dB)

100

50

0

Phase (deg)

-50 0

-45

-90

-135

-2

-1

10

0

10

10

10

1

10

2

3

4

10

10

Frequency (Hz)

/ (> .

7

1 :3 3(-

? ?

$

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

(

?

$

%! &'

1

( %

7 ,(> & (

> 6. 7

/ (@

7 (

vtri To Workspace2 torque PID Signal Generator

PID Controller1

PID Saturation1

T o Workspace1

PID Controller

Rel ay

speed

speed Va T Tl

Out1

T o Workspace

Ia

Subsystem

Subsystem1 Step1

-1 Gain

Relay1 vc T o Workspace3

vc_m T o Workspace4

40 20 0 -20 -40

0

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

Frequency (rad/s ec)

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"

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

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

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

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

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

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

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

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

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

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

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

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

Amplitude Frequency

"-30" "5"

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

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

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

"Kt"

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

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

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

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

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

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

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

"Sum" 1 "Transfer Fcn" 1

"Gain" 1 "Sum1" 2

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

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

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

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

[0, -55] "Ia" 1

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

"Transfer Fcn1" 1

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

[0, 105] "Gain2" 1

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

"Va" 1 "Sum" 1

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

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

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

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

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

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

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

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

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

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

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

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

ToWorkspace

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

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

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

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

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

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

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

"Sum2" 1

[0, 200] "To Workspace3" 1

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

"Sum2" 1 "Relay" 1

"Subsystem1" 1 [45, 0]

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

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

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

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

"Sum2" 2

[0, -140] "To Workspace2" 1

"Signal\nGenerator" 1 "Sum" 1

"Sum" 1 "PID Controller1" 1

"PID Controller1" 1 "Saturation1" 1

"Sum1" 1 "PID Controller" 1

"Saturation1" 1 "Sum1" 1

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

"To Workspace" 1

"Gain" 1 [5, 0]

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

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

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

"Sum3" 2

[0, 140] "To Workspace4" 1

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

"Sum3" 1 "Relay1" 1

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

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

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

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

} }

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

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

c’ x

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

rad/ s

(1 )

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

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

(2 )

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

s =

ωs − ωr ωs

(3 )

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

(4 )

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

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

T TL

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

ω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

4.19 rad/s

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

1460 rpm ⇒

152.9 rad/s

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

Zsyn,r ω(rad/s) Zslip = Zsyn

Zr,r

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

At start-up,

ω s lip = ω s yn ∴

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

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

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

System equations Figure 1 shows the conceptual representation of a 3-phase, 2 poles induction machine. The magnetic axis of each winding is represented by an inductor symbol. As usual the angles between windings of each phase are 120o. The angle between 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

T load Sum

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"

} System { Name "constant_vhz" Location [2, 82, 790, 584] Open on ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" ReportName "simulink-default.rpt" Block { BlockType Constant Name "Constant" Position [35, 121, 75, 139] Value "50" } Block { BlockType SubSystem Name "Constant V/Hz" Ports [2, 3] Position [270, 88, 335, 172] TreatAsAtomicUnit off MaskPromptString "Vm at rated frequency" MaskStyleString "edit" MaskTunableValueString "on" MaskEnableString "on" MaskVisibilityString "on" MaskToolTipString "on" MaskVariables "Vm=@1;" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "240" System { Name "Constant V/Hz" Location [2, 70, 798, 552] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "88" Block { BlockType Inport Name "In1" Position [30, 93, 60, 107] } Block { BlockType Inport Name "boost" Position [20, 403, 50, 417] Port "2" } Block { http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (6 von 28) [17.05.2005 17:15:21]

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

BlockType Name Position Value

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

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

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

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

"Sum" 1 "out_1" 1

"Product" 1 "Sum" 1

"in_1" 1 "Product" 1

"in_2" 1 "Product" 2

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

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

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

"2"

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

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

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

"in_2" 1 "Product" 2

"in_1" 1 "Product" 1

"Product" 1 "Sum" 1

"Sum" 1 "out_1" 1

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

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

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

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

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

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

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

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

"in_2" 1 "Product" 2

"in_1" 1 "Product" 1

"Product" 1 "Sum" 1

"Sum" 1 "out_1" 1

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

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

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

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

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

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

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

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

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

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

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

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

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

Integrator

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

"Integrator" 1 "Elementary\nMath" 1

"Elementary\nMath" 1 "Dot Product2" 2

"Gain" 1 "Integrator" 1

"Elementary\nMath1" 1 "Dot Product1" 2

"Gain2" 1 "Integrator1" 1

"Elementary\nMath2" 1 "Dot Product3" 2

"Gain4" 1 "Integrator2" 1

"Sum" 1 "Elementary\nMath1" 1

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

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

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

"Integrator1" 1 "Sum" 1

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

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

"Sum1" 1 "Elementary\nMath2" 1

"Integrator2" 1 "Sum1" 2

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

[0, -60] "Gain1" 1

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

"Gain2" 1

[0, 160; 25, 0]

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

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

Branch { DstBlock DstPort } Branch { Points DstBlock DstPort }

"Gain4" 1

[0, -60] "Gain5" 1

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

"Dot Product2" 1 "Out1" 1

"Dot Product1" 1 "Out2" 1

"Dot Product3" 1 "Out3" 1

"Gain3" 1 "Sum2" 2

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

"Gain1" 1 "Sum3" 2

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

"Gain5" 1 "Sum4" 2

"Sum4" 1

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

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

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

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

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

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

[160, 0] "Sum2" 1

} } Block { BlockType Constant Name "Constant1" Position [60, 280, 90, 300] Value "50" } Block { BlockType Constant Name "Constant2" Position [60, 230, 90, 250] Value "0" } Block { BlockType Gain Name "Gain" Position [335, 35, 365, 65] Gain "(2*pi)/2" } Block { BlockType SubSystem Name "Induction Machine" Ports [3, 8] Position [470, 63, 525, 192] TreatAsAtomicUnit off MaskPromptString "Stator resistance (ohm)|Rotor resistance (ohm)|" "Stator self inductance (H)|Rotor self inductance (H)|Mutual Inductance (H)|No" " of poles|Moment of inertia (kg.m^2)|Load torque (Nm)|Load constant" MaskStyleString "edit,edit,edit,edit,edit,edit,edit,edit,edit" MaskTunableValueString "on,on,on,on,on,on,on,on,on" MaskCallbackString "||||||||" MaskEnableString "on,on,on,on,on,on,on,on,on" MaskVisibilityString "on,on,on,on,on,on,on,on,on" MaskToolTipString "on,on,on,on,on,on,on,on,on" MaskVarAliasString ",,,,,,,," MaskVariables "Rs=@1;Rr=@2;Ls=@3;Lr=@4;Lm=@5;pole=@6;J=@7;Tloa" "d=@8;load_C=@9;" MaskIconFrame on http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (16 von 28) [17.05.2005 17:15:21]

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

MaskIconOpaque MaskIconRotate MaskIconUnits MaskValueString

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Outport "q"

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

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

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

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

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

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

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

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

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

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

[0, 115] "Gain4" 1

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

[0, 105] "Gain3" 1

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

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

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

"Gain3" 1 "Ib" 1

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

"Ib" 1 "q" 1

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

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

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

[25, 33, 55, 47]

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

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

"In1" 1 "S-Function" 1

"S-Function" 1 "Out1" 1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

"load_C" 1

"Mux" 1 "IM1" 1

"IM1" 1 "Demux" 1

"Sum" 1 "Integrator" 1

"Integrator" 1 "1/J" 1

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

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

"Gain1" 1 [0, 0]

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

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

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

"speed" 1

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

"Constant" 1 "Sum" 3

"q" [482, 87] "top"

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

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

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

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

SelectedSignals

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

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

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

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

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

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

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

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

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

"Slider\nGain1" 1

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

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

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

"Rate Limiter" 1

"Constant" 1 "Slider\nGain1" 1

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

[0, 175] "Scope1" 2

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

[0, 195] "Scope1" 1

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

[0, 175] "Scope1" 3

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

[25, 0] [15, 0]

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

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

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

"Constant V/Hz" 1

[0, -80] "Gain" 1

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

"Constant2" 1 "Manual Switch" 1

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

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

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

"Gain" 1 "Mux" 1

} }

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

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

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

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

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

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

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

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

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

/* Function: mdlOutputs ======================================================= * Abstract: * * In this function, you compute the outputs of your S-function * block. The outputs are placed in the y variable. */ static void mdlOutputs(real_T *y, const real_T *x, const real_T *u, SimStruct *S, int_T tid) { double lm; double pl; lm = mxGetPr(Lm)[0]; pl = mxGetPr(pole)[0]; y[0]=x[0]; y[1]=x[1]; y[2]=x[2]; y[3]=x[3]; y[4]=1.5*(pl/2)*lm*((x[0]*x[3])-(x[1]*x[2])); } static void mdlUpdate(real_T *x, const real_T *u, SimStruct *S, int_T tid) { } /* Function: mdlDerivatives =================================================== * Abstract: * * In this function, you compute the S-function block's derivatives. * The derivatives are placed in the dx variable. */ static void mdlDerivatives(real_T *dx, const real_T *x, const real_T *u,

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

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

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

= = = = =

u0=vq

u1=vd

u2=w

*/

mxGetPr(Lm)[0]; mxGetPr(Lr)[0]; mxGetPr(Ls)[0]; mxGetPr(Rr)[0]; mxGetPr(Rs)[0];

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

/* Function: mdlTerminate ===================================================== * Abstract: * * In this function, you should perform any actions that are necessary * at the termination of a simulation. For example, if memory was allocated * in mdlInitializeConditions, this is the place to free it. */ static void mdlTerminate(SimStruct *S) { /* * YOUR CODE GOES HERE */ } /*======================================================* * See sfuntmpl.doc for the optional S-function methods * *======================================================*/ /*=============================* * Required S-function trailer * *=============================*/ #ifdef MATLAB_MEX_FILE #include "simulink.c" #else #include "cg_sfun.h" #endif

/* Is this file being compiled as a MEX-file? */ /* MEX-file interface mechanism */ /* Code generation registration function */

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

!

" #

# !

$

= %'!

% !

(

+

+

=

+(

)

%

π

&

%&

$ %

%&

=)

[ ]= )

% !

(

+

+

%

)

=

=

[ ]=

% !

(

+

+

%

)

=

% !



& !

(

& % −



& %

!

)

*

$

=

% !

(

+

+ %

)

+

$

=



, ω

$

% !

= /

(

+ %

+

)

.

$ (θ

=

0 1

&

#

#

ω

θ θ

α

1

&

irs = ir cos(θr + α ) + jir sin(θr + α ) irs = irejθ ejα r





=

2

34

$

isr = is cos(θr − α ) + jis sin(θr − α ) (θ

= ∴ (α

− (α

=

− (α

&5

− (α

&&

4

! $

=)

+

ψ

+ (ω ψ

&%

5=)

=

% !

(

+

+

%

+

ψ

+ (ω −ω ψ

&!

ψ

=3

+3

&*

ψ

=3

+3

&+

) ψ

-

ψ

67 ω 85

$

=) 5=)

&,

"!

ψ

+ +

ψ

&,

− (ω ψ

&.

ψ

=3

+3

&0

ψ

=3

+3

&2

&2

!

" #

$

9

=

! ψ × %%

=

! ψ × %%

=

! 3 %%

%5

4 $

:

=

(

! 3 %%

+3



%&

$



%% $

#

%!

=

! 3 ψ × %% 3

=

! 3 %% 3

%!

%*

ψ

−ψ

%*

;

%* # 1"<

%* # 1

%

=

ψ = ψψ ψψ = 5 %*

$

=

! 3 ψ %% 3

ψ

%+

ψ

ψ

ψ

ψ

1

ψ

%

%+ ><

%+

84

%+

>< -

1"< ψ

%+

1 4

1"<

$ 1"<

1

&!

5=) -

&+

+

ψ

+ (ω −ω ψ

5=

) 3 ) ψ − 3 3

ψ = ψψ

5=

+ (ω −ω ψ

ψψ = 5

) 3 ) ψ − 3 3

-

ψ

+

(

ψ

%,

%,

+(

ψ

)+

ψ

+ (ω

$

ψ

%.

$

5=

) 3 ) ψ − 3 3

5=−

3 ) 3

ψ

ψ

+ ω

+

ψ

%0

ψ

%2

1

1

1"< /

>

1"< 1"<

4

? %, @

! 1"<

1

*

# ? E B

?

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

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

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

Name Position

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

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

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

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

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

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

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

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

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

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

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

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

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

"Ib1" 1 "d" 1

"Gain7"

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

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

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

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

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

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

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

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

[0, 115] "Gain4" 1

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

[0, 105] "Gain3" 1

"Gain3" 1 "Ib" 1

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

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

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

DstPort } Line { SrcBlock SrcPort DstBlock DstPort }

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 "%<SignalLabel>" "%<SignalLabel>"

SelectedSignals

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

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

axes1 axes2 } TimeRange YMin YMax DataFormat

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[0, -25] "Fd" 1

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

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

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

[0, 5] "Fq" 1

"ird" 1

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

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

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

"Gain" 1

"isd" 1 "Gain1" 1

"Cartesian to\nPolar" 1 "Fm" 1

"Cartesian to\nPolar" 2 "F_the" 1

"irq" 1 "Gain2" 1

"isq" 1 "Gain3" 1

} } Block { BlockType SubSystem Name "Subsystem1" Ports [2, 3] Position [95, 50, 135, 110] TreatAsAtomicUnit off MaskPromptString "Lm|Lr|Rr|p" MaskStyleString "edit,edit,edit,edit" MaskTunableValueString "on,on,on,on" MaskCallbackString "|||" MaskEnableString "on,on,on,on" MaskVisibilityString "on,on,on,on" MaskToolTipString "on,on,on,on" MaskVarAliasString ",,," MaskVariables "Lm=@1;Lr=@2;Rr=@3;p=@4;" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "291.9e-3|306.5e-3|4.51|4" System { Name "Subsystem1" Location [2, 74, 1014, 724] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" http://encon.fke.utm.my/courses/mep1422/foc.mdl (19 von 36) [17.05.2005 17:15:41]

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

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

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

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

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

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

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

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

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

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

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

Gain

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

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

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

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

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

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

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

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

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

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

[0, 70] "Gain2" 1

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

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

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

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

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

[0, -50] "Dot Product" 2

"Gain1" 1

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

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

"isq" 1

"Gain1" 1 "Dot Product1" 1

"T" 1 "Gain" 1

"Dot Product1" 1 "slip" 1

"Gain2" 1 "Derivative" 1

"Derivative" 1 "Sum2" 1

"Dot Product2" 1 "isd"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[0, 115] "Gain4" 1

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

[0, 105] "Gain3" 1

"Gain3" 1 "Ib" 1

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

"Ib" 1 "q" 1

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

Gain

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

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

Name Position Orientation Gain

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

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

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

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

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

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

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

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

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

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

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

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

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

Outport

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[-15, 0; 0, 115] "Gain1" 1

"Mux" 1 "IM1" 1

"IM1" 1 "Demux" 1

"Sum" 1 "Integrator" 1

"Integrator" 1 "1/J" 1

"1/J1" 1 [190, 0; 0, -45] "Sum" 2

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

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

} Line { SrcBlock SrcPort Points DstBlock DstPort } Line { SrcBlock SrcPort Points DstBlock DstPort } Line { SrcBlock SrcPort Points Branch { DstBlock DstPort } Branch { Points DstBlock DstPort } } Annotation { Name Position VerticalAlignment } } } Block { BlockType Name Ports Position Orientation FunctionName } Block { BlockType Name Ports Position Location Open NumInputPorts ZoomMode List { ListType axes1 axes2 axes3 } List { ListType axes1 axes2 axes3 }

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

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

"Gain1" 1 [0, 0; -10, 0] "speed" 1

[0, -60] "1/J1" 1

"q" [482, 87] "top"

"S-Function" "S-Function2" [1, 1] [220, 355, 270, 375] "left" "flxp2"

Scope "Scope" [3] [560, 214, 590, 246] [249, 259, 660, 649] on "3" "yonly" AxesTitles "%<SignalLabel>" "%<SignalLabel>" "%<SignalLabel>"

SelectedSignals "" "" ""

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

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

TimeRange YMin YMax DataFormat } Block { BlockType Name Ports Position Location Open NumInputPorts ZoomMode List { ListType axes1 } List { ListType axes1 } TimeRange YMin YMax SaveName DataFormat } Block { BlockType Name Ports Position Location Open NumInputPorts ZoomMode List { ListType axes1 } List { ListType axes1 } TimeRange YMin YMax SaveName DataFormat } Block { BlockType Name Position Orientation WaveForm Amplitude Frequency } Block { BlockType Name Position Orientation

"0.1" "-0.1~-20~-15" "2~20~15" "StructureWithTime"

Scope "Scope1" [1] [560, 144, 590, 176] [667, 408, 991, 647] on "1" "yonly" AxesTitles "%<SignalLabel>"

SelectedSignals "" "0.01" "-0.1" "2" "ScopeData1" "StructureWithTime"

Scope "Scope2" [1] [325, 184, 355, 216] [667, 110, 991, 349] on "1" "yonly" AxesTitles "%<SignalLabel>"

SelectedSignals "" "0.01" "-20" "20" "ScopeData2" "StructureWithTime"

SignalGenerator "Signal\nGenerator" [640, 320, 670, 350] "left" "square" "-15" "15"

Step "Step" [545, 380, 575, 410] "left"

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

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

Time After

"0.001" "1.2"

} Block { BlockType SubSystem Name "Subsystem" Ports [3, 3] Position [110, 286, 160, 384] Orientation "left" TreatAsAtomicUnit off System { Name "Subsystem" Location [230, 305, 670, 522] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block { BlockType Inport Name "T,err" Position [25, 35, 45, 55] } Block { BlockType Inport Name "Flx,err" Position [25, 105, 45, 125] Port "2" } Block { BlockType Inport Name "Flx ang" Position [25, 160, 45, 180] Port "3" } Block { BlockType Demux Name "Demux" Ports [1, 3] Position [280, 99, 320, 131] Outputs "3" } Block { BlockType Mux Name "Mux" Ports [3, 1] Position [100, 99, 130, 131] Inputs "3" } Block { BlockType "S-Function" Name "S-Function1" Ports [1, 1] Position [180, 105, 230, 125] FunctionName "select2" } Block { BlockType Outport Name "Sa" Position [375, 25, 395, 45] InitialOutput "0" http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (16 von 29) [17.05.2005 17:16:37]

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

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

Outport "Sb" [395, 105, 415, 125] "2" "0"

Outport "Sc" [350, 170, 370, 190] "3" "0"

"Flx ang" 1 "Mux" 3

"Demux" 3 [0, 55] "Sc" 1

"Flx,err" 1 "Mux" 2

"Demux" 2 "Sb" 1

"T,err" 1 "Mux" 1

"Demux" 1 [0, -70] "Sa" 1

"Mux" 1 "S-Function1" 1

"S-Function1" 1 "Demux" 1

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

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

} } Block { BlockType Sum Name "Sum2" Ports [2, 1] Position [510, 307, 530, 343] Orientation "left" Inputs "-+" } Block { BlockType Sum Name "Sum4" Ports [2, 1] Position [435, 380, 455, 400] Orientation "left" Inputs "+-" } Block { BlockType SubSystem Name "Voltage-controlled\nPWM-VSI1" Ports [3, 3] Position [70, 96, 100, 164] ShowPortLabels off TreatAsAtomicUnit off System { Name "Voltage-controlled\nPWM-VSI1" Location [-23, 85, 764, 579] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block { BlockType Inport Name "in_5" Position [370, 60, 390, 80] Orientation "left" } Block { BlockType Inport Name "in_6" Position [390, 155, 410, 175] Orientation "left" Port "2" } Block { BlockType Inport Name "in_7" Position [395, 225, 415, 245] Orientation "left" Port "3" } Block { BlockType Gain Name "Gain1" Position [290, 152, 315, 178] Orientation "left" Gain "240" } Block { http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (18 von 29) [17.05.2005 17:16:37]

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

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

Gain "Gain2" [295, 222, 320, 248] "left" "240"

Gain "Gain3" [285, 57, 310, 83] "left" "240"

Outport "out_1" [160, 60, 180, 80] "left" "0"

Outport "out_2" [165, 155, 185, 175] "left" "2" "0"

Outport "out_3" [175, 225, 195, 245] "left" "3" "0"

"in_5" 1 "Gain3" 1

"in_6" 1 "Gain1" 1

"in_7" 1 "Gain2" 1

"Gain3" 1 "out_1" 1

"Gain1" 1 "out_2" 1

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

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

} Line { SrcBlock SrcPort DstBlock DstPort }

"Gain2" 1 "out_3" 1

} } Block { BlockType Relay Name "flux\nhysterisis" Position [335, 378, 365, 402] Orientation "left" OnSwitchValue "0.01" OffSwitchValue "-0.01" } Block { BlockType SubSystem Name "stator flux - voltage model" Ports [4, 4] Position [345, 15, 415, 145] TreatAsAtomicUnit off MaskPromptString "Stator resistance" MaskStyleString "edit" MaskTunableValueString "on" MaskEnableString "on" MaskVisibilityString "on" MaskToolTipString "on" MaskVariables "Rs=@1;" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "5.5" System { Name "stator flux - voltage model" Location [160, 288, 765, 529] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block { BlockType Inport Name "vd" Position [50, 33, 80, 47] } Block { BlockType Inport Name "id" Position [40, 98, 70, 112] Port "2" } Block { BlockType Inport Name "vq" Position [60, 143, 90, 157] Port "3" } Block { http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (20 von 29) [17.05.2005 17:16:37]

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

BlockType Name Position Port

Inport "iq" [25, 193, 55, 207] "4"

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

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

Block { BlockType Name Position InitialOutput } Block { BlockType Name Position Port InitialOutput } Line { SrcBlock SrcPort DstBlock DstPort } Line { SrcBlock SrcPort DstBlock DstPort } Line { SrcBlock SrcPort DstBlock DstPort } Line { SrcBlock SrcPort DstBlock DstPort } Line { SrcBlock SrcPort Points Branch { Points DstBlock DstPort } Branch { Points DstBlock DstPort } } Annotation { Name Position VerticalAlignment } } } Block { BlockType Name Position Gain }

Outport "r" [295, 75, 315, 95] "0"

Outport "theta" [295, 130, 315, 150] "2" "0"

"x->theta" 1 "theta" 1

"y" 1 "Mux" 2

"x" 1 "Mux" 1

"x->r" 1 "r" 1

"Mux" 1 [15, 0] [0, 25] "x->theta" 1

[0, -30] "x->r" 1

"Cartesian to Polar" [167, 37] "top"

Gain "Gain2" [170, 167, 195, 193] "Rs"

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

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

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

Gain "Gain3" [170, 112, 195, 138] "Rs"

Integrator "Integrator" [1, 1] [315, 85, 345, 115]

Integrator "Integrator1" [1, 1] [310, 165, 340, 195]

Sum "Sum6" [2, 1] [240, 90, 260, 110] "+-"

Sum "Sum7" [2, 1] [240, 145, 260, 165] "+-"

Outport "flxsdv" [500, 28, 530, 42]

Outport "flxsv" [550, 88, 580, 102] "2" "0"

Outport "angflxsv" [480, 123, 510, 137] "3" "0"

Outport "flxsqv" [435, 203, 465, 217] "4"

"Sum6" 1 "Integrator" 1

"Sum7"

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

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

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

1 "Integrator1" 1

"Gain3" 1 [25, 0] "Sum6" 2

"Gain2" 1 [0, -10] "Sum7" 2

"vd" 1 [60, 0; 0, 55] "Sum6" 1

"Integrator" 1 [0, 5; 25, 0] "Cartesian to Polar" 1

[0, -70] "flxsdv" 1

"Integrator1" 1 [50, 0] [0, -50] "Cartesian to Polar" 2

[0, 30] "flxsqv" 1

"Cartesian to Polar" 1 [75, 0] "flxsv" 1

"id" 1 [0, 20]

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

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

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

"Gain3" 1

"Cartesian to Polar" 2 "angflxsv" 1

"vq" 1 "Sum7" 1

"iq" 1 [0, -20] "Gain2" 1

} } Block { BlockType SubSystem Name "torquehys" Ports [1, 1] Position [365, 300, 395, 350] Orientation "left" ShowPortLabels off TreatAsAtomicUnit off MaskPromptString "Hyst band" MaskStyleString "edit" MaskTunableValueString "on" MaskEnableString "on" MaskVisibilityString "on" MaskToolTipString "on" MaskVariables "Th=@1;" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "2" System { Name "torquehys" Location [50, 122, 340, 345] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block { BlockType Inport Name "in_1" Position [275, 95, 295, 115] Orientation "left" } Block { BlockType Relay Name "Relay" http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (25 von 29) [17.05.2005 17:16:37]

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

Position Orientation OnSwitchValue OffSwitchValue } Block { BlockType Name Position Orientation OnSwitchValue OffSwitchValue OnOutputValue OffOutputValue } Block { BlockType Name Ports Position Orientation } Block { BlockType Name Position Orientation InitialOutput } Line { SrcBlock SrcPort DstBlock DstPort } Line { SrcBlock SrcPort Points DstBlock DstPort } Line { SrcBlock SrcPort Points DstBlock DstPort } Line { SrcBlock SrcPort Points Branch { Points DstBlock DstPort } Branch { Points DstBlock DstPort } }

[185, 58, 215, 82] "left" "Th/2" "0"

Relay "Relay1" [185, 123, 215, 147] "left" "0" "-Th/2" "0" "-1"

Sum "Sum3" [2, 1] [55, 105, 75, 125] "left"

Outport "out_1" [15, 105, 35, 125] "left" "0"

"Sum3" 1 "out_1" 1

"Relay1" 1 [-75, 0] "Sum3" 2

"Relay" 1 [-65, 0] "Sum3" 1

"in_1" 1 [-20, 0] [0, 30] "Relay1" 1

[-5, 0] "Relay" 1

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

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

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

"Induction Machine" 5 [30, 0; 0, -100] "stator flux - voltage model" 1

"Induction Machine" 1 [110, 0] "stator flux - voltage model" 2

"Induction Machine" 2 [70, 0; 0, 35] "stator flux - voltage model" 4

"Induction Machine" 7 [15, 0; 0, -70] "stator flux - voltage model" 3

"stator flux - voltage model" 3 [40, 0; 0, 270] "S-Function2" 1

"Induction Machine" 8 [20, 0; 0, 20] [0, 90; 140, 0] [165, 0] "Sum2" 1

[0, -60] "Scope" 2

"Scope2" 1

"stator flux - voltage model" 2 [65, 0; 0, 95] [0, 60]

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

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

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

[0, 165] "Sum4" 1

"Scope" 1

"Scope1" 1

"Voltage-controlled\nPWM-VSI1" 1 [20, 0; 0, -25] "Induction Machine" 1

"Voltage-controlled\nPWM-VSI1" 2 "Induction Machine" 2

"Voltage-controlled\nPWM-VSI1" 3 [20, 0; 0, 25] "Induction Machine" 3

"Subsystem" 1 [-80, 0; 0, -195] "Voltage-controlled\nPWM-VSI1" 1

"Subsystem" 2 [-70, 0; 0, -205] "Voltage-controlled\nPWM-VSI1" 2

"Subsystem" 3 [-60, 0; 0, -215] "Voltage-controlled\nPWM-VSI1" 3

"flux\nhysterisis" 1 [-40, 0; 0, -55] "Subsystem" 2

"Sum4" 1

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

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

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

"flux\nhysterisis" 1

"Step" 1 "Sum4" 2

"torquehys" 1 [-60, 0; 0, -20] "Subsystem" 1

"Sum2" 1 "torquehys" 1

"Signal\nGenerator" 1 "Sum2" 2

"S-Function2" 1 "Subsystem" 3

"Induction Machine" 4 [45, 0; 0, 120] "Scope" 3

} }

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

Related Documents

Drives
November 2019 20
Lectures
June 2020 11