You are on page 1of 32

1

Darmstadt University of Technology Department of Power Electronics and Control of Drives

Manual S3 Field oriented control

Version 2010

Ingo Mller

1. Generalities
For a long period, the technology of electric drives was dominated by DC motors, as their speed could be easily controlled by the armature voltage and the field current. In spite of their robustness, induction motors were used only in special cases, e.g. if the environment forbad using a dc motor because of its commutator, or if it was not necessary to control the speed, because processes were controlled by other actors like indexing gears, restrictors and bypasses. With the development of power semiconductors it became possible to change the speed of induction motors continuously and with low losses, because they could be supplied with voltages varying in amplitude and frequency. Due to the invention of the field oriented control it has been possible to control the torque and the flux of induction motors independently and in consequence to make the induction motors act like dc motors.

2. Symbols
UN IN PN N nN M Lh
O

L1 L2 R1 R2 A TA T1 T2 T1 TTP TR KS KR h max s syn m 2 mech m k 2 i1 i2 1 2 u1 Tel e2 x1A, B x1 J

rated voltage (rms-value, linked) rated current (rms-value) rated power, assumption: mechanical power rated frequency rated speed mutual inductance magnetizing inductance Blondels dispersion coefficient stator inductance rotor inductance stator resistance rotor resistance sampling rate sampling period time constant, which can be compensated, general time constant, which cannot be compensated, general dead time time constant of a low-pass filter, general time constant of a PI controller, general gain of a control system, general gain of the controller, general a parameter of the angular position controller mechanical angular position of the rotor maximum angular acceleration of the drive slip synchronous angular speed angular speed of the rotor angular speed of the slip angular position of the rotor, mechanical angular position of the rotor, converted to electrical value angular position of the rotor flux linkage slip angle vector of the rotor current (length ? amplitude vector of the rotor current (length ? amplitude vector of the state flux linkage vector of the rotor flux linkage vector of the stator voltage (length ? amplitude torque produced by the induction motor e.m.f. (due to the voltage inducted in the stator windings by the rotor flux) setpoint, general value of a complex number or vector, mirrored at the real axis, general inertia of the drive

3. The set-up
3.1 Overview An induction motor (so-called servo motor) is placed on the wagon of the set-up. In order to investigate its load response, it is equipped with a disc brake. An angular position sensor is mounted on the other end of the shaft. The motor is fed by an inverter with a d.c. voltage-link, which is placed in the lower area of the wagon. A computer is placed close to the inverter. It contains bus cards which receive the signals from the angular position sensor and from the current sensors, to generate exact time bases and to control the inverter. The BNC sockets on the operator panel can be used to display measured values with an oscilloscope.

Figure 1: Set-up 3.1.1 Induction motor The induction motor used for the set-up is a so-called servo motor. Its dispersion inductance is rather small and in consequence the motor can be controlled very quickly. The type plate contains the following data:

UN,eff IN,eff PN N nN

= = = = =

350V at star connection 4A 1,5kW assumption mechanical power 50Hz 2840min-1

The following parameters were approximately identified by some measurements:

M=Lh L1 = L'2 R1 R2

= = = =

200...300mH 9mH 3 3,4

mutual and magnetizing inductance dispersion inductance stator resistance rotor resistance

3.1.2 D.c. voltage-link inverter The inverter is connected to the 400V power line. The control features which are normally used in industry are disabled. Instead, the power semiconductors (IGBTs) are directly controlled by the computer via optical waveguides. 3.1.3 Computer The whole control algorithm and editing of the measurements is realized by the computer. That is why it is a discrete control or a sampling control. As the computer is not able to provide a reliable time pattern, a timer card is used for generating the time pattern. The timer card executes the following tasks: At the beginning of each sample period it generates an interrupt request for the computer in order to start the control algorithm. It sends trigger signals in order to sample the currents and the position at exactly defined instants. It reads the switching times for the next period from the computer, generates the signals and sends them to the inverter by optical waveguides. It contains a watchdog function which observes, whether the computer sends the voltage vectors at least once during a sampling period. A missing of the voltage vectors during one sampling period indicates that the computer has got stuck. In this case, the inverter has to be stopped immediately. The sampling rate in this experiment is f A = 10 kHz . This is equal to a sampling period of TA = 100s . The computer contains two additional cards for the reception of the measured currents and for the generation of 4 analog values, and a card for the reception of the angular position. The latter edits the signals received from the angular position sensor. It is described in detail in [1].

4. Field oriented control


4.1 Representation of the space vectors, reference frames

In the three-phase system, the state variables voltages, currents, fluxes are usually represented as space vectors. That are vectors in a two-dimensional reference frame. For the description of the states of an induction motor, usually the following three reference frames are used, see figure 2: (-) reference frame fixed to the stator. This is a reference frame which does not move. Its real axis is called -axis, the imaginary axis is called -axis. The quantities s which are represented in the - reference frame are marked by a s, like 1 .. (dq-) reference frame fixed to the rotor. The position of the dq-reference frame is identical to the mechanical position of the rotor, converted to the electrical one1 . The quantities which are represented in the dq- reference frame are marked by a m, like s 1 . . (AB-) reference frame fixed to the rotor flux linkage = field oriented. The position of this reference frame is identical to the position of the rotor flux linkage. In consequence, the rotor flux linkage has a component only in the A-axis (real axis), but it has no component in the B-axis (imaginary axis). The quantities which are k represented in the AB- reference frame are marked by a k, like 1 .

reference frame fixed to rotor flux A

2
d

reference frame fixed to rotor reference frame fixed to stator

Figure 2: Reference frames

The torque of an induction motor is usually controlled by a field oriented control, because of the good dynamic behaviour achievable by this method. The equations of the model are first set up in the different reference frames according to the parts of the motor they belong to. After that, they are all converted to the AB-reference frame. By this means, the model of the induction motor becomes much smaller. The space vector representation is converted between the reference frames, like shown in the following example of the rotor flux linkage vector, see figure 2: The space vector 2 is placed on the real axis of the AB- reference frame. Relative to this reference frame, its representation is written as k and it contains a real component only. 2

The electrical position (and the electrical angular m = N P mech N P NP is the number of pole pairs.

speed)

is

m = N P ,

or

Representing 2 relative to the -reference frame, it is obviously placed at an angle of k to the real axis. Hence, the conversion is:
s 2 = k e jk 2

(1)

The conversions of the other space vectors are performed in the same manner. As both the space vector and the angle are time variant, the product rule has to be used for derivating. The length of the space vector is equal to the amplitude of the corresponding quantity. E.g. the stator current is | i r1 |= 2 I1 in steady state. 4.2 Basic equations of the induction motor

An induction motor is on principle a three-phase transformator with its secondary windings being revolving and short-circuited. That is why the equations are rather similar. For simplification, equal numbers of stator and rotor windings are assumed. Due to this ' assumption, the rotor parameters become L'2 = L2 and R2 = R2 . In the progress, only R2 and L2 are written. At first, the stator is analysed. Therefore, the quantities are written relative to the reference frame. A current is flowing into the windings with the resistance R1 . s Additionally, the windings are placed in a magnetic field with the flux linkage 1 . Then the voltage is: u1s = R1 i1 s + Accordingly, the rotor voltage is: u2m = R2 i2m + as the rotor windings are short-circuited. d m 2 = R2 i2m dt (3) dm 2 =0 dt
s d 1 dt

(2)

Like in a transformator, the stator and the rotor are coupled by a mutual inductance M. The stator flux linkage, relative to the -reference frame, is:
s 1 = L1 i1 s + M i2s Accordingly, the rotor flux linkage, relative to the AB- reference frame, is:

(4)

m = M i1 m + L2 i2m (5) 2 As algebraic equations are invariant to coordinate transformations, (5) looks quite similar relative to the -reference frame:
s 2 = M i1 s + L2 i2s

(6)

By setting up equations (4) and (6) as a matrix,


s 1 L1 M i1 s s= s 2 M L2 i2 the currents can easily be calculated:

(7)

i1 s 1 s = 2 i2 L1 L2 M By introducing Blondels leakage factor

L2 M

s M 1 s L1 2

(8)

M 2 L1 L2 M 2 = L1 L2 L1 L2 The equations can be written as follows: = 1


1 i1 L1 s = M i2 L1 L2
s

(9)

M s L1 L2 1 s 1 2 L2

(10)

or 1 M s s 1 2 L1 L1 L2 M 1 s i2s = s + 2 L1 L2 1 L2 i1 s = (11) (12)

4.3 Derivation of the time constants of the induction motor

The purpose of the field oriented control is to control two components, i1 A parallel to the rotor flux linkage vector and i1B orthogonal to it, independently. Therefore, it makes sense to represent the space vectors relative to the AB-reference frame. In this representation, the rotor flux linkage vector consists of a real component only, which simplifies the equations. Setting up the voltage equations for the stator (2) and for the rotor (3) relative to the ABreference frame results in the following differential equations for the fluxes:
k d 1 k = u1k R1 i1 k jk 1 (13) dt d k 2 k = R2 i2k j2 2 (14) dt The equations (11) and (12), concerning the dependency between the currents and the fluxes, dont change due to their invariance to coordinate transformations:

1 M k k 1 2 L1 L1 L2 M 1 k k i2k = 1 + 2 L1 L2 L2

i1 k =

(15) (16)

In order to analyse the time behaviour of the induction motor, a differential equation is derived, which primarily contains only the stator voltage and the rotor flux linkage. Inserting (16) in (14) results in the following differential equation for k : 2
d k RM R 2 k k k = 2 1 2 2 j2 2 dt L1 L2 L2 Derivating (15) and inserting (13) and (17) results:

(17)

di1 k 1 M R2 M R2 k k k k = u1k R1 i1 k jk 1 L1 L2 1 L2 2 j2 2 dt L1 L1 L2

(18)

k Resolving (15) to 1 and inserting results in:

M ( k 2 ) k j k i1 k + 2 L1 L2 (19) R1 R2 M 2 k R2 M M m 1 k = u1k + i + 2 j k i1 k + k 2 2 1 2 L1 L1 L2 L1 L2 L1 L1 L2 The first two items describe the principle time behaviour if the voltage is fixed. Obviously, di1 k u1k = dt L1 R1 R2 M 2 k R2 M 3 R2 M k + i 2 2 3 2 2 1 2 L1 L1 L2 L1 L2 L1 L2

the stator current changes with the short time constant

1 R1 R2 M 2 + L1 L1 L2 2

. The knowledge of this

time constant is necessary for the design of the current controller. The remaining items describe additional coupling. The influence of this coupling is eliminated by decoupling methods, described in detail on page 18. By inserting (3) in (5) and by this way eliminating i2m , the following differential equation is obtained:
m L2 d 2 + m = M i1 m 2 R2 dt

(20)

Representing (20) in the AB-reference frame by 2m = 2k e j2


L2 d k L2 2 k + j2 k + 2 = M i1 k 2 R2 dt R2

)
(21)

is obtained. k contains only a real component 2 A (because the AB-reference frame has been placed 2 accordingly); the imaginary component 2 B is zero. Regarding the real component of (21):

L2 d 2 A + 2 A = M i1 A (22) R2 dt it is obvious, that the rotor flux linkage follows the component of the current in rotor flux L linkage direction by the large time constant 2 . This time constant has to be considered R2 only during the startup of the control by increasing the flux slowly. E.g. the rotor flux linkage should be increased from zero to the rated flux with constant speed within some

10

tenths of a second. During operation, this time constant is no longer important, because the amplitude of the rotor flux linkage is generally held constant. If the amplitude of the rotor flux linkage is constant, it is linked to the stator current accordingly to (22) by

2 A = M i1 A
Regarding the imaginary component of (21):

(23)

L2 d 2 B L2 + 2 2 A + 2 B = M i1B R2 dt R2 L2 = M i1B R2 2 2 A
as 2 B and

(24) (25)

d 2B = 0 , an equation for the calculation of the slip frequency is obtained: dt 2 = M R2 i1B L2 2 A (26)

(25) and (26) can be made clear as follows: The rotor sees a flux linkage 2 which rotates with slip frequency. A voltage 2 2 is induced in the rotor. At a slip equal to zero, no voltage is induced, because in this case, the rotor sees a constant flux linkage. The current i2 = 2 2 is transformed to the stator R2 L windings by 2 . M
4.4 Generation of the torque

The torque generated by an induction motor is calculated by (without derivation): 3 s N Im {1 i1 s } 2 P s Eliminating 1 by resolving (11) and inserting it, results in Tel = Tel = 3 M s N P Im L1 i1 s i1 s + 2i1 s 2 L2 (27)

(28)

The first item is zero, because i1 s i1 s is real only. Representing the equation relative to the AB-reference frame, it is reduced to Tel = 3 M N i 2 P L2 2 A 1B (29)

because the rotor flux linkage consists only of a real component, when it is represented relative to the AB-reference frame. Obviously, the torque depends on the component of the stator current orthogonal to the rotor flux linkage. The rotor flux linkage itself depends on

11

the component of the stator current, which has the same direction as the rotor flux linkage, see (22). In consequence, i1A is called the flux forming component and i1B is called the torque forming component of the current. This is shown in the following figure.
T2 = L2 / R 2 i 1A M
2A

Tload M L2 3NP 2 + Tel 1 J

i 1B

mech

Figure 3: Model, if the current is controlled Therefore, it is necessary to control the stator current and to know the position of the rotor flux linkage. The stator current of this set-up is controlled by an inner current controller. The torque resulting from the motor torque Tel and the load torque TLast accelerate the drive, which is assumed to have an inertia J.

4.5 Behaviour at stationary use

If the induction motor is fed by a three-phase system with constant amplitude and frequency and if the load is constant, too, this is called stationary use. In an induction motor with a number of pole pairs N P = 1 , the three phases of the stator windings are distributed around one whole circuit. One period of the three-phase system is equal to one mechanical revolution of the stator flux and hence to approximately one revolution of the rotor. If N P > 1 , the three phases of the stator windings are distributed around to
1 NP 1 NP

of the

revolution and repeat N P times. As a result, one period of the three-phase system is equal of one mechanical revolution only. A voltage has to be induced in the rotor windings in order to be able to produce a torque. This is only possible if the rotor rotates at a lower (or higher) speed than the stator flux linkage. Therefore, the slip s is introduced:
s = 1 m = 2 syn syn

(30)

Here, syn denotes the electrical angular speed of the stator flux linkage and m denotes the electrical angular speed of the rotor. At rated usage, the value of the slip is some percent. The following equivalent circuit diagram can be used for stationary use:

12

I1

R1

L1

L2

U1

Lh
Ih
Figure 4: T circuit diagram

R2 s

First, no load (s=0) is assumed. No current is flowing through the rotor windings. As a result, the stator current is a pure magnetizing current I h . According to the equivalent circuit diagram, figure 4, its effective value is
U1 R12 + ( 2 f ) ( L + M )
2 2

Ih =

(31)

The magnetizing current is responsible for the generation of the flux. Hence, it is the flux forming component of the stator current.

4.6 Obtaining the angular position of the rotor flux linkage

The angular position of the rotor flux linkage can be obtained by calculating it from the stator current. This is done by the so-called current model of the induction motor. It is derived from (26).
mech

NP

m
* i 1B MR 2 L2 2

* 2A

Figure 5: Obtaining the position of the rotor flux by the current model As the rotor flux linkage cannot be measured with reasonnable efforts, this model is usually fed with the setpoint of the flux. Moreover, the setpoint of the current is used because it is assumed that the inner current controller controls the current fast enough. The angular position mech is measured by the angular position sensor. The quantities 2 (angular

13

frequency of the slip), 2 (slip angle) and k (angular position of the rotor flux linkage) are calculated in the model and can differ from the real quantities. This method is used at standstill and low speed. The calculated slip can be wrong due to the inaccurate knowledge of the inductances and of the rotor resistance R2 (the latter is even temperature dependent). Unfortunately, the error is integrated to the slip angle and is only limited by the feedback in the motor, resulting in a lack of performance. At high speed, the angular position of the rotor flux linkage can be obtained more accurately by the voltage model. Derivating (11) and inserting it into the voltage equation for the stator (2) results in an equation for the voltage e2 induced in the stator windings due to the rotation of the rotor flux linkage (electromagnetic force e.m.f.):

e2s =:

s d 2 L2 s R1 L2 s L1 L2 di1 s = u1 i1 dt M M M dt

(32)

The e.m.f. can be calculated from the measured quantities during operation with this equation. Afterwards, it can be separated into the components and rotated into the ABreference frame, see figure 6. The e.m.f. is just the variation of the rotor flux linkage relative to the -reference frame. In stationary operation, the rotor flux linkage rotates at synchronous angular speed k = syn , hence it is
s 2 = 2 A e jsyn t

(33)

and in consequence

e2s = jsyn 2 A e jsyn t e2s is 90 ahead of the rotor flux linkage.

(34)

In stationary operation, the e.m.f. contains only a B-component, but no A-component. If in consequence the e.m.f., calculated by the voltage model, contains an A-component, then the angular position of the rotor flux linkage has not been calculated correctly and has to be corrected.
An advantage of this method is, that the error does not sum up. First, the angular position of the rotor flux linkage is calculated by the current model as described above, see figure 5. Additionally, the A-component of the e.m.f. is obtained by the voltage model, see figure 6, and it is made zero by a PI controller. This is done by correcting the angular speed of the slip 2i (this is the angular speed of the slip calculated by the current model here it is marked by the index i) by the output of the controller.

14

mech

NP

m
* i 1B MR 2 L2 2i

* 2A
u1 u1 i i
1 1

K(mech) e2A contr. correction

e.m.fcalculation

e2 e2

e* = 0 2A

e AB 2B k

e2A

Figure 6: Calculation of the flux angle by the voltage model The parameters of the controller have been set to the following values: 1 1 20 s Gain: K korr = 400 2 sV 2 It has been obtained by experiments. In order to keep the angular position of the rotor flux stetic during acceleration of the motor, the correction is activated continuously, starting at = 20 , that is approximately 200
1 s 1 min

. As the gain of the system is proportional to the

speed, the gain of the controller has to be set proportional to the inverse of the speed, in order to keep the system stable. Time constant: Tkorr =

L2 R2

4.7 Realisation of the control

The field oriented control can control the rotor flux linkage and the torque independently.
The setpoints i1A of the flux-forming current and i1B of the torque-forming current are given. Each of these two components of the current is controlled by a PI controller. The controller output that is the voltage vector to be reached , which is represented relative to the AB-reference frame, is transformed into the -reference frame by a vector rotator. Then, the inverter impresses the voltage vector on the motor. Another vector rotator transforms the measured currents into the AB- reference frame. The resulting components are sent to the current controllers.

The angular position of the rotor flux linkage k , which is required by the vector rotators, is calculated from measured currents and the rotor position m by the model described in 4.6, see figure 6.

15

The field-oriented control is primarily only a current control. Usually, it is used together with a higher-level speed control or also a position control. The speed controller calculates a setpoint of the torque-forming current as a function of the speed. This setpoint is evaluated by the current controller.

4.7.1 Controller basics

The behaviour of a controlled drive depends substantially on the structure and the setting of the control loops. Usually, a cascade control is used, see figure 7. In this application, that means that the outermost control loop is the position control. It controls the angular position to a given setpoint. The output of the position controller is the setpoint for the angular speed. The inner speed controller controls the angular speed to that setpoint. Its output is the setpoint for the torque-forming current. The inner current control loop controls the torque-forming current to its reference value coming from the speed controller (and the flux- forming current to a constant value).
TLast

position- m* controller

setpointfilter

mfilt *

speedcontroller

i1*

currentcontroller

u 1*

inverter + motor i1

Tel

1 J

filter

Figure 7: Cascade control Cascade control provides high dynamics because it evaluates additional measured values in the inner control loops2 . It compensates interferences in the inner control loops, before they affect the higher-level control loops. In the following, some usual rules for designing control loops are presented. They serve as guide values only. The parameters of the control are, based on these values, optimized by tests. A more accurate derivation of the rules would go beyond the scope of this laboratory course. Interested students can read the derivation in [3] and [9]. The time constants which are relevant for the design of control are indicated subsequently.
PI controller

The transfer function of a PI controller can be represented e.g. as follows:

GR ( s ) = K R

1 + s TR 1 + s TR = VR s s TR

(35)

If the position control would not be realised as a cascade control, then the position controller evaluated the measured and the reference value of the position only and calculated the voltage vector. If it is realised as cascade control, it also evaluates the speed and the stator current.

16

Amplitude optimum

The controller setting according to the amplitude optimum is frequently used for systems with a PT2-behaviour, e.g. the control of the stator current. The transfer function of a PT2system is
GS ( s ) = KS 1 + sT1 )(1 + sT2 ) (

(36)

Here, T1 means the larger time constant and can be compensated. T2 means the smaller time constant and cannot be compensated. For such a system, a PI controller is normally used. If T2 is much smaller than T1 ( ( 4T2 < T1 ) ), then the controller is set according to the amplitude optimum. Otherwise, it is set according to the symmetrical optimum, see below. The setting rule for the amplitude optimum is:

TR = T1 K R =

1 2 T2 K S

(37)

The response function to setpoint changes3 of a system, which is controlled by a controller designed according to the amplitude optimum, can roughly be approximated by the alternative transfer function
Gw,ers ( s ) = 1 1 + 2 T2 s

(38)

It still contains the time constant T2 (which cannot be compensated) of the system. The equivalent transfer function is necessary for the design of the higher-level control loops.
Symmetrical optimum

The controller setting according to the symmetrical optimum is often applied to systems with a non-compensatable PT1-behaviour and an integral-action component, if the stationary offset has to be controlled to zero even at the presence of interferences. This is e.g. the case for speed control loops with an inner current controller. Assume a system with the transfer function

GS ( s ) =

KS 1 s 1 + s T2

(39)

Assume that its time constant T2 cannot be compensated.

It describes the time behaviour to a setpoint change

17

The setting rule for a PI controller according to the symmetrical optimum is:

TR = 4 T2 KR =
1

(40) (41)

K S TR TRT2

1 1 = 2 K S TRT2 8 K S T22

This setting provides a good response to interferences. However, the response to setpoint changes is more weakly damped than if the controller is set according to the amplitude optimum. In order to avoid an overshoot of the system at a step change of the setpoint, while ensuring a dynamic response to interferences, the setpoint has to be smoothed by a low-pass filter of first order. The transfer function of such a low-pass filter is: 1 (42) 1 + TTP s Usually, the time constant of the filter is set as a function of the time constant of the system:

GTP =

TTP = 4 T2

(43)

In drive control the speed setpoint is usually filtered. The time constant T2 to be considered is equal to the equivalent transfer function of the inner current control loop. The guide transfer function of a system, which is controlled by a controller designed according to the symmetrical optimum, can very roughly be approximated by the equivalent transfer function

Gw,ers ( s ) =

1 1 + 4T2 s

(44)

4.7.2 Behaviour of the systems and design of the controllers

The inner control loop is the stator current controller. The stator current controller compensates the time constant of the stator circuit. In consequence, the higher-level speed controller does not see anymore the time constant of the stator, but only the time constant of the current- controlled motor which is much smaller. A possibly higher-level position controller sees the equivalent time constant of the speed-controlled loop.
Inverter and sampling interval

One sampling period passes from the sampling of the measured values up to the beginning of the output of the calculated voltage vector to the inverter. The output vector from the controller is always averaged over one sampling period. In the following sampling period, the inverter approximates this vector by a series of up to three out of seven creatable voltage vectors. This causes an additional dead time between 0 and one sampling period.

18

The dead time Tt of the inverter and the control algorithm cannot directly be used for the controller design, but it can be approximated by a PT1-transfer function with the time constant

T2 =

3TA 2

(45)

This time constant is not compensatable by the control4 and limits the gain of the current controller.
Behaviour of the stator circuit as the stator current controller sees it

The differential equations of the stator circuit are coupled, see (19), i.e. the equation for the A-component also contains values of the B-component and vice versa: 5
L1 M R2 di1 A M 2 R2 = 1 A R1 + i1 A + K L1 i1B + 2 2 A 2 dt L2 L2 di1B M R M = 1B R1 + 22 2 i1B K L1 i1 A m 2 A dt L2 L2

(46)

L1

(47)

Because of that, the voltage vectors 1Ac and 1Bc , which are put out by the current controller, are not directly impressed into the motor, but an decoupling is done first by substracting from each component those terms which derive from the other component, see also (19):

1 A = 1 Ac L1K i1B

M R2 2A L2 2

(48)

1B = 1Bc + L1K i1A

M R2 m A 2 L2

(49)

By this method the two last terms in (46) and (47) are compensated and the transfer function of the stator circuit is reduced as follows:

i1 Ac ( s )

1A

1 1 2 L1 M R s R1 + 2 2 1 + M 2R 2 L2 R1 + L2 Ks 2
T1

(50)

i1Bc ( s ) 1 = Ks 1 + T1 s 1B

(51)

otherwise the controller would have to be acausal, thus clearvoyant. Maybe this is possible in magic, however not in control. 5 When derivating, please consider that 2k = 2 A + j 0 , because 2 B = 0 .

19

The equations (Fehler! Verweisquelle konnte nicht gefunden werden.) and (51) dont yet contain the dead time Tt due to the sampling and the actuator. The current control consists of two individual current controllers one for the component i1A and one for the component i1B . As the transfer function of the stator circuit is equal in both components, see (Fehler! Verweisquelle konnte nicht gefunden werden.) and (51), both current controllers are designed identically.
i1B* i1Bcontr. decoupling i1B

Tt

system

Figure 8: System stator circuit Mathematically, the decoupling can also be assigned to the system. Even a digital control offers different possibilities do decide, which parts are treated as the output of the controller and which gain is assigned to the actuator: The numerical value of the controller output is equal to the duty factor , i.e. the controller output is equal to the length of the voltage vector related to the biggest one possible. Thus, a gain is assigned to the inverter (actuator), by which is multiplied in the inverter in order to convert it to the voltage to be impressed. The numerical value of the controller output is equal to the voltage to be impressed to the motor. The gain of the actuator is equal to 1. The gain of the system is thus equal to that of the motor. In this practical course experiment, the second version is used. In this way, the reinforcement of the inverter is void for the design of the controller. The block diagram can thus be redrawn as follows:
T2= 3TA 2

approximation i1B* i1Bcontr. v1B,C Tt KS=

motor with decoupling 1 M2R2 R1 + L22 T 1= i1B

L1 M 2R R1 + 2 2 L2

Figure 9: System stator circuit, redrawn

20

This transfer function of the stator circuit inclusive dead time due to the sampling, see page 17, is seen by the current controller. The current controller is designed as a PI controller. It is set according to the amplitude optimum in order to compensate the time constant of the stator circuit.
Behaviour of the current-controlled motor as the speed controller sees it

The speed controller controls the system current-controlled motor. It thus sees a PT1transfer function with a following integrator.
current-controlled motor TLast i1B 3M N P Tel 2A 2L2 1 J

T2

T2

m*

mfilt *

speedcontroller

i1B*

setpointfilter filter

Figure 10: Block diagram speed control The time constant T2 of the PT1-transfer function is equal to the equivalent time constant of the current-controlled system. It must not be compensated by the controller, because it contains the non-compensatible time constant of the system (dead time of the inverter). The gain K S =
i1B

is, according to figure 10:

KS =

3 M NP 2 A 2 L2 J

(52)

The speed signal contains high-frequency interferences due to the limited accuracy of the incremental encoder and the sampling. If these are not filtered, the speed controller tries to compensate them and becomes very nervous. Therefore, the speed signal has to be filtered by a low-pass filter. The low-pass filter has a PT1-behaviour with a time constant T f which is not compensatible6 . T f has to be considered for the design of the speed controller. It is added to the equivalent time constant of the current-controlled system. In order to prevent a permanent offset due to the load torque, a PI controller has to be used. It is designed according to the symmetrical optimum.
Behaviour of the speed-controlled motor as the position controller sees it

From the point of view of the position controller, the speed-controlled system looks like a PT1-system (with the equivalent time constant from the speed-controller) and an additional integrator (speed position).

A compensation of the time constant of the filter would cancel the effect of the filtering.

21

positioncontroller

PT1

Figure 11: Block diagram position control

A P-controller is sufficient for the position control because there are no interferences which would lead to a permanent offset. Its gain K R is set according to the amplitude optimum.
Large-signal operation

The controller outputs stay within the allowed or physically possible limits (e.g. the maximum voltage which can be impressed by the inverter or the maximum allowable stator current), if the interferences and the changing of the setpoints are small. This case is called small-signal operation. The design rules described above are valid in that small-signal operation. E.g. on a large step change of the setpoint the controller output reaches its limit. This case is called large-signal operation. In drive control, the position controller and the integral-action components of the speedand the current controllers are affected by the limitation of the outputs. If an offset is present at the input of a PI controller during a longer period, because the actuator cannot follow the controller output, the integral-action component of the controller increases to very large values. If the offset disappears after some time, the controller cannot adjust its output immediately, because the integral-action component has to be reduced. The system will overshoot with high amplitude and for a rather long time. Therefore, a PI controller must contain a so-called anti-windup. This feature ensures a limitation of the integral-action component, if the controller output is at its limit. If a P controller = K R with a constant gain K R is used for position control, then the following problem exists: On the one hand, the gain has to be rather small in order to avoid oscillations of the system when the reference value changes. On the other hand, large changes of the position are followed very slowly if the gain is small. In order to solve this problem, the controller is modified according to the following considerations: The fastest method to change the position is to accelerate the drive by maximum torque up to the maximum speed and to decelerate it from a certain position, so that it comes to a stop exactly at the reference position. At large offsets the controller has to control the angular speed
= sig ( ) 2 max (53)

22

2 max
KR

(54)

in principle. There, max is the maximum possible angular acceleration7 . Regarding (54), it is stated that the controller gain K R tends to infinitive for small deviations . This leads to instability due to the the finite response time of the current and the angular speed. By modifying (54) to = 2 max h +
KR

(55)

the parameter h limits the maximum gain for small deviations.


4.7.3 Sampling of the measured values

Inverters with d.c. voltage link cannot impress continuous voltage vectors. They can switch between a few discrete voltage vectors only. The other, not directly impressable, voltage vectors are approximated from the discrete ones by modulation. Assuming e.g. a stationary operating point of the induction motor (speed and torque held constant), the shape of the currents is sinusoidal (fundamental wave) in the ideal case. If the motor is fed by an inverter, the current oscillates at operating frequency around this fundamental wave. If the instantaneous value of the current is sampled thoughtlessly at any fixed time within the sampling interval,8 the sampled value will rarely be on the fundamental wave, but mostly be above or below, depending on the actual pulse pattern. See also figure 12. You see the shape of i in the upper area and the shape of u in the lower area, each during 2 sampling periods. u is displayed in order to show when a zero voltage vector is impressed. If the zero voltage vector is present, then u is zero. If the current is not sampled in the centre point of the zero voltage vector in the figure at 90s and +160s , but at another time, e.g. at -210s and +40s, then the fundamental wave is nearly never sampled.

At the set-up the current controller limits the stator current to its rated value and thus the torque to its rated value. 8 Here, the sampling rate of the control is equal to the operating frequency of the inverter.

23

Figure 12: Modulation and shape of the current Sampling beyond the centre point of the zero voltage vector causes another problem. Directly after a switching between two voltage vectors, the current signal is disturbed by a transient response. Such a transient response is shown in figure 13. If the current is sampled during this time, then any point in the transient response signal may be sampled.

Figure 13: Transient response due to switching


fA ) are added to the 2 fundamental wave of the current signal. This causes the aliasing-effect. Those signal

In consequence signal components beyond the nyquist frequency (

24

fA due to the sampling. A dynamic control tries 2 to compensate these components. But as they dont exist in reality, the control becomes agitated.

components are mirrored into the area 0...

The following methods are possible against the effects described above: Analog anti-aliasing filter, placed before the sampling in order to filter the components above the nyquist frequency. This filter must be of high order and causes a time delay (phase shift). In order to avoid instability, the controller has to be designed slow, resulting in a loss of dynamics. For drive control, usually no antialiasing filter is used. Sampling at instants when the analog signal is exactly on the fundamental wave. Thus the components above the nyquist frequency are not sampled and it can be done without an anti-aliasing filter (which causes a phase-shift as we know). The dynamics of the controller then depend only on the dead times due to the sampling, the inverter and the measured-data acquisition. At the set-up, the current is always sampled in the centre point of the zero-voltage vector. In consequence, only the fundamental wave of the current is sampled and an anti-aliasing filter is not necessary.

4.8 Operation 4.8.1 Turning on

Turn on the set-up by the main switch and turn on the computer. Actually, the computer is equipped with the operating systems DOS and Linux. Simply press Enter when the prompt of the boot manager (display lilo boot: ) appears. Answer the question whether the networking software should be loaded, with n. Switch into the folder c: \for. Start the control software by typing the command tv_for. A user interface appears, enabling you to change parameters and to input reference values for the control. Turn on the inverter and reset it by pressing the buttons Umrichter Reset and Umrichter Freigabe.

4.8.2 User interface

The user interface consists of two pages.

25

One page serves the settings of the controller and the reference values. On the second page you can choose, which values to assign to the outputs DA-1 to DA-4. You can change between the two pages by pressing <F6>. Within a page you can jump from one to the next element by pressing the tabulator key. Shortcuts are assigned to some of the elements. They are activated by pressing <Alt>+<marked character>. Inputs of numbers must be terminated by the enter button. The decimal point character must be a point. Alternative options (radio buttons) are selected by the arrow keys. The selection and deselection is done by the space key. In order to take over the changes, the button <<Uebernehmen>> or the enter key has to be pressed. You can start or stop the drive with the buttons <<Start>> and <<Stop>> or by the corresponding shortcuts <Alt><S> and <Alt><P>. Starting the drive resets all setpoints.
Page: Controller settings and setpoints

26

Figure 14: User interface: Controller settings and reference values At the top of the right half of the screen, 3 radio buttons are placed to select the controller. Changing the selection of the controller stops the drive. If Stromregelung is selected, the current iB is controlled to the setpoint I_B_SOLL. iA is controlled to its rated value. The speed- and the position-controllers are not running. If Drehzahlregelung is selected, the speed is controlled to the setpoint N_SOLL. The speed controller is running together with the inner current controller, forming a cascade control. The setpoint I_B_SOLL is not used. If Lageregelung is selected, the position is controlled to the setpoint PHI_SOLL. The position controller is running together with the inner speed controller and the current controller, forming a cascade control. The setpoints I_B_SOLL and N_SOLL are not used. The meanings of the variables shown on the user interface are: T_R_I K_R_I I_B_SOLL TP_Filter WM_IST TP_Filter WM_SOLL T_F_WM_IST T_F_WM_SOLL T_R_WM K_R_WM N_SOLL R2 Lh a_max Lageregler h PHI_SOLL
Page: DA-outputs

TR of the current controller K R of the current controller setpoint, if the current control is selected activate low-pass filter for activate low-pass filter for time constant of the low-pass filter for time constant of the low-pass filter for TR of the speed controller K R of the speed controller setpoint of the speed for speed control resistance of the rotor magnetizing inductance maximum angular acceleration Parameter for the position controller, see (55) setpoint of the position for position control

The indicated values can be assigned to the 4 DA-outputs.

27

Figure 15: User interface: DA-outputs

4.8.3 Use of the buttons and the switches

Some buttons and switches are placed on the operator panel. They are assigned to the following functions: Button Umrichter Reset: Resets error flags, e.g. overcurrent. Button Umrichter Freigabe: Activates the inverter. Button Lageerf. Reset: Resets the position acquisition. Switch Impuls Freigabe: Disables the pulses for the igbts independently even if the control software is running. However, it does not influence the pulses sent to the operator panel for measuring purposes. Moreover, the state of the set-up is displayed by the following LEDs: LED berstrom: Indicates an overcurrent, detected by the inverter. LED bertemperatur: Indicates an overheating of the inverter.

28

LED Freigabe: Indicates, that the inverter receives an enabling signal from the computer. LEDs Timerkarte: If both LEDs are alight, the watchdog function is activated. After turning on or after an error of the inverter (overcurrent or overheating) the buttons Umrichter Reset and Umrichter Freigabe have to be pressed successively. Take care that the control is not active when you press those buttons.

4.8.4 Program flow for speed- and position-control

Due to the missing absolute angular position of the motor the controller is not able to adjust a reference speed or position instantly after startup. At startup, the controller performs some revolutions in order to find the zero track of the incremental encoder [1]. Therefore the motor is fed by a volts per hertz characteristic [10]. After that, the flux forming current i1A is slowly (remember the large time constant of the rotor, (22)) increased from zero to the rated value. During this time, the rotor flux linkage of the model is already calculated. Finally, the speed control (or the position control) starts. The control parameters can be modified during operation.

4.8.5 Error messages from the control software

In order to avoid damage of the inverter, the control software stops in the following situations: Zwischenkreisspannung zu klein (low d.c. link voltage). This error occurs, if the inverter has not been turned on when the control is started. berstrom (overcurrent). This error can occur if the control parameters are set very badly. An extremly high overcurrent is also detected by the inverter (LED berstrom). Zu groer Spannungsvektor (voltage vector too large). Due to the tiny leakage inductance L the current can vary very fast if a unsuitable voltage vector is impressed. Thus it can increase far beyond the maximum current allowed by the inverter. In order to avoid this by software, the calculated voltages vector is examined for plausibility before it is sent to the inverter.

29

5. Problem section
Process the problems of the part preparing tasks at home and bring the results to the laboratory course afternoon. The protocol must contain the calculation methods and the results of the numbered problems.

5.1 Preparing tasks

1. Compute the stator inductance L1 with help of (9). 2. Quote the number of pole pairs N P and calculate the flux-forming current i1A , the torque-forming current i1B , the rated flux N and the rated torque TN with help of (23), (26), (29), (Fehler! Verweisquelle konnte nicht gefunden werden.) and (52). Assume an average magnetizing inductance of Lh = 250mH for the calculation. 3. Calculate the time constant T1 and the amplification K S of the stator circuit from the given parameters of the induction motor. 4. Design the PI-controller of the inner current control according to the amplitude optimum. 5. Design the PI-controller of the speed control according to the symmetrical optimum. 3 2 Assume a total inertia J = 5 10 Nm s for the drive. Also assume the low-pass filter for smoothing WM_IST set to T=1ms. 6. Design the low-pass filter for smoothing WM_SOLL. 7. Deduce the relation between h and the controller gain for 0 from (55).

8. Calculate the controller gain K R of the position controller according to the amplitude optimum. Then calculate h. 9. Try to approximate roughly, how much the stator current can vary during one sample period. Why is it not sufficient sometimes to use the sampled current only for the detection of an overcurrent? 10. Reflect on a possibility how to create a criterion voltage vector too large. It is sufficient to make the criterion react, if the current is twice as much as the rated current. Dont forget the counter-e.m.f. due to the speed.

30

5.2 Problems for the laboratory course afternoon

First, the current controller has to be optimised. Turn on the inverter and run the control software. Select the current control. Set the control parameters to the calculated values. Make the DA-converters output the currents i1B , soll and i1B . 11. Keep the motor at standstill by using the brake. Perform some step changes of the current (max. 400mA) and try to optimise the current controller by modifying the gain. 12. How can you recognise that the controller gain is set too high? 13. Try to identify the time constant of the controlled current loop by evaluating some step responses. Now, the speed controller has to be adjusted. Select the DA-outputs in a manner that you can watch the values of N_SOLL, N_SOLL_FILT, N_IST and I_B with the oscilloscope. Set the trigger of the oscilloscope to the channel of N_SOLL. Select the speed control. Set the time constant of the low-pass filter for WM_IST to 1ms. Deactivate the filtering of the setpoint of the speed. Set the calculation of the flux to Strom- und Spannungsmodell (current and voltage model). 14. Redesign the speed controller with the measured time constant of the current control loop and adjust the parameters on the user interface. 15. Perform some step changes of the speed and modify the gain in order to make the control stable. 16. Perform large step changes of the speed and identify the maximum angular Ks = i1B of the current-controlled system. acceleration of the drive and the gain Dont forget to transform the speed into radian. 17. Design the speed controller and the filter for the setpoint of the speed according to the symmetrical optimum and activate the filter.

31

18. Perform some step changes of the speed and try to optimise the controller. At high speed, the position of the rotor flux linkage is calculated both with the current model and the voltage model. Now the difference in behaviour should be examined, if the position of the rotor flux linkage is calculated only by the current model. Moreover, the rotor resistance has to be adjusted. Set the DA-outputs and the oscilloscope in a way to display the space vector of the e.m.f. relative to the AB-reference frame (E2A_MOD, E2B_MOD). Set the calculation of the rotor flux linkage to nur Strommodell (current model only). 19. How should the space vector of the e.m.f. ideally look like? 20. Why can a deviation of the assumed rotor resistance from the real value be detected only at operation with load? Run the motor at approximately 500min 1 and add some load by carefully using the brake. 21. Modify the values of the rotor resistance and the magnetizing inductance, until the rotor flux linkage is calculated correctly. How do the different settings of R2 and Lh affect the calculation of the rotor flux linkage?
1 22. Run the motor at a higher speed, e.g. 1500min , and verify the setting of the rotor resistance by comparing the space vector of the e.m.f. with and without using the voltage model.

Now the position control has to be adjusted. Select the position control. Display the values PHI_SOLL, PHI_IST, N_SOLL and N_IST with the oscilloscope. Set the maximum angular acceleration to the measured value (radian! ). 23. Redesign the gain of the position controller according to the amplitude optimum for small deviations and set the value h. 24. Optimise the position controller. E.g. max might be reduced, so that the drive can follow the reference speed during deceleration.

32

References
[1] Bhr, A., Manual S4 - Encoder Signal Processing, Institut fr Stromrichtertechnik und Antriebsregelung, 2003 [2] Budig, P.-K., Drehzahlvariable Drehstromantriebe mit Asynchronmotoren, vdeVerlag, 1988 [3] Fllinger, O., Regelungstechnik, Hthig Verlag [4] Hasse, K., Regelung in der Antriebstechnik, Skript, Institut fr Stromrichtertechnik und Antriebsregelung, TU Darmstadt [5] Mutschler, P., Control of Drives, Skript, Institut fr Stromrichtertechnik und Antriebsregelung, TU Darmstadt [6] Mutschler, P., Antriebe in der Automatisierungstechnik, Skript, Institut fr Stromrichtertechnik und Antriebsregelung, TU Darmstadt [7] Pahlke, D., Implementierung einer direkten Stromregelung, Studienarbeit, Institut fr Stromrichtertechnik und Antriebsregelung, TU Darmstadt, 2001 [8] Schrder, D., Elektrische Antriebe 1, Springer, 1995 [9] Schrder, D., Elektrische Antriebe 2, Springer, 1995 [10] Weigel, J., Manual S2 - Three-Phase Drive with d.c. Voltage Link Inverter, Institut fr Stromrichtertechnik und Antriebsregelung, TU Darmstadt, 2003

You might also like