4
$\begingroup$

Lately I've been having a lot of trouble with printing overhangs in TPU. The failures are very geometry/toolpath dependent, entirely reproducible in their location (same gcode gives same failures each time it's printed), and seem to occur where there is a convex (model-inward) curve over an overhang of more than 40° or so. My original test case for this was frog model with more severe overhang, but I since made a simplified conical overhang test piece at only 50° that's faster to reprint and shows the issue:

Two upside-down 3D printed frogs

The frog print on the left is pretty much a complete failure. The one on the right is mostly a success, but shows some moderate flaws around one side (left, as viewed) and the front of the belly, and even slight flaws (hard to see in pic) around the other side of the belly. It was done using some of the mitigations described below.

3 elongated conical test pieces - convex hull of two translations of a truncated cone with 8 mm diameter at bottom, rising 50°, turned upside down to show overhang print problems

The test piece on the left is nearly perfect. The other two show varying degrees of the overhang problem I'm experiencing, and make it easier to see what exactly is happening than with the frog. The extrusion seems to bunch up, then get stretched out too thin, in an oscillating pattern that builds up and shifts with each layer.

I've tried printing overhangs significantly slower and reducing speed and acceleration quite a bit on the outer walls and even on the inner walls too, and none of that seems to help. Nor does increasing the number of walls or the wall line thickness help. However a number of things do seem to help, and it takes two or more of these in combination to get a mostly acceptable result at 0.2 mm layer height:

  • Increasing flow to a level where the extruded mass is the expected amount (this makes wall dimensions excess so I usually don't do it)
  • Taking the infill up to 20% or higher and using an infill pattern where the infill meets the walls frequently (gyroid 20% or more seems best; I'm trying not to do this because I want to final objects to be more flexible in some cases)
  • Increasing Klipper square corner velocity to 30+ so that the entire approximated curves are traversed at constant speed with no acceleration/deceleration
  • Increasing Klipper PA smooth time window from 10ms to 40ms

Generally I'm able to choose some subset of the above that works, but it ends up being a matter of per-model trial-and-error, wasting lots of time and materials if the settings don't work, so I'd like to figure out what's really going on here so I can make predictions about what will work and ideally get a base configuration that "always" works. Also, I still don't have this working at thinner layer heights, which I'd like to be able to use for better detail, as TPU is flow-bound not motion-bound and I could in theory print much higher detail at the same speed with thinner layers.

My best guess at the root cause so far is that the overhanging walls simply do not have enough rigidity to avoid being displaced by the toolhead attempting to extrude against them, so any oscillation of the toolhead velocity or extrusion pressure causes them to deform in the pattern of the oscillation. Does this seem plausible, and if so, what might some other possible mitigations be?

For completeness, my printer is a heavily modified Ender 3 with (remote) direct drive extruder and fairly extreme cooling, but turning the cooling way down or even off (assuming sufficient layer time for passive cooling) does not seem to affect the behavior here significantly. So I think the question is mostly printer-agnostic and is really a matter of material behavior and slicing.

$\endgroup$

3 Answers 3

2
$\begingroup$

The root cause was a badly worn nozzle.

The problem described in this question gradually became more and more severe and began affecting PLA and PET prints with thin layers too. Eventually I traced it to the CHT nozzle, by swapping in a 50¢ plain brass nozzle, and found someone with otherwise very similar extrusion system to test on their CHT and confirm that the prints giving me problems came out fine for them. Replacing my CHT with a new one has now made it all better. My old one was roughly 0.16 mm shorter (by difference in Z offset) presumably from wear, and to look at the orifice, it was probably nearly 0.8 mm wide. If so, it was like trying to print 0.4 mm lines with an 0.8 mm nozzle, which is expected to fail moderately to badly, especially on overhangs. And this explains why increasing flow (or, as I later tried and had success with, using wider line widths) partly succeeded.

I did still have a minor variant of the problem with TPU after switching to the new nozzle, before recalibrating pressure advance, which I'd calibrated down somewhat before (due to less pressure with an excessively wide orifice). After recalibrating, the problem seems to be entirely gone.

I still don't want to discount the factors I found before. It seems very plausible that this could come back whenever TPU is being printed without a firm surface to extrude against. In my case, the primary mechanism of that seems to have been a nozzle whose opening was excessively wide from wear, but the same should still happen if the wall is wobbling from lack of reinforcement.

$\endgroup$
1
$\begingroup$

As best I can tell, the root cause really is that the affected walls are insufficiently rigid to build upon. In the frog model where even the "good" print was not perfect, the gyroid infill in that region, even when dense, was running parallel to the wall such that it did not lend as much rigidity as it otherwise would. The commonality between all the mitigations I looked at so far was that they either improve the rigidity of the wall or decrease the forces on the wall that might displace it when trying to print on top of it.

I'm going to focus on increasing the rigidity, because decreasing forces does not sound like it can be done consistently, independent of model geometry, at least not without going really slow and having fans extremely low or off. (Even though fan did not seem to be relevant to my test model, it absolutely will be if the model geometry happens to act as a fan duct.)

First of all, with sloped outer surfaces, the thickness of material making up the surface is not the wall thickness (0.8 mm with two 0.4 mm walls), because you have to measure it perpendicular to the surface. At 45°, for example, it's scaled down by the square root of two (so about 71%), and gets worse as the angle gets more severe. Even 95A TPU is extremely flimsy at that sort of thickness.

The slic3r family (including PrusaSlicer, SuperSlicer) has an option to mitigate this called "ensure vertical shell thickness". Cura, which I'm using, doesn't, but you can ensure the same thing by increasing the number of "bottom layers" (or "top layers" for an inward-leaning surface, but those are much less difficult to print because the infill supports them) and ensuring that skin preshrink ("Skin Removal Width") is not set so high as to remove the "bottom layers" that come into existence along outward sloped walls. The default of full wall width will remove it for all but the most severe overhangs, defeating the purpose, so it needs to be set lower. I use a setting of 0.39 mm, just below the line width, already for unrelated reasons, and that worked fine.

Now, on top of that, Cura defaults to printing one wall around skin ("Extra Skin Wall Count"), meaning most of the skin added as "bottom layers" would come out as a loop, rather than zigzag line fill. This is great when you want to print rigid materials fast, but also defeats the purpose, as an extra extrusion path alongside the 2 TPU walls already there does almost nothing to make them more rigid. You actually want the zigzag fill, alternating directions with each layer, as it adds a lot of rigidity you otherwise can't get with TPU. So "Extra Skin Wall Count" should be set to 0 here.

After making these changes, and using 5 bottom layers, I'm able to get successful prints of my test piece and the frog test with no other mitigations as long as I have the fan limited (using 30%, but my 30% is probably stronger than most printers' 100%, so likely not an issue for most folks). Using heavier flow further improves wall rigidity and makes it likely that fan doesn't matter, but it doesn't seem to be necessary. Using heavier infill is also not necessary; I can get nice squishy parts with only 10% gyroid.

One nice feature modern Cura has is separate settings for "bottom layers" and "initial bottom layers", so I can keep the latter lower and not waste material building on the bed surface while still getting strong diagonal walls and bottoms over supports.

TL;DR

Strengthen sloped walls by doing the following:

  • Increase number of bottom layers to at least 4 or 5
  • Ensure skin removal isn't removing skin along overhanging walls (reduce to below 0.4 mm)
  • Disable extra skin outlines
$\endgroup$
2
  • 1
    $\begingroup$ And maybe printing walls inside out, so outer wall laat. $\endgroup$
    – 0scar
    Commented Jul 17, 2022 at 20:02
  • $\begingroup$ @0scar: There are multiple reasons I don't do that. Originally the main one was that I found it greatly increased corner curling, at least for other materials, probably due to the sudden change in tension when pulling the outer wall around a sharp corner in an already-laid inner wall. I think I tried this once before with TPU, figuring it might behave differently, but didn't have any luck getting improvements with it and had worse results in some places. $\endgroup$ Commented Jul 17, 2022 at 21:48
0
$\begingroup$

I fixed my overhangs by increasing the nozzle temp. You need to heat it up enough that the elasticity is lost which makes it misbehave on overhangs and curl up.

$\endgroup$
1
  • $\begingroup$ I generally print TPU around 240 °C, and much higher than that makes it come out like water, so I don't think this is the problem. See the other answers. $\endgroup$ Commented Sep 27, 2022 at 18:14

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .