print to travel moves, no jerk

  • I've just upgraded to the duet 2 wifi and like it a lot. There's however an issue that cropped up and I've read this post that seems related:

    When I use Slic3r Prusa Edition 1.40.1 and enable hidden seam the perimeter will start/end half way a straight line for example. I used a slab of 20x50x2mm.
    There's a very short travel move from one perimeter to the next like the image below. The printer slows down during this move and deposits a blob that expands beyond the perimeter. The Marlin firmware didn't do this, it just used a jerk to continue at the same speed the perimeter was done (or so it would seem to me).

    Is there any option I can use to enable jerk during these moves?

    Here's a gcode snippet:
    G1 X64.327 Y69.517 E7.13438
    G1 X64.267 Y69.898 F4980.000 ;This is the travel move
    G1 F3300
    G1 X39.873 Y69.898 E7.52870
    G1 X39.873 Y51.111 E7.83239

    In config.g:
    M566 X1800.00 Y1800.00 Z60.00 E420.00

    Firmware Name: RepRapFirmware for Duet 2 WiFi/Ethernet
    Firmware Electronics: Duet WiFi 1.02 or later
    Firmware Version: 2.01(RTOS) (2018-07-26b2)
    WiFi Server Version: 1.21
    Web Interface Version: 1.21.2-dc42


    You can see that the blob of the inner perimeters overlap the outer perimeter:

    This is one that I printed using marlin 1.1.9, though it's a different object but exactly the same 3d printer. What you can't see is that the blob doesn't come up as much as with the duet printed one. The brown 'smudge' is smaller.

    Here another print of a 20x20x2 slab with the duet. I've set the jerk to 60mm/s. You can now better see that the blob sticks out at the top while the marlin version was almost flat, 0.1mm bump and thise one 0.66mm (measured with digital calipers). All images have boosted contrast, this is white ABS and scanned at 1200 dpi.

  • administrators

    The problem with using extruder jerk in these cases is that it is incompatible with pressure advance. I guess we could use extruder jerk in cases like this when pressure advance is disabled. But if you are getting blobs in these positions, then I suspect that either you have not enabled pressure advance or you have it set too low.

  • administrators

    @dc42 I may be wrong but I think the OP is referring to axis jerk not extruder jerk, basically do not slow down movement when making the small transition between perimeters. For example in Cura there is a setting not to retract when a move is <Xmm. Normally i have this set to ~1mm or so so there is no retraction and thus no reason to slow down.

  • Moderator

    @t3p3tony Slic3r has the same setting.

  • administrators

    @t3p3tony said in print to travel moves, no jerk:

    @dc42 I may be wrong but I think the OP is referring to axis jerk not extruder jerk, basically do not slow down movement when making the small transition between perimeters. For example in Cura there is a setting not to retract when a move is <Xmm. Normally i have this set to ~1mm or so so there is no retraction and thus no reason to slow down.

    It's still the case that unless the head comes to a standstill between extruding and non-extruding moves, pressure advance can't be applied correctly because it would require an instantaneous movement of the extruder drive.

    If the firmware was able to determine that the travel move between extruding moves is small and that it can use the same amount of extruder jerk at the end of the first move and the start of the third move, then it might be reasonable to accept that there will be some residual pressure in the system that will cause oozing, but because the travel move is short the oozing is inconsequential. As usual, it's a case of trying to find an algorithm that works reasonably well in all cases.

  • Tony is right, I meant axis jerk, the nozzle stops moving an instant (or slows down) so the oozing creates a blob. And yes it's the option in slicer to prevent retraction if the axis moves less than a certain amount. It's called Minimum travel after retraction in the printer settings tab, Extruder section and it's set to 1mm (default: 2mm).

    I agree, in this case (during short travel moves) the oozing is acceptable or preferred to stopping and continuing, when it will ooze even more.
    It's basically a discontinuous extrusion move.

    Oh, and when I said hidden seam, the Seam position option is set to Rear (on the Print settings tab, Layers and perimeters), I think this was an option introduced by Prusa. This is different from the default corner position where it will also do a between layer retraction.

  • administrators

    Are you using pressure advance? If not then i suggest you enable it.

  • Thanks, I wasn't aware of that option. I'll try this in config.g:
    M572 D0 S0.2

    The bowden tube is about 600mm.

  • administrators

    @imqqmi said in print to travel moves, no jerk:

    Thanks, I wasn't aware of that option. I'll try this in config.g:
    M572 D0 S0.2

    The bowden tube is about 600mm.

    You may need to use a higher value then, possibly 0.3 or 0.4. There is a thread on pressure advance calibration. You may need to reduce the retraction distance, to avoid over-retracting at the ends of fast printing moves.

  • Thanks! Before your last comment I printed four test prints as shown below. Clearly the top and bottom is a big difference but at 1.6 the printer is slowing down as if a low acceleration is set. The extrusion stepper motor is doing some wacky back and forth motion on the infill too, though I must say the infill looked fine.
    I'll try reducing retraction distance tomorrow. (please ignore the bent prints, I've pried them off while the bed was still fully heated, it didn't warp during print.)


    Marlin 1.1.9 seems better controlled, yet doesn't use pressure advance:

  • administrators

    @imqqmi are you using the same gcode for marlin? Also its worth looking at tuning pressure advance:

  • Thanks for the link, I'll check it out. It's not the exact same gcode but the same settings as with the test print. I didn't do any test prints on marlin 1.1.9, only actual prints of things I needed like an extruder holder for the e3d v6 (which is what the last image is of).

  • Here's the pressure advance calibration test with the settings K=0.4 to 2.0. 2.0 isn't high enough, so next test print will be 2.0 to 6.0. Is my bowden setup that bad? Maybe the teflon tube is a bit too wide?

  • administrators

    2.0 would be a very high value for pressure advance. Using a Bowden tube that has too large an ID for the filament might account for it. Does the filament seem a loose fit in it?

  • Here's the same test with setting k= 2 to 6. The third layer looked good to me, which corresponds to k=2.24. I have this set in the config.g file now.


    I've reprinted the 20x20x2 slab. To the left is the 2.24 newly printed, and compared with the 0.2 one printed earlier. A clear improvement and the blob on the top is almost gone. Instead there's now a hole, probably due to the pressure not being able to come back up quickly enough. The infill cornering is improved as well, I can now set the infill/perimeter overlap higher to fix this. There's a print speed penalty though as the acceleration is now adjusted to the speed/acceleration the extruder can handle. I will tune that further first and see how it will perform. I did notice that the infill looked different, in the center it seems wider and flatter and near the perimeter it's narrower and rounder. Coming into the corner looks different than coming out of the corner. The left one looks more consistent apart from the blobs at the end of each infill cornering.

    I've looked in my failed prints bin and found a couple of marlin 1.1.9 prints, but I'm not sure what settings and what stage of calibration it was. I had to calibrate motor current at some point, not sure if it was before or after motor calibration. My guess is the left one is pre motor calibration and the right one post motor calibration looking at the extrusion line spacing, left is irregular and right is more regular. I don't know if jerk was changed either. At least I've gotten rid of the corner blob that is still present in the print below.

  • administrators

    You can avoid the speed penalty if you can increase the extruder jerk limit in the M566 command without the extruder skipping steps. However, I've never heard of anyone needing pressure advance greater than 1 before, so I think there is far too much elasticity in your Bowden extrusion system. What is the inside diameter of the Bowden tube? If you are using push-fit connectors on the ends of it, does the Bowden tube move at all relative to the connectors when the extruder reverses direction?

  • I've increased acceleration, velocity and jerk (slightly) but it doesn't seem to improve much. The left most seems to be the best. At the top you can see the outer perimeter near the hole isn't as thin as the other two. I'll try bumping up jerk as you suggest, its at 600mm/min, I'll try 2400mm/min.

    The bowden tube diameter is about 3.1 to 3.2mm when I scan a cross section and measure it in photoshop. With the calipers it's between 3 and 3.1mm. The ABS filament is about 2.85 to 2.90mm (brand: RRW Dutch ABS).

    The push fit connectors don't show any motion. I use 3d printed clips to secure it in place. There's a bit of wiggle room between the extruder gears though. I've attempted to tighten them but ended up with skipping steps. That was before the duet upgrade so I could try it again. The drivers provide much more power to the stepper motors.

    Bowden connector on the x carriage:

    Bowden connector on the extruder side, there's no play in the tube nor any movement when printing/retracting un retracting:

  • I've adjusted jerk to 1000mm/s from 600mm/s and started skipping steps. I upped the motor current to 1800mA (was 800mA) and stopped skipping steps. It makes a heck of a racket when doing infill. And the gap is still there unfortunately. But the speed is about the same now as without pressure advance.

    I'll try doing the pressure advance calibration again since the backlash may have changed since tightening the gears, there's no play in them now.


  • No change or improvement in the pressure advance department unfortunately. The same k value is indicated.

    I've tried a bigger print. The infill makes the extruder go back and forth with quite a bit of noise, clacking back and forth.

    I'm not sure this is the way to go for me at least. Does the noise improve at lower k values? It wears the filament down too, with the PA calibration the extruder lost grip on the filament. Luckily it was near the end of the print but it wouldn't be good for other long prints to fail half way.

    I may try an older firmware to see if the travel/extrusion move jerk is back on how it performs.

  • administrators

    I've never used 2.85mm filament, so I don't have a feel for the amount of pressure advance that a 2.85mm Bowden extruder needs. From a physics point of view, 2.85mm will be affected by a factor of 2.65 times more than 1.75mm filament. Although the filament itself will be less compressible because it is thicker, in practice most of the compressibility comes from the slop of the filament in the Bowden tube. When compressed, the filament adopts a helical path in the Bowden tube, and the more force is applies, the shorter the pitch of the helix.

    I suspect that you have 1/8" ID PTFE tubing. If that is the case, then 3mm ID tubing would be better if you can find it, because it would have around half the amount of slop.

    Notwithstanding the above, I can see that there may be some point in allowing large amounts of extruder jerk at the start and end of very short travel moves, as Marlin appears to do. I suspect that like some other firmwares, Marlin was ignoring extruder jerk completely until very recently, when implementing pressure advance forced them to consider it.

  • Thank you David, hopefully allowing high jerk for travel moves will resolve the issue.

    I'll try and source a 3mm bowden tube. In the mean time I'll turn off the pressure advance feature for now. I just printed a floppy cleaning kit someone asked for but the filament lost traction for about 10 layers before picking it up again due to the extreme back and forth motion of the extruder motor, especially with narrow infills like 2-5mm wide.

    Especially the turn tool got out with under extruded layers, it was easy to snap them in two parts. I've reprinted it without PA and came out fine.