Thanks for the fantastic advice! I feel embarrassed about the 10% now - it never bit me but I'm just an amateur. :)
I'm not interested in eking out the last mm/s2 of acceleration - I just want smooth curves. The 2500mm/s is driven by the application notes for the material I'm cutting rather than a need for speed. (The material is a plastic called cellulose acetate.) I'll implement some of the stuff you've outlined here, and report the results for future internet searches. On Sat, Apr 12, 2014 at 9:18 AM, Philipp Burch <[email protected]> wrote: > Hi Rod! > > On 04/12/2014 02:28 PM, Rod Fitzsimmons Frey wrote: > > Turns out that when I actually CUT something other than air, using the > > loose tolerances (even 0.02) gives me unacceptable faceting. I don't > need > > *accuracy* per se, but I do need smoothness. > > > > I don't think I'm trying to operate at outrageous speeds - about > > 2500mm/min. Maybe my acceleration is set too low? Or too high? I didn't > > Is this 2.5m/min your actual cutting speed? If so, then your problem > might just as well be the update rate of the motion planner and/or the > position controller. This is 41.7mm/s or 0.042mm/ms, so if your servo > thread runs with the default 1kHz, the position deviation can be more > than your set tolerance after half an update cycle already. > > What happens if you do a straight cut (one single G1 move) over, say, > 30mm (just long enough to make sure that you reach the programmed feed)? > If everything is fine, then I would try to lower the servo thread period > and/or using the new TP. If it is only fine when just a single joint is > moving but bad if you do a diagonal cut, then the problem may be the > position controller. If you don't get a good result either way, then > there could be a problem with the drives, a badly tuned > position/velocity controller, time jitter, or something else. > > > give too much thought to the acceleration limits - I didn't know how to > > determine it for a servo system. (On stepper systems I just increased it > > until I lost steps, then backed off 10% or so -- scientific, hey?) > > > > Wow, going to 10% below stall acceleration on a stepper system sounds > quite adventurous to me. Anyway, figuring out the maximum with a servo > system should be easier, at least if your hardware can handle the > maximum torque of the drives. Just set the acceleration limit to some > insanely large value (100'000mm/s^2 or so) and then do a G0 move with > one joint at a time while logging the encoder feedback with halscope. > You'll probably need to temporarily raise your FERROR and MIN_FERROR to > about the magnitude of the move for this. What I would expect on the > scope then is the typical response of a PT2 system (like this one, with > or without the overshoot: http://buchholz.hs-bremen.de/rtfr/rtfr.htm). > The slope of the first (rising) part of the curve is then your maximum > acceleration. Lower it by a few percent and you should have a good value > for the parameter. > > But remember that this is tough for your hardware, so if you are not > sure if the drivers and the mechanics can handle the maximum current and > torque of the motor, then you should be a bit more careful with the set > acceleration value. A safer approach would be to start with a low value > for the acceleration limit and increase it until you get a noticeable > deviation from the programmed path at the start and end of the motion. > > Happy tuning! > > Regards, > Philipp > > > > > > > > > On Fri, Apr 11, 2014 at 4:48 PM, Robert Ellenberg <[email protected]> > wrote: > > > >> Hi Rod, > >> > >> This is actually a good example of why G64 is a bit confusing at first. > >> Since you haven't specified a Q word, G64 with a P tolerance by default > >> uses the same tolerance for the naive cam detector. What that means is > >> that your command here: > >> > >> G64 P0.05 > >> > >> Is interpreted by LinuxCNC to mean this: > >> > >> G64 P0.05 Q0.05 > >> > >> I'd be willing to bet that if you used this setting instead, it would > >> revert to the "ugly" behavior: > >> > >> G64 P0.05 Q0.0 > >> > >> -Rob > >> > >> > >> > >> > >> On Fri, Apr 11, 2014 at 4:19 PM, Rod Fitzsimmons Frey < > [email protected] > >>> wrote: > >> > >>> G0 P0.05 worked like a charm! Thanks Viesturs. I'll have to go read > the > >>> code to understand the behaviour. > >>> > >>> > >>> On Fri, Apr 11, 2014 at 4:16 PM, Rod Fitzsimmons Frey < > [email protected] > >>>> wrote: > >>> > >>>> Perhaps I'm confused about G64? From the docs: > >>>> > >>>> G64 is just blending and the naive cam detector is not enabled. G64 > >> and > >>>> G64 P0 tell the planner to sacrifice path following accuracy in order > >> to > >>>> keep the feed rate up. ... G64 P0 has the same effect as G64 alone > >>>> (above), which is necessary for backward compatibility for old G Code > >>>> programs. > >>>> > >>>> I'll try the small value for G64 instead. I'm not concerned about > >>>> accuracy in this application - .005" would be fine. > >>>> > >>>> I'll definitely have a look at the new trajectory planner too! > >>>> > >>>> > >>>> On Fri, Apr 11, 2014 at 3:28 PM, Viesturs Lācis < > >>> [email protected]>wrote: > >>>> > >>>>> 2014-04-11 22:15 GMT+03:00 Rod Fitzsimmons Frey <[email protected]>: > >>>>> > >>>>>> I've set G64 P0, which I think should eliminate motion mode > >> concerns? > >>>>> > >>>>> > >>>>> P0 means that max allowed deviation from defined path in order to > >>> maintain > >>>>> velocity is equal to as much as total zero, so it really eliminates > >> not > >>>>> only concerns about motion mode, but also any options to try to > >> maintain > >>>>> the velocity. Try increasing it to something like 0,02 and see, if it > >> is > >>>>> better. > >>>>> > >>>>> I would say that this particular case is a perfect guinea pig for the > >>> new > >>>>> trajectory planner :) > >>>>> > >>>>> Viesturs > >>>>> > >>>>> > >>> > >> > ------------------------------------------------------------------------------ > >>>>> Put Bad Developers to Shame > >>>>> Dominate Development with Jenkins Continuous Integration > >>>>> Continuously Automate Build, Test & Deployment > >>>>> Start a new project now. Try Jenkins in the cloud. > >>>>> http://p.sf.net/sfu/13600_Cloudbees > >>>>> _______________________________________________ > >>>>> Emc-users mailing list > >>>>> [email protected] > >>>>> https://lists.sourceforge.net/lists/listinfo/emc-users > >>>>> > >>>> > >>>> > >>> > >>> > >> > ------------------------------------------------------------------------------ > >>> Put Bad Developers to Shame > >>> Dominate Development with Jenkins Continuous Integration > >>> Continuously Automate Build, Test & Deployment > >>> Start a new project now. Try Jenkins in the cloud. > >>> http://p.sf.net/sfu/13600_Cloudbees > >>> _______________________________________________ > >>> Emc-users mailing list > >>> [email protected] > >>> https://lists.sourceforge.net/lists/listinfo/emc-users > >>> > >> > >> > ------------------------------------------------------------------------------ > >> Put Bad Developers to Shame > >> Dominate Development with Jenkins Continuous Integration > >> Continuously Automate Build, Test & Deployment > >> Start a new project now. Try Jenkins in the cloud. > >> http://p.sf.net/sfu/13600_Cloudbees > >> _______________________________________________ > >> Emc-users mailing list > >> [email protected] > >> https://lists.sourceforge.net/lists/listinfo/emc-users > >> > > > ------------------------------------------------------------------------------ > > Put Bad Developers to Shame > > Dominate Development with Jenkins Continuous Integration > > Continuously Automate Build, Test & Deployment > > Start a new project now. Try Jenkins in the cloud. > > http://p.sf.net/sfu/13600_Cloudbees > > _______________________________________________ > > Emc-users mailing list > > [email protected] > > https://lists.sourceforge.net/lists/listinfo/emc-users > > > > > > ------------------------------------------------------------------------------ > Put Bad Developers to Shame > Dominate Development with Jenkins Continuous Integration > Continuously Automate Build, Test & Deployment > Start a new project now. Try Jenkins in the cloud. > http://p.sf.net/sfu/13600_Cloudbees > _______________________________________________ > Emc-users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/emc-users > > ------------------------------------------------------------------------------ Put Bad Developers to Shame Dominate Development with Jenkins Continuous Integration Continuously Automate Build, Test & Deployment Start a new project now. Try Jenkins in the cloud. http://p.sf.net/sfu/13600_Cloudbees _______________________________________________ Emc-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-users
