Embedded Systems September 2000 Vol13_10

Issue link:

Contents of this Issue


Page 187 of 229

SPECTRA e FIGURE 2 servo ujJdates. At these points, the encoder i read, along with the phase currents in the motor windings. We use the forward Park and Clarke trans- forms to compute the id and i" from the phase currents in the motor wind- ings and the electrical angle. This information, along with the user con- trol settings, is fed to the PID con- troller and a new (corrected) ir1 and i" are returned. The change in notation indicates that we are actually conu·ol- ling the voltages applied to the phases of the motor, as illu trated in Table 1. These values are then fed to the PWM or analog controller This id and i" are passed through the reverse transforms to give us new values for our phase currents. These values are then fed to the PWM con- u·oller or analog controller, as the case may necessitate. Next month TABLE 1 A B 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 • c 0 1 0 1 0 1 0 1 + - + + + - VA VB vc - . -- . . + + . + + - + . + - . + + possible with three phases. In th is table, the minus signs indicate when the bottom switches are all on; the plus signs mean that the top transis- tors are on. Because there must be at least one minus sign and at least one plus sign in a single row for current to flow, only six of the states are workable. Therefore, to initialize the motor, we must choose one of the remaining six combinations and hold it constant. Under these con- ditions, current is flowing in the wind- ings and the rotor will align with the stator flux. Although this will work on an induction motor, only the number of encoder coun ts per revolution is really required for initialization. Next, we need to know how many encoder counts we have for each elec- trical revolution. If we do not know the number of encoder counts per electri- cal revolution, we may, at this point, ded uce the numbe• · by "stepping" through the six combinations in the table sampling the encoder as we go. Field-oriented control Once we know the number of encoder counts in an electrical revolution and have reset the electrical position and captured the encoder position at that point, we may begin. At this point the electrical angle may be shifted by 90 degrees-this moves the id and iq axes apart. The rotor tends to align itself with the sta- tor flux and the motor turns. We must continually refresh the information about position and cur- rents, however, or the motor will halt. These refresh poin ts are known as 186 SEPTEMBER 2000 Embedded Systems Programming Don Morgan is senior engineer at Ultra Stereo Labs and a consultant with 25 years exjJerience in signal processing, embedded systems, hardwa-re, and software. Morgan has wrotten a book about numerical meth- ods, f eaturing multi-rate signal processing and wavelets, called Numerical Methods for DSP Systems in C. He is also the autho-r of Practical DSP Modeling, Techniques, and Programming in C, published by j ohn Wiley & Sons, and Numerical Methods for Embedded Systems frorn M&T. Resources www. ti.comlsc/ docs Iapps/ digital/ac_indu ction_motors.htmi#App_Notes www.analog. com I industry I motor _con- troll appcodel admc401/ pwm401_1. html Next month , we will look at what is involved in using devices other than incremental encoders to approximate position. We will see how the DSP can calculate position given quadran1re sinusoids (sinusoids that are 90 degrees out of phase) such as one might have with analog encoders and resolvers. esp

Articles in this issue

Archives of this issue

view archives of EETimes - Embedded Systems September 2000 Vol13_10