On Sunday 05 November 2017 21:21:09 Peter C. Wallace wrote: > On Sun, 5 Nov 2017, Gene Heskett wrote: > > Date: Sun, 5 Nov 2017 20:56:52 -0500 > > From: Gene Heskett <[email protected]> > > Reply-To: "Enhanced Machine Controller (EMC)" > > <[email protected]> > > To: [email protected] > > Subject: Re: [Emc-users] excedrin headache #487.69 > > > > On Sunday 05 November 2017 09:55:50 Peter C. Wallace wrote: > >> On Sun, 5 Nov 2017, Gene Heskett wrote: > >>>> 2 things. > >>>> > >>>> The recommended pid setup winds up like crazy, and takes 2 to 4 > >>>> seconds to respond to a change in the spindle loading that slows > >>>> it down. Then it over speeds and takes 10 seconds to settle back > >>>> to the set speed. I've tried to add some Pgain, but on a velocity > >>>> to velocity setup thats not working. That uses FF0 and Igain, > >>>> everything else is zeroed. > >> > >> First I would get FF0 set correctly (best RPM tracking with P,I,D > >> all zero) If this does not work at least reasonable well by itself, > >> it shows that you do not really have a velocity mode control (what > >> hardware is driving you spindle?) > >> > >> If you can get reasonable tracking with just FF0 then proceed to > >> adjust the I term. If it take seconds for the integral term to have > >> an effect, you have _way_ too small an I term, try multiplying it > >> by 10. You very likely will need to set the integral bound to > >> prevent windup. > > > > I don't believe the linuxcnc pid module has the ability to limit the > > wind up. > > It does: pid.N.maxerrorI
I don't recall seeing it but I'll certainly look again. Thanks Peter. [...] > > Someone said 1 khz servo thread was too fast, because there weren't > > enough counts in a single cycle, and I think that idea has some > > merit, but what I really need is a lot more slots in my encoder, but > > stability went out for lunch the last time I tried that slower > > thread. > > The Hostmot2 velocity estimate system measures velocity by counting > the number of quadrature edges divided by the time between the first > and last edge so more edges helps (by making quadrature error less > important), but in any case is much better than just counts/servo > thread And my pid.feedback is this velocity signal but averaged over the last 4 incoming edges. That helps a lot at lower speeds. Thanks Peter. Cheers, Gene Heskett -- "There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order." -Ed Howdershelt (Author) Genes Web page <http://geneslinuxbox.net:6309/gene> ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Emc-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-users
