On Sat, May 8, 2010 at 8:37 PM, Jon Elson <el...@pico-systems.com> wrote:

>
> I don't think it ever reached 30 IPS, maybe about half that, due to
> acceleration.  Still, QUITE impressive.
>

Oh it gets up to 30. Actually, I've had it up to 32 IPS, according to
Halscope, but this test had the max velocity set to 30. I have the
acceleration set pretty high, so most of the move is at constant velocity.
But sure, on the shorter ones, it wont be getting to 30.


>
> At these sorts of speeds, you may need to up the servo sampling rate
> quite a bit.  You can easily go to 2 KHz,
> and with a good PCI parallel port card, you should be able to go to 4 or
> 5 KHz.
>

Why do I need to do that?


> Yeah, I definitely hear similar things in round-motor servos, too.  If
> you are not using FF1 and FF2, you may be able to use those with less D
> and get even better performance.  Since you have no cutting loads to
> respond to, you should be able to reduce error to about 2-3 encoder
> counts at all speeds with the feed-forward.  It only takes a little FF1
> and very small FF2 to make a huge difference.  It is easy to overdo the
> FF and make things worse.  FF1 of 1-5 and FF2 of .01 are numbers I often
> see.
>

I'm using FF1 of about 5. I tweaked FF2 a couple of times, but it didn't
seem to make any difference. I was hoping it would let me lower the D. I
have more tests to do though, and as you probably know, it's easy to get
confused about which term you're tuning.


> That rumble comes from the sampling of the encoder count, plus your low
> encoder resolution, causing the velocity measured each servo cycle to
> jump around a lot.


Won't that get worse if I increase the servo sample rate?


> For instance, at 15 IPS, you are getting 15 encoder
> counts/sample (assuming a 1 KHz servo rate).  But, the real samples are
> likely to jump between 14, 15 and 16 each sample.  That is perceived by
> the PID algorithm as a 6.7% jump in velocity.  This is then amplified by
> the D term and added to the PWM output.  The higher the D, the more you
> amplify these apparent velocity fluctuations, even though the real
> velocity is not actually fluctuating.  This is another of the reasons
> low encoder resolution causes problems.
>

Looking in the source code of the PID, I noticed there's no filtering on the
D term. I've used a filtered difference in the past to combat the derivative
noise, but of course it introduces phase shift.

I've ordered a higher resolution (5 micron) encoder, so it will be
interesting to see how much improvement that gives. I've also ordered a
better power supply, and will raise the current limit by an amp or so. As it
is, everything is remaining cool to the touch. I can't detect any
temperature rise at all.

Neil
------------------------------------------------------------------------------

_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to