Embedded Systems September 2000 Vol13_10

Issue link:

Contents of this Issue


Page 183 of 229

SPECTRA 8 same way. In the application described here, we use the currents we sen e in the phase windings to compute new voltages for the PWM. With this in mind, the following relationship exists between a homopo- lar and three-phase system: (1) cos(2 y) ib(t) stn(2y) ic(t) t which may also be written as: (3) (4) with the inverse as: ia(l )] (2) i0 [ ic(t) ib(t) = 1. cos(y) 3 cos(2y) (l)l [ a 3 a 3 a 2 . 1 . lf!= . -J3 lb -lc . ) 2 c· l .o = - 2 c· . . ) 3 la + lb + lc Though these two versions appear dif- ferent, they are exactly the same. The real difference lies in what they com- municate to tl1e software engineer. The first, Equation 2, suggests a con- volution and very likely a tighter pro- gram. The second, Equations 3 and 4, looks like an in-line operation. Generally, matrix coding and using What do the leading silicon vendors know about BIOS? hey know that the right BIOS is key to the success of em- bedded designs-and that config- urability is key to the right BIOS. T hat's why AMD, Intel, and STMicro ship General Software's Embedded BIOS pre-installed on their embedded platform evaluation boards. With over 400 configuration options, Embedded BIOS offers the advanced configurability you need to run your custom target environ- ment without editing the core BIOS source code. Contact us today for detailed information and a free sample BIOS binary for your standard reference design. / • • 800-850-5755 • 425-454-5755 v 182 SEPTMBER zooo Embedded Systems Programming / "' Embedded BIOSTM ADA ATION KIT Full source code auromatically configured with over 400 parameters using BIOSrartn. experr system CO BIOS FI:A U ROM/RAM/Flash disks, Setup sysrem, console re-direction, manufacturing mode, WinCE loader, configurable PCI, integrated debugger, modular callours ro chipset, board, and CPU-level modules CHIPS 5 ALI-Aladdin V, Finali AMD-1 86, SC300, SC400, SC520 INTEL-386EX, 430HX/TX, 440BX, 810, 840 NSC--Geode GXm, GXIv STMicro-STP family IDE L OR Windows 95/98/CE/NT Embedded, DOS, Linux, and all x86-based operating systems GENERA[ SOFTWARE The encoder gives us the e. Using the transform , we can create static (slowly moving) values from the instanta- neous (and changing) homopolar val- ues based on the rotor's position in the elecu·ical revolu tion. Algorithmically, this is commonly done with a lookup table. Encoders have a constant number of counts per revolu tion. If we divide a circle by this number, we will have tl1e smallest arc we can measure. We can then make a table based on tl1e sine and cosine of the angle thi arc subtends. So each time we wish to update the amplifier that supplies power to the motor-a period usually called the servo update rate-we must get the current encoder position and use it to trans- form the id and iq values to meaning- ful ia and ipvalues. I 1 = - z - - z lb - t c . ) . c· sin~y) J~a(t)J sin(2y) t f!(t) th e multiply-accumulate (MAC) instruction will produce cleaner, clear- er code. The matrix notation makes it easy to see how this and the next step combine into one equation. The Clarke transformation We can use the re lationship we described involving the id and iq cur- rents both to reflect the state of the currents in the motor and to control the field in tl1e rotor and the torque. In general , these values may change for various conditions such as starting, accelerating, phase advance, and fi eld weakening. But if the motor is simply to maintain a uniform speed and torque, they may not. In order to move our homopolar currents to a static frame suitable for a PID conu·oller, we must use some sort of feedback device, such as an encoder, to detect the position of the rotor. The corre ponding transform is known as the Clarke transform, but most people will know it as a simple coordinate u·ansformation matrix: [id] iq = [cos( B) sin(8)Iia] -sin( 8) cos( 8) i fJ

Articles in this issue

Archives of this issue

view archives of EETimes - Embedded Systems September 2000 Vol13_10