JeffLowe Posted October 22, 2012 Share Posted October 22, 2012 I have a low voltage induction motor on a small high speed spindle that I'd like to simply synthesize a sine/sine120 waveform to drive it. There is only an 8 ppr pulse tach on it so full closed loop control is out of the question. My thought is to combine a virtual motor with the microstepping type waveform generation. The maximum frequency for the motor is 667 Hz which should be no problem with my 40 KHz phase update. Are there any examples of how to do this? Link to comment Share on other sites More sharing options...
tahoe brian Posted October 22, 2012 Share Posted October 22, 2012 I am assuming that it is a three phase motor and you have a three phase current loop amplifier to drive it. I am also assuming that your 8 ppr "tach" is just a pulse train, not in quadrature, so you have no direction capability. Perhaps you could use the 8 ppr signal and feed it to PMAC as a step and direction encoder, clamp the direction one way or the other, use standard PMAC induction motor vector control, and simply run it open loop using "O" commands. It would then behave like a variable frequency drive and there would be enough data from the 8ppr to get the mag vector to spin around correctly. You might need a way of changing the "direction" signal to be in phase with the "Oxx" or O-xx" command. I am sure there is something that I am forgetting, but I think this will work. P.S. I once controlled a large induction motor with a 50 line quadrature encoder (don't ask) and it worked pretty well even in closed position loop mode. Link to comment Share on other sites More sharing options...
JeffLowe Posted October 23, 2012 Author Share Posted October 23, 2012 3 phase amp yes, What I was looking for was from the Turbo PMAC Users Manual section: Direct Microstepping of Motors (Open-Loop Commutation) I need the PowerPMAC equivalent of this. I am assuming that it is a three phase motor and you have a three phase current loop amplifier to drive it. I am also assuming that your 8 ppr "tach" is just a pulse train, not in quadrature, so you have no direction capability. Perhaps you could use the 8 ppr signal and feed it to PMAC as a step and direction encoder, clamp the direction one way or the other, use standard PMAC induction motor vector control, and simply run it open loop using "O" commands. It would then behave like a variable frequency drive and there would be enough data from the 8ppr to get the mag vector to spin around correctly. You might need a way of changing the "direction" signal to be in phase with the "Oxx" or O-xx" command. I am sure there is something that I am forgetting, but I think this will work. P.S. I once controlled a large induction motor with a 50 line quadrature encoder (don't ask) and it worked pretty well even in closed position loop mode. Link to comment Share on other sites More sharing options...
curtwilson Posted October 26, 2012 Share Posted October 26, 2012 We have many times done very good velocity control of spindles, flywheels, etc. with feedback resolution this low, or lower (down to 1 pulse per rev even). Remember that, at speed, our 1/T extension gives you a much higher effective resolution. So I would advise as a first attempt to set it up just as a standard vector-controlled induction motor. It's possible you may need to do something special at stop to keep it from hunting between pulses. If you really need to Please refer to the Power UMAC User's Manual (Aug 2012) section on open-loop direct microstepping (starting on page 172), available here in. It appears to me that you will need to modify these instructions in two key ways. If I understand you correctly, you do not want to close the current loop in PMAC, so you will want to set Motor[x].pAdc to 0 to disable the current loop functionality, and you can of course ignore all of the current-loop settings. Second, you will need to rescale the processing of the output of your simulated servo loop in the encoder conversion table. A stepper motor is driven solely with "direct current" (Id), so we want to keep the "quadrature current" (Iq) component very small. To do this, we multiply the servo output by a large number in the encoder conversion table entry before it is used for simulated servo feedback. In the recommended setup for stepper motors, EncTable[n].index5 is set to 63 for a 64x multiplication factor. For induction motors, you will need more Iq, so I would use a smaller index5 multiplier. Link to comment Share on other sites More sharing options...
Recommended Posts