You are on page 1of 6

WM2.

1
SLIDING MODE BRUSHLESS DC MOTOR CURRENT A N D TORQUE CONTROL ALGORITHMS
Wu-Chung Su, Sergey V. Drakunov, Umit Ozgiiner Department of Electricd Engineering The Ohio State University 2015 Neil Avenue Columbus, OH 43210

Abstract The unique attributes of the brushless de motor make sliding mode control suitable and favorable to many control designers. The essence of controller design for brushless dc motors is in fact a set of switching logic for the three phase input voltages. Stemming from the idea of sliding mode, three algorithms for current and torque control are developed in this paper from different aspects of the same problem. The first. algorithm takes an analytical approach that computes the equivalent controls for eacb phase voltage and converts them to suitable dc values. The second deals with physical phenomena and generates a proper switching sequence directly without the need of a conversion process. Finally, the third further as sumes no knowledge about the system parameters. By using current feedback and rotor position information, a look up table is constructed to achieve the desired performance. The proposed algorithms are well suited for microprocessor control applications.

With the above attributes, there are some inherent limitations in the brushleaa dc motor as well. Due to the dc nature of the driver and the physical winding conntraint, the stator can only provide six diffuent magnetomotive forces (mmf), 60 degrees apart from each other M show in Figure 1. The control inputs (stator mmfs) being discrete values, a sliding mode control approach seems appropriate for most mntrol purposes. As a matter of fact, there indeed exist eeveral theoretical and experimental results that support the idea of sliding mode control for brushless dc motors[2]-[5]. The dynamic equations in the orthogonal axes (d- q ) connected with the rotor can be written in the form

where i d , if, ed, cf are components of stator currents and voltagea in the direct and quadrature rotor axes

I.

Introduction

A brushless dc motor has the same physical structure as a permanent-magnet ac synchronous machine. The permanent-magnet rotor provides a constant field against the armature winding on the stator, which is commutated electronically by a six-step inverter that switches according to the shaft position. Withproper switching of the inverter, the need for slip rings in the rotor assembly is then eliminated. The rotor position information can be obtained from either Hall effect sensors or a shaft encoder mounted in the motor as sembly. The Hall effect sensors divide each rotor revolution into six equal sectors (60 degreee each). This can only reveal a coarse knowledge of the rotor pcr sition but is sometimes sufficient for switching logic design. The shaft encoder, on the other hand, can provide a higher resolution for the rotor angle which is especially useful for speed sensing and plays an important role in (d - q ) analysis for %phase motors.

Figure 1: Stator voltage vectors and rotor position sectors

CH3OOO-7/9!2/oooO-0910$1.0001992 IEEE
,

910

respectively, xd, X , , R are active and passive resistances, F is the constant magnet flux coefficient, and n is the angular velocity of the rotor. The torque produced by the motor is given as
r

= ((xd X,)id

+F)i,

(3)

Let 0 be the angular rotor position. For a tphaee motor, we have


Cd

= 2(eAcctse+eBcos (e
3

2 2 -p )+ eccoo(e + p ) ) (4)

e,

2 -+

e+cB h(e - :=)+ec


eA =edCOS@-cqSh@

h(e

2 + 5r)) (5)

The awence of designing controllers for brushleas de motors is in fact a set of ewitching logic for C A , cg , eC. The switching logic depends on the states of the motor; namely i d , i,, 8, and poeaibly the angular velocity n. For current control, the performance crii : , i;) teria would be to reach some desired point ( in the etate space. This point can be determined by either mathematical optimization or physical considerations. Particularly, in the torque control problem, one may desire to achieve some torque value and at the rame time minimize the energy loss. Thus (iz, i ; ) can be solved by

with the inverse transformation[6]


(6)

e
atrch

i:+il,=a

cg

- z ~-)e,rin (e - 5 ~ ) 2 2 cc = C d ccts (e + - e, sin (e + r) 3


= C d C O B (e
X)

(7)

thd

((xd

- X,)id 4- F ) i , =

7d

(9)

(e)

where e A , e B , ec are phase voltages and can take only two discrete values, namely +V& and -V&. We consider current control M an important subject in the study of brushless dc motors especially when one is interested in torque output control, energy loss, circuit protection, and any other current related issues. To control the currents, a general approach is to utilize equations (1) and (2) and design an a p propriate controller to achieve the performance criterion. The control inputs e d , e , are functions of i d , i,, and n together with those system parameters R, X d , X , , and F . The computed values will be trans: ) , which formed into the 3-phase voltages (e:, e>, e are then converted to the discrete values (e,,, e g , ec) to be applied physically to the motor. Several papers have successfully verified the above scenario by using various control schemes[2]-[5]. In this paper, we have a different approach that takes into account some practical limitations of the syatem set up. First, the system parameters may not be known or the given values may be far from accurate. This makes the computation of c d , e , cumbersome or even impossible. Secondly, the computation will take a long time and therefore high-speed Digital Signal Processing (DSP) chips become inevitable for an implementation, which increases the cost of the controller. Or without a DSP chip, the performance is deteriorated due to the large sampling time required for the computation. Thirdly, one may be interested in designing a universal controller for all types of brushless dc motors without the need of changing parameters for different plants. Here, we present simple, fast algorithm that can lead to cheap, robust, and universal current controllers for brushless dc motors.

where U = i$.+iz is the instantaneous energy loss, and rd is the desired torque output. Or in many cases, if we have a round, symmetric rotor; ie xd=xq,then it can be essily taken M

(ii, i ; ) = (o,?)

(10)

Algorithm 1 . ( i d , ip) domain-conventional approach


The sliding surfaces are chosen as . d l = l d - 8d

..

(11)

$2

The control inputs sliding condition

e d , eq

= i, - i; (12) are designed to satisfy the


i = 1,2
(13)

si&

< 0,

We have
Cd

=e : *

- Csgn(s1)

'

(14)

cq = e ; ,

- fsgn(s2)

(15)

with h > 0 and


e ,:

e ; '

- X,i,n = Ri, + (Xdid + F ) n


= Rid

(16)

(17)

The computed ( C d , e,) will be transformed back to (e>, e$, e>), the discretetime equivalent controls[7] for sliding eurfacea (11) and (12), by equations (6)( 8 ) . Since (e:, e>, &) will generally not satisfy the dc constraint, a modification will be mad& In [2], Utkin suggested that e, be picked as
eJ = rgn(eJ) Vde, j = A, B , C
(18)

This method was indeed shown to be effective[5]. Here we propose anothtr way of converting e;. to ej by building the following nonlineaT circuitry ZJ = -Vd,sgn(AJ)+e;,
j= A , B , C
(19)

II.

Controller Design

911

It is shown in [l]that if V& > le;}mor, the ayatcm will reach sliding mode in finite time and we have

= (&sgn(ZJ))..r,
By letting
eJ = Vksgn(Z,),
j

t .

A, B, C

(20)

{e1,e2,...,e*}, it is more convenient to describe the owitching logic not analytically but a sequence of conditions. Let e* = e*(OIid,iq) denote the vector 85signed a~ a control for the given values of 8 , i d , i,.
Switching Logic

= A,B,C,

(21)

we obtain the desired switchings for C A , C B , ec , which are the actual voltages applied to the motor. We can also attack the problem directly from the torque-energy point of view and work in the (7, a) state space. Our aim then would be to provide the desired torque value r d with minimum energy ~osoU . A restriction is that during the tramient procem, the This is always a lavalue of U is not to exceed amor. gitimate consideration to protect the circuit from an overcurrent.

1. If
e

U > U,.,, consider the set El of all possible E E satisfying the condition U < 0 ( E1 # 0). If there exists such e E E1 that (T - Td)f < 0, we aesign e* = e, else, e* = e for any e E El.

2. If a < a , , we change the priority and consider the set E 2 of all e E E that condition (7 - r d ) i < 0 is satisfied (El# 0). If there exbts such e E2 that &(e) < 0, we assign e* = e , else e* = e for any e E E2.

Algorithm 2. ( r p ) domain - direct switching logic design


The state equations for r and
U

This algorithm works directly on the switching logic ( C A , C B , e=) and hence does not require the conversion steps in (19)-(21).

are

Algorithm 3. Table Look-up


The above two algorithms assume a full knowledge of the system parameters. Now we will exploit a different method that enables current control without the need for calculating ( e d , e , ) or ( e A , e B , ec) but simply make use of Hall effect sensor information to design our switching logic.

where
g-

(-(-Rid i * ( R i q

+ Xqiqn)+ + F)n)
(Xd:,

(24)

In (l), (2), we observe that the incremental vector (Aid, Ai,) is a function of id, i,, n, e d , e,, and the sampling time T,.
Aid

go

= - i(d -Rid
x d

+X,i,n)

+3 (-Ri, -(X& x,

+F)n) (25)

T, = -(-Rad
x d

x q l q n -ked)

+o ( c )

(28)

Let's substitute (4),(5) into (22),(23) then we have


T

= b r A e A + brBCB + bycec + gr

(26)

Ai, =

TI(-& x,

- ( x d l d + F)?Z + e q ) + o ( c )

(29)

= b o A e A b u B e B bocec +go (27) where bi, = b i j ( i d , i , ! @ ) ,i = r , u , j = A , B , C are functions of currents td, i , , and rotor pasition 0.

To drive the current state i d ( k ) , i , ( k ) towards i ; ( k ) , i i ( k ) , equations (28) and (29) suggest that we choose Cd, e, such that
#gn(ed)

= #On(;;

- $ 9 ) = Sd

(30) (31)

Jgn(e,)

= sgn(i;

iq)

= sp

This is appropriate from the point of view of sliding


mode control. The existence condition in equation (13) demands that
('Rid

+
-

Xqlqn

ed)(id

- I;) < 0

(32)
(33)

(-Riq

(Xdid

+ F)n + e q ) ( i q - i ; ) < 0

Since there dre only eight possible values of the phase voltage vectors, e = (CA,CB,CC) E E =

Since we have no information about R, xd,Xd, and F ,a moat feasible choice of e d , ep would be to satisfy (30)-(31). Note that only the sign of e d and e, are determined here. The actual value can be calculated from equations (4) and ( 5 ) . Knowing the desired signs for ed, e,, the next step will be to determine which of the six stator mmf's Vn, n = 1, ...,6,are to be applied.

912

As depicted in Figure 1. 8 , is the aesociated angle for


Vn

Hall sensor information rector number

( e l . e.e. e c )

8, = 3 With the rotor position 8, it can be seen that

(34)

8gn(ed) = Wn(C00 (8"

sgn(eq) = S P n ( M (e, (36) For each pair of desired rgn(ed, e f ) and rotor angle 8,

- e)) - e))

(35)

t
2,

V VI

11 11

( 8 9 , -ad, ad) (ad, -Sd, - s q )

vdc

* vdc

Table 3: Current control switching logic look-up table Torque Constant F

there exists either one or two V,'s that satisfy (35) and (36). One can choose an appropriate V, and obtain the corresponding switching logic ( e A le B , e=) by looking up Table 1.

= l.ONmA-'
Aliorithm I

I stator mmfvector II

(el.ea.ec)

Another way of finaing V, is by using the Hall sensor information. As seen in Figure 1, for each sector(I,II,...lVI)the rotor resides in, we can always find one V, that satisfies (35),(36). Table 2 is then constructed as follows:

3,

Figure 2: Time response of


Alponlhm 1 .Phue Plane

id,

and i,

v*

(-,-)

(-,+)

(+,+)

(+.-)

Table 2: sgn(ed,eq) aa a function of V, and rotor position where X denoteds "don't care" since the corresponding sgn(ed,eq) is ambiguous. Finally, with Table 1 and 2, we come up with a iingle table of switching logic for (eA,eB,eC) (Table 3).

m.

Numerical Examples

-4

0
Id

The system parameters of the motor are taken as: Phase Winding Resistance R = l.On d-axis Inductance x d = 0.34H q-axis Inductance X, = O.llH

Figure 3: Phase trajectory of idl and i, The samdinn time is 0.001sec and the desired toraue

913

4,

bllPqlhm 2

Alnorilhrn 3

t .......................
7

-0

0.05

01

0 15

0.2

0.25 03 timetuc)

0.35

04

0.45

05

1 v 0

0.05

0.1

0.15

0.2

0.23

0.3

0.35

0.4

0.45

0.5

'0'

005

0'1

0 15

0'2

0 25 0 ' 3 rimetsec)

0.35

04

045

i 5

005

01

015

02

025
Ilmc(YL)

03

035

04

04q

05

Figure 4: Time response of r , and

Figure 6: Time response of

id,

and i,

-4

I
4

ia

Id

Figure 5: Phase trajectory of output is chosen as:


Td

id, and

i,

Figure 7: Phase trajectory of i d , and i, In Algorithm 1, the control goal is to drive ( i d , i , ) to (i:, i ; ) . The reaching time directly depend on the magnitude of t in (14) and (15). It was assumed initially to be 0.1. If one desires to speed up the process by increasing k, then the sampling time T , needs to be chosen smaller to maintain tollerable chattering. Figure 2 and Figure 3 show the simulation result. Algorithm 2 deals with 7 and U directly. As seen in Figure 4, it reaches the desired torque much more rapidly than Algorithm 1 and the amount of energy loss drops to the minimal value thereafter. Figure 5 illustrates the corresponding id-iq phase portrait of the same result-sliding mode occurs on the constant torque trajectory and the trajectory slides into the

=3 . 0 "

Newton's method is employed to search for the optimal values i; and ii in (9). It is found that
I ;

= 1.07A

i ; = 2.41A Thus, the minimal instantaneous energy loss is


Omin

= 6.94A'

and the maximal instantaneous energy is set to be


Omoo

= 12.0A2

914

optimal point along the nonlinear surface. Figure 6 and Figure 7 are the time response and phase plot of Algorithm 3. Since it makes no use of the system parameters at all, the result is slower than the second algorithm. Nevertheless, the effectiveness and ease for implementation make it worth considering.

Record of 1986 IEEE Zndusiry Applicafions Sociefy Annual Meafing, Pari I, pp. 72-79,1986

[5] Low, T.S., Lee,T.H., Lock, K.S., and Tseng, K.J., DSP-based instantaneous torque control in permanent magnet brushless d.c. drives, Mechatronics, Vol. 1, No. 2, pp. 203-229,1991.

[SI Fitzgerald, A.E., Kingsley, C., and Umans, S.D.


IV.
Conclusions
Eleciric Machinery

. New York: McGrall-Hill, 1990.

We have completed three different algorithms for brushless dc motor current and torque control. The same idea can be generalized to some other control applications, such as speed and position, where we need to include one or two more equations to fully describe the system. Different approaches as they take, the major design philosophy stems from the theory of sliding mode. One of the important concerns in sliding mode control is the chattering frequency t h a t . essentially dominates the system performance. To increase the chattering frequency as much as possible, it is desirable to reduce the switching logic computation time. If the system parameters are available, an observer for id and i , can save the time spent for the three phase current sensing and d-q transformation. The sampling rate can then be speeded up significantly. Recently, discrete time sliding mode is receiving much attention from the control society. The idea enables us to separate the controller design from the continuous time driving circuitry. In the discretized system, the controller maintain sliding mode at each sampling instant. During the sampling interval, the analog driving circuitry will be able to provide a much higher chattering frequency than a microprocessor can. We believe this will be a promising direction for the future study of brushless de motor as well 88 any other sliding mode control applications.

[7] Utkin V.I., Drakunov, S.V. On discrete-time sliding modes, preprints of ZFAC Conference on Nonlinear Control, Capri, Italy, 1989.

References

[l] Utkin, V.I. Sliding modes and fheir application in variable sfructure sysfems. Moscow, 1978 [2]Utkinv, V.I. Sliding mode in optimization and conirol. Moscow Nauka (in Russian), 1981. [3] Izosimov, D.B., Matic, B.,Utkin, V.I. and Sabanovic, A., Using sliding modes in control of electrical motors, Dokl. AN SSSR , 241, No.4, pp. 769772,1978.
[4] Hashimoto, H., Yamomoto, H.,Yanagisava, S., and Harashime, F. Brushleas servo motor control using variable structure approach, in Conference

915

You might also like