Blobbing/zitting that wipe/retract won't fix?

  • Image:

    I have a D300VS delta with the Titan Aero. I've tried using both Simplify3D and PrusaSlicer and both exhibit this. I've always just lived with it, but now I'm on a crusade to finally deal with these weird zits. They're at the end of the perimeter, but I don't think it's from oozing/wipe/retract. The retract-during-wipe action happens around the corner from these blobs/zits and it looks great, no sign of oozing, hence why increasing/decreasing wipe/retract has done nothing for these particular blobs/zits.

    I think what's happening is at the start of the inner perimeter (I'm printing inner perimeter first, then outer, 2 layers), it squeezes out too much material at the start of the travel, leaving a little bulb. The start of the perimeter is at the same corner the outer perimeter ends at, so when the extruder finishes the outside, there's a bit of extra material from the inner perimeter at that corner, so it gets forced outwards, creating a zit.

    My retraction settings are below:

    Retract: 1mm-5mm at 30mm/s (it just jams if I go any higher than 2)
    Wipe: Anywhere from 2mm to 10mm
    Pressure Advance: from 0-0.1
    Extra restart distance/extra length on restart: 0, -0.1mm, -0.2mm (no real difference)

    Printer config:
    M201 X600 Y600 Z1000 E600 (Was previously E1200, but made no difference)
    M203 X20000 Y20000 Z20000 E20000
    M566 X600 Y600 Z1000 E1000 (Was previously E1600 but made no difference)

    Am I missing something simple? I think coast/retraction before wipe would probably solve it, but I feel like it doesn't solve the root problem of why the interior perimeter is blobbing and pushing out my exterior perimeter. I theory-crafted that perhaps increasing the amount of wiping/retraction (even after doing internal stuff like infill) would prevent the blobbing but no, nothing concrete. Just lots of frustration.

    I have about 30 calibration cubes on my desk and they all show this problem no matter what setting I change.

  • Hi @shensmobile , could you please attach the gcode that exhibits this issue. Thanks.

  • 0_1563485089097_xyzCalibration_cube_prusa.gcode

    Line 567 is where it finishes the infill before it starts the perimeter that has the lowest zit in my picture. I think this is one of the files where I took it back to basics with 1mm retraction, no extra length on restart, and PrusaSlicer controls the wipe distance (it's exactly how long it takes to retract filament). I did have PA turned up to 0.1 though.


    This file does it as well. Slightly different settings, and from Simplify3d, but starting from line 645 is where it begins the perimeter that will lead to a zit at the same location as the other file.

  • Thanks for the files. Looking at the first one, I can see some very curious gcode. It's finishing the gyroid infill, doing a retraction of just 0.05mm, zeroing the extruder, doing some travel and then un-retracting a distance of 1mm. So it's effectively extruding 1mm of filament at the start of the inner wall (OK, a little will be lost during the travel). That doesn't look right to me.
    In some other places the retraction distance before travel looks more sensible but it seems to consistently only use 0.05 mm of retraction for a travel that follows infill. So I would say either the slicer is badly configured or there's a bug related to insufficient retraction following infill?

  • Sorry, I forgot to post the image showing an example of the retraction/travel/un-retraction following infill.


  • I think that phenomenon comes from the previous few lines of GCode. It's doing the retraction during the wipe movement. See here:

    G1 X8.144 Y-9.063 E9.81967
    G1 F14400
    G1 X8.282 Y-8.690 E9.77246
    G1 X8.346 Y-8.253 E9.72004
    G1 X8.322 Y-7.816 E9.66810
    G1 X8.274 Y-7.598 E9.64155
    G1 X8.198 Y-7.379 E9.61408
    G1 X8.088 Y-7.161 E9.58504
    G1 X7.940 Y-6.943 E9.55371
    G1 X7.754 Y-6.724 E9.51969
    G1 X7.125 Y-6.069 E9.41183
    G1 X6.958 Y-5.851 E9.37915
    G1 X6.826 Y-5.632 E9.34890
    G1 X6.729 Y-5.414 E9.32049
    G1 X6.660 Y-5.195 E9.29331
    G1 X6.596 Y-4.759 E9.24089
    G1 X6.620 Y-4.322 E9.18894
    G1 X6.668 Y-4.104 E9.16240
    G1 X6.744 Y-3.885 E9.13493
    G1 X6.854 Y-3.667 E9.10589
    G1 X7.002 Y-3.448 E9.07456
    G1 X7.188 Y-3.230 E9.04054
    G1 X7.817 Y-2.575 E8.93268
    G1 X7.984 Y-2.356 E8.90000
    G1 X8.116 Y-2.138 E8.86974
    G1 X8.116 Y-2.137 E8.86967
    G1 E8.81967 F1800.00000

    Extrusion goes from 9.81967 to 8.81967.

    From the G-Code itself, I don't see anything that would cause the zit.

    Edit: For the record, I think I'm going through the exact same thing as this fellow:

  • Silly me, you're absolutely right. Sorry, I missed that. However, that begs the question, do you still see the same artifacts if you turn off the wipe feature?

  • @burtoogle

    Yup! Turned off wipe, turned off retraction, tried MASSIVE wipes and MASSIVE retractions, it doesn't change much. Turning PA up had the most effect so far but it seems crazy to have a direct drive at S0.1 when the recommended is S0.05 or lower. Even then, these zits are still there.

    Is it possible that this is just a limitation of FDM? I've seen from a couple of posts on Reddit and even here that Z-seams are just a fact of life with FDM and that turning a setting on might fix it now but will cause problems later (coast in this case?).

  • @shensmobile There is always a visible seam with FDM but not big zits like you have.

    When a new line is started the un-retract needs to advance the filament enough to have the correct pressure for the flow rate of the new line and it has to do it fast enough that the amount of filament extruded while stationary is just enough to make the start of the line.

    If you have just done a fast infill line and you retract and then move to a slow outline the un-retract needs to be shorter because less pressure is needed for the slower flow rate.

    I am not familiar with modern pressure advance, etc. I simply print with constant flow rate for infill and outlines. Since infill is slightly bigger cross section I actually do infill a little slower than outlines. That means that my retract and un-retract are always the same distance because I always need the same pressure. Then it is just a matter of making the un-retract fast enough to not make a blob.

    You probably need to let the firmware manage the retract and un-retract rather than the slicer if the slicer is using constant distances regardless of the flow rate.

  • @shensmobile said in Blobbing/zitting that wipe/retract won't fix?:

    Turning PA up had the most effect so far but it seems crazy to have a direct drive at S0.1 when the recommended is S0.05 or lower.

    Every hot end and printer configuration is different. No disrespect to @dc42 intended but that figure of 0.05 in the Wiki comes from his own experience when he first introduced PA, on his own machine. It isn't based on extensive user experiences with different machines and configurations.

    I've done a lot of testing with PA. On my machine which has short (200mm or so) Bowden tubes, the best setting for me is between 0.4 and 0.5 depending on filament type and some other factors. Basically anything that affects filament viscosity, will have an effect on what pressure advance you need to use. Nozzle diameter too is very important - a larger nozzle needs less that a smaller one. But, once you have found a value that works with a particular nozzle/filament/temperature combination, that value will work across all speeds up to 300 mm /sec print speed (and yes I do mean 300mm/sec and yes I have demonstrated that but you do need multiple extruders and multiple melt chambers).

    So my advice would be to ignore the suggested Wiki values and find what works best for you on your machine. You may end with 0.2 or even higher. You will almost definitely need to use less retraction once you have found the best PA value.

  • @nophead I definitely need to look into firmware retract. It makes sense that the printer should adjust retract based on speed and flow rate. I am curious about why un-retracting is what prevents blobs. When you're un-retracting, aren't you adding material into the extruder, increasing pressure? In that case, I would think that unretracting too early/quickly is what causes blobs. I'm trying to wrap my head around the fundamental principals here at play.

    And yes, my slicer is definitely doing the same amount of retract/unretract no matter what is actually being done. Pressure Advance is supposed to account for this, by adjusting flow rate based on extruder changes, but it actually increases pressure at the start of lines.

    @deckingman I'll try higher PA for sure today then. I accidentally went to 0.4 (thinking it was 0.04) and the Titan just made clicking noises all print, so that's probably too much, but I'll definitely try some larger values than 0.1 and see if it improves these zits.

    Thanks for your help everyone

  • @shensmobile said in Blobbing/zitting that wipe/retract won't fix?:

    ..............I accidentally went to 0.4 (thinking it was 0.04) and the Titan just made clicking noises all print, ..........................

    That could be significant - not the highish PA, but the fact that the Titan made clicking noises when tried it. It shouldn't so are you sure you haven't got a shot bearing or cracked extruder cover?

  • @shensmobile said in Blobbing/zitting that wipe/retract won't fix?:

    When you're un-retracting, aren't you adding material into the extruder, increasing pressure? In that case, I would think that unretracting too early/quickly is what causes blobs.

    When you retract at the end of the last line it should be far enough to drop the pressure to zero so that you can move without leaving a string. Then at the start of the new run you need to un-retract enough to generate the correct pressure for the next line, so that as you move off the filament is flowing at the rate that matches the start speed.

    During the time it takes to un-retract some filament will flow proportional to the integral of the pressure as it ramps up from zero. You need to un-retract fast enough that integral is only enough plastic to go from the nozzle to the layer below and be as wide as the filament path. If you un-retract too far, or too slowly you would get a blob.

  • Here are the settings I use for my Titan Aero. The seam is unavoidable, but yours is rather noticeable.

    Here's what I've found to work well with my Aero. The seam is barely noticeable. Usually 2 or 3 perimeters, inside first. No wipe or coasting. Retract on layer change, retract before outer wall both enabled. Minimum travel before retraction is 2mm.

    M201 X6000 Y6000 Z60 E4000   	; Set maximum accelerations (mm/s^2)
    M203 X15000 Y15000 Z600 E8000  ; Set maximum speeds (mm/min)
    M204 P1000 T4000	; Set printing and travel accelerations
    M566 X900 Y900 Z60 E4000 ; Set maximum instantaneous speed changes (mm/min) (Jerk)
    M572 D0 S0.035 ; PRESSURE ADVANCE
    M207 S0.85 R-0.000 F3200 T2600 Z0.0 ; Firmware Retraction

    I think the big difference between our settings is the extruder jerk and acceleration.

  • @deckingman Just put new bearings in and the Titan Aero has the metal cover, so I don't think so to either of those. I think the clicking was because with a PA of 0.4 on such a small object, during infill, it would basically be retracting and unretracting constantly at every zig zag.

    @nophead Ah that makes a lot of sense. Calculus was a clever way of explaining that concept. I'm gonna try increasing my jerk/accel again and increase the retract speeds

    @Phaedrux thank you so much for your settings. I'm gonna try those next. Is everyone using firmware retraction? I presume that firmware retraction means that you aren't able to do retraction during wipes? Also, sorry for the dumb question, but what's the advantage of firmware retraction? In another post, dc42 seemed to confirm that firmware retraction is basically the same as issuing a G1 E# F# command, which is what slicing software already builds in. Does the duet do some other calculations with firmware retraction to improve print quality?

    Will report back after trying all of these suggestions. I may stick to a PA of 0.05 for now and see if the increased jerk/accel for extruder, as well as increased retract speeds, will help.

  • PA at 0.15 with extruder jerk/accel/retraction speed increased to @Phaedrux settings:

    Honestly doesn't look any different than my other prints. Watching this print though, I think that my original hypothesis was either incorrect or has been fixed with the new settings. The start of the inner perimeter no longer has a large blub at the beginning; however, when it finishes the inner perimeter and moves to the outer perimeter, it almost feels like it's oozing a bit during the tiny, fraction of a mm travel and it creates a large "extrusion" between the two layers that the extruder runs into at the end of the outer perimeter.

    I'm running a PrusaSlicer generated file now with my old retraction/PA settings, except I noticed that PrusaSlicer is doing the external perimeters slower than I'm telling it to. Watching it print slowly, I see that it's producing the tiniest little "extra extrusion" when it goes from inner perimeter to outer perimeter, probably because it doesn't have as much pressure built up in the nozzle.

  • Firmware retraction can be adjusted on the fly, so it's useful during the tuning phase. There are a few other situations where firmware retraction is required, like mixing hotends to be able to retract all of the extruders at once. Other than that there isn't much difference than setting the slicer to do it. the slicer can also control some wipe and coast features which may be beneficial, though pressure advance is usually enough to make those unnecessary. Simplify3D can be configured to use firmware retraction, a quick google should find the steps.

    Can you post a .3mf from PrusaSlicer so we can see what the entire printer setup and print settings are?

  • @phaedrux Sorry it's taken so long for me to get back to you. I went on vacation shortly after your last message.

    I've been tinkering all morning, even designed a new "calibration" print to figure out what's the optimal PA value to use, and... yeah still nothing. The biggest improvement is still going from Simplify3d to PrusaSlicer, and it's because PrusaSlicer has "coast" sort of built in. That is, on the outer perimeter, it stops before it completes the loop to account for the extrusion width at the start and end of the perimeter.


    I simulated this in Simplify3d by adding 0.5mm coast and it helps a lot there too.

    Here's the best print I've gotten so far today, using PrusaSlicer:
    0_1565140353444_2019-08-06 17.48.15.jpg

    I know there's quite a bit of ringing, I have to turn down the jerk on XY and that'll fix that right up (I copied your settings you posted blindly, whoops). The zits/seams on the corners are much better, but they're still there.

    And here's the .3mf for this print job:

    I've gone through what it could possibly be, logically, and I'm stumped. I'm starting to wonder if my tension isn't high enough on my idler and PA isn't able to jerk the filament up fast enough, or if it's just this filament. I am using the most garbage PLA I have right now to run these tests, I wonder how much of an impact it has. I'm printing at a pretty low temp (180c) so retraction/PA should have more of an impact on blobs/zits, but it doesn't seem to change much if I print hotter. I'm going a little nutty-bananas now 😞

  • administrators

    Coast-to-end is a poor substitute for pressure advance.

    Small blobs/zits are cause by insufficient retraction. My experience is that without pressure advance and with ordinary PTFE tubing and 1.75mm PLA, the retraction length need to be a little less than 1% of the Bowden tube length. With the correct pressure advance and with Capricorn tubing, it can be reduced.

  • @dc42 100% agreed, I hate that I'm using coast. That's why I don't want to use it, although in PrusaSlicer's case, it's a tiny coast just to account for the thickness of the line that gets extruded, so I can see why they included it by default.

    I have 1mm of retraction right now, and e3d recommends less than 1.5mm for retraction (I believe). Any more than 2mm and I get jams/clogging. I just went through that brutal experience before my vacation. It's a direct drive, so no bowden tube here. I should be able to get away with small retraction.

    I'm going to try with no wipe and see if PA can do its job more effectively. That's the only variable I haven't eliminated.

    Update: 0_1565207113208_2019-08-07 12.44.07.jpg

    Disabled wipe, upped retraction to 1.5mm. Ignoring the stringing and the gaps (this filament pops/fizzes a bunch, I think it has a ton of moisture in it, it's almost 6 years old), I think this is the best looking blobbing so far. Now what do I try from here?


Looks like your connection to Duet3D was lost, please wait while we try to reconnect.