Jon, After doing piecewise refinement of encoder counts per engineering unit, I finally managed a reasonable tuning. There still remains a slight bit of hum that I do not get at higher resolutions, but the motor runs plenty cool so it is definitely usable.
I would note that I started with Thornton's method using ff1 and ff2, which basically worked on the other three axes. I could not get it to work on the rotary axis, so went back to using I and D. After doing this however (and possibly other config changes I have made along the way), I am getting persistent following errors. At the moment they always occur at head lifts / drops, when X and Y have basically come to a stop. Head lifts are performed by an air cylinder and give the system a bit of a jerk. Mostly I am now getting following errors in X and A. I cannot reproduce this with individual MDI moves, for example. I set the following errors in the config absurdly high, but does not seem to have any effect. Watching the joint ferrors with halmeter or halscope shows these ferrors to rarely exceed 0.01". My positional accuracy is quite good too, hitting end points within 0.001 or 0.002 at worst. Regards, Eric On August 26, 2017 3:15:02 PM EDT, Jon Elson <[email protected]> wrote: >On 08/26/2017 12:39 PM, Eric H. Johnson wrote: >> Andy, >> >> Yes, as TYPE = ANGULAR in the joint section. >> >> As for P, yes that would seem to agree with what I am seeing. >> >> I made some headway by starting at 24000 counts per degree (actual >counts per revolution). Tuned that in, then did the same at 1000, 500, >250 and 125. Still struggling at 66.6666. Can get it to run slowly, but >goes unstable at speed and sometimes when nearing the end point. >> >> >Yes, the problem with the PID is that when the scale value >going in is very low, the jumps in the user units when the >encoder or step count changes by one is much larger. Since >position is quantized by either step count or encoder >counts, there isn't a whole lot you can do about this. The >best is to set the FF1 as closely as you possibly can with P >and D very low, use FF2 (with real servos only) in tiny >increments to help with acceleration, and then raise P until >the error is acceptable. D should be at the minimum you can >live with, as increasing D just amplifies the encoder count >jumps. > >Some systems have velocity estimation that tries to smooth >out the velocity jumps caused by this. If you are NOT using >velocity estimation where it is available, I think you will >find it helpful. > >Jon > >------------------------------------------------------------------------------ >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 -- Sent from my Android device with K-9 Mail. Please excuse my brevity. ------------------------------------------------------------------------------ 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
