Slicer based Dynamic Acceleration Control



  • This refers to a conversation spawned in the DWC 2.0.0 RC5 thread.

    I can confirm the latest version of Slic3r (non PE) changes acceleration with the following lines:

    M201 X500 Y500
    M204 P500 T500

    The numbers are all the same and it seema a rather ugly hack, but I can only assume it is due to firmwares behaving differently.

    I don't like it as I would rather there was a GCode that was respected as a maximum for the machine and not dynamically changed. The other issue is these two commands fight each other. The M201 limits acceleration on the axis, and M204 limits it along the length of the vector. Very different.

    @dc42 @deckingman @Phaedrux - As discussed in the DWC thread, here's the new thread.



  • From what I can see slic3r PE doesn't use M201. At least not when using reprap flavor. PE does behave quite differently when using Marlin flavor as it enables a lot of their machine control targeting their own printers.

    I haven't tried a dev release of vanilla slic3r for a while.



  • Think I'm running a Marlin flavour. Didn't think there was a reprap. Will look for that. Thought marlin was the preferred option but it's been a long time since I looked at that side of it for a while.



  • I like the ability to set acceleration and jerk values based on print move type. Cura has good control and uses the right gcodes for it. Slic3r PE is less detailed in the control. And they aren't receptive to change based on threads from their GitHub on the subject. They'd rather any firmware configuration happen in their Marlin flavor machine specific gcode parser. But I'm surprised that vanilla slicer uses M201 at all.

    There are definitely behavior changes in the slicers based on gcode flavor choice. It's actually a little maddening trying to find details on what those specifics are without going into source code.



  • @phaedrux Yes, I want the see variable jerk on Slic3r too. Interior infill could be sped up and/or external perimeters and top surfaces tidied up.

    My only grumble is there should be a gcode that is used and respected for limits, and another for geometry level changes in acceleration and jerk. Having seen how slopy it is done atm I am tempted to put a reload config file in my end of print gcode. Think that's already been mentioned.



  • @doctrucker said in Slicer based Dynamic Acceleration Control:

    Think I'm running a Marlin flavour. Didn't think there was a reprap. Will look for that. Thought marlin was the preferred option but it's been a long time since I looked at that side of it for a while.

    The options I have on my dev version of Slic3R for gcode flavour are listed as:

    RepRap (Marlin/Sprinter)
    Repetier
    Teacup
    MakerWare
    Sailfish
    Mach3 (Linux CNC)
    Machinekit
    Smoothieware
    No Extrusion.

    So Reprap/Marlin/Sprinter seem to be one and the same.

    But on the PE version it's RepRap/Sprinter with Marlin being listed as a separate "flavour" option.

    Just to muddy the waters even more...........



  • Just checking in Slic3r PE and when you have Marlin flavor selected in the printer settings tab you get an entire machine limits page that lets you set all the speed settings. Which I think is what they pass into the path planner for their accurate time estimates.

    0_1551480312927_Screenshot 2019-03-01 11.19.07.png

    Then in the resulting gcode file you get this:

    M201 X4000 Y4000 Z60 E8000 ; sets maximum accelerations, mm/sec^2
    M203 X500 Y500 Z7 E10 ; sets maximum feedrates, mm/sec
    M204 P1500 R8000 T1500 ; sets acceleration (P, T) and retract acceleration (R), mm/sec^2
    M205 X10.00 Y10.00 Z0.50 E10.00 ; sets the jerk limits, mm/sec
    M205 S100 T233 ; sets the minimum extruding and travel feed rate, mm/sec
    

    I think one of the recent firmware versions had a bunch of the marlin specific gcodes added for compatibility. M205 for example, though only for jerk. https://duet3d.dozuki.com/Wiki/GCode#Section_M205_Set_max_instantaneous_speed_change_in_mm_sec



  • @deckingman said in Slicer based Dynamic Acceleration Control:

    But on the PE version it's RepRap/Sprinter with Marlin being listed as a separate "flavour" option.

    Yes, the PE version split off the Marlin flavour a little while ago when they added the machine parameters page I posted above and switched to using the marlin path planner for their time estimates.



  • I just tried to test the latest dev version of vanilla slicer to see how it behaves, but I couldn't get it to do anything without crashing on OSX.



  • @phaedrux Jeees. So PE Slic3R does mess with M201 - also M203, M204, M205.



  • @deckingman said in Slicer based Dynamic Acceleration Control:

    @phaedrux Jeees. So PE Slic3R does mess with M201 - also M203, M204, M205.

    Only when you're using Marlin flavor. Which is intended for use with their own printer and firmwares which enabled their full speed and quite mode operation. It doesn't do that if you're using RepRap flavour.



  • @phaedrux ahh OK.


Log in to reply