The PM motor was driven with a linear amp, a transistor boosted power
op-amp, like you speak of below. The drive for the brushless motor is
an analog PWM drive. Thus, it's speed reference input is analog, rather
than digital. I selected this because I anticipated that a sampled
reference input would cause trouble, both due to sampling rate and
resolution.
The PWM frequency is 33kHz, and the analog BW of the drive's reference
input is 2.5kHz. This is miles above the 1 or so Hz that might
ultimately be the PLL BW.
The drive is operated open-loop, meaning that it doesn't look at the
motor speed at all. It just outputs a voltage proportional to the
reference input voltage. This is how I did the PM motor. The PLL loop
compensation filter took care of the rest.
Considering the tremendous inertial load on the motor, a 136mmx2.54mm
aluminum disk, I think it's unlikely that torque jitter introduced by
the high PWM frequency.
There is another wierdness about the drive however. It appears to
actually operate in current mode. That is, when configured for
open-loop operation, internally there is still a current loop closed.
The PWM duty feedback is then fed to an outer loop, which tells the
current loop what current to produce to satisfy the outer PWM duty loop.
That is how it keeps itself always inherently current limited. It also
has some 2x peak current capability, so if the outer loop whether it be
speed or PWM duty commands an excessive current, it will deliver 2x the
continuous rating for a short time, then ramp down to the continuous
current limit set by a pot.
The point is that in open-loop mode, from the user's perspective you are
just setting the voltage on the motor according to the reference input.
But internally there are two loops. I have not been able to measure
the actual dynamic response of the voltage change at the motor terminals
in response to changing the ref input. That is because the differential
PWM signals are difficult to measure. I have been able to use a scope
to get RMS measures of the PWM signal for static conditions, which is
how I determined there are some nonlinearities in the DC transfer. But
my only HV differential probing ability is via a Tek probe that needs to
be powered by the scope. So I can't filter it before it gets to the
scope to see how the average looks when applying a square wave to the
ref input for instance.
You can get the data here:
http://www.a-m-c.com/download/datasheet/b15a8.pdf
Some of the details of how the current limit works are hidden on the
diagram, and there are also a typo or two. Took me a good while to
figure out how this drive works!