Originally Posted by
Mariss Freimanis
A motor is a motor is a motor. Because a motor is a stepper doesn't mean it can't be made a servomotor. For example, a brush DC servomotor is just another utility DC motor unless it is run closed-loop. A step motor can be run closed-loop. A step motor is actually a high pole-count permanent magnet synchronous motor (PMSM) and in theory is perfectly capable of being passivated by field oriented control (FOC).
The reason you don't see the world flooded with FOC step motor servodrives is because of the step motor's high pole-count.
There is little fundamental difference between a 6-pole, 3-phase PMSM motor (also known as a BLDC motor) and a step motor (50-pole, 2-phase motor). Both are perfectly amenable to to being controlled by the Clarke-Park transforms and their inverses better known as FOC.
The difference is the step motor has more than an 8 times higher pole-count (50 / 6 = 8.333) than a BLDC.
DSP (digital signal processors) type MCUs sample at 20kHz to run the Clarke-Park transforms / inverses and do a barely adequate job when the motor turns at 3,000 RPM. To do the same using a step motor, the DSP would have to sample at 167kHz. This is way beyond what a commercial DSP processor can do.
The Clarke-Park transform requires 4 sine and cosine multiplications plus some minor time doing 2 cross-additions. The inverse transforms require the same computational burden for a total of 8 multiplications and 4 2's compliment additions. Throw in 4 proportional-integral calculations and you have a very busy DSP processor. It is completely overwhelmed running a step motor at 3,000 RPM.
But what if there was a way to short-cut to bypass the burdensome 8 multiplications and 4 additions? What if there was a way to reduce them to no computational burden at all? What if it all this burden was placed in the analog domain? Then a step motor servodrive becomes very easy, in fact extraordinarily easy.:-)
The last significant hurdle is field-weakening (the Qd term in the Park transform). For a BLDC motor this can often be neglected because its effects become significant only beyond 3,000 RPM. Not so with a step motor; the effect arrives at 400 RPM and above.
BTW: A step motor is already a two-phase system. The Clarke transform and its inverse are unnecessary. For what it's worth, the Clarke transform is trivial. It's just a 3-phase to 2-phase conversion algorithm any could come up with. All the meat is in the Park transform.
Mariss