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