prusa3d / PrusaSlicer

G-code generator for 3D printers (RepRap, Makerbot, Ultimaker etc.)
https://www.prusa3d.com/prusaslicer/
GNU Affero General Public License v3.0
7.79k stars 1.94k forks source link

Simultaneously over- and under-extruding on topmost layer causing holes and bulging at the same time #4799

Closed zeus86 closed 4 years ago

zeus86 commented 4 years ago

Version

PrusaSlicer-2.2.0+linux-x64-202003211856.AppImage

Operating system type + version

Ubuntu 18.04 x86_64

3D printer brand / version + firmware version (if known)

custom, mostly a kossel (deltabot)

Behavior

This one is not easy to describe, so I will add some reference pictures. the test-piece is a ~60x80x2mm plate with some holes and some tabs on the top surface, nothing special (created from OpenSCAD, so i am pretty sure it has no defects). one picture is from another version of the part with some more holes, but basically the same part. Don't mind the markings, I was playing around with parameters.

On smaller Objects, like the 20x20mm calibration cube this problem is not as pronounced like on a big, flat surface, but still there. On complex objects like a benchy the final print suffers from some layers, which gets squished out to the side leaving a "layer-wide, consecutive blob" on the outer perimeter.

To me this looks like "linear advance going very wrong". While i tested out LIN_ADVANCE, it does not work quite well on bowden setups, so I disabled it again, I just confirmed this, my printer does not know about "M900", so LIN_ADVANCE is off.

Steps needed to reproduce the problem

unsure how to reproduce

What was tested

I tested at reasonable speeds <50mm/s and fiddled around with extrusion multiplier (0.9 to 1.05), extrusion width (0.4 to 0.5, @ .4 nozzle) and temperature (190-210 °C, PLA) lowering the extrusion multiplier did not result in any better parts, but the surface "sags" more into the part, making the underlying infill more pronounced (stars, 20%) (best to described as "like a stepped pillow"). lowering filament diameter to 1.70, because it is really off at some points (it is a leftover spool i had, quite old now, but this should not be that big of a deal. anyways I started testing with filament-diameter of 1.75, which gave virtually the same results).

Expected Results

even top surface

Actual Results

jagged and teared top surface, showing signs of over- and under-extrusion as well as repeating patterns of scars along with the infill-direction. Some of the attatched pictures do not look like that bad qualitywise, but believe me, they are. the bulging is on some spots build up more than 0.3mm, so more than one layer height.

Note

Maybe it's worth mentioning, that im not new to 3d-printing at all, neither to deltaprinters. I know, some slic3r-settings are not finetuned yet and some others are fairly conservative (e.g. speeds), because I recently upgraded to new hardware (skr 1.4 pro with TMC 2208 and BTT TFT28). After some years not printing I teared down my old delta and build it up from scratch. Basically it's a kossel with 20x20 extrusions and a heated bed (mk2 with bonded aluminium and buildtak). filament train consists of an e3dv6 and a bondtech-bmg-clone.

Project File (.3MF) where problem occurs

surface-defects.zip

Images for reference

Screenshot_20200925_213541

IMG_20200925_001056 circles: underextrusion squares: bulging

some more pics (yeah i know, potatocam...): IMG_20200925_211328 IMG_20200925_211446 IMG_20200925_211516 IMG_20200925_211607 IMG_20200925_211624 IMG_20200925_211632 IMG_20200925_211639 ^ especially on this one you can see at the tabs, that on the right there is underextrusion and on the center the tap look like as if there is so much matrial packed in there, that it just wants out....

I really know someone knows how to fix this and especially what causes this specific issue.

rtyr commented 4 years ago

I tried it on my custom Kossel (also SKR 1.4, TMC2208, V6) and the result is fine. Only some overall overextrusion, which is expected with your custom filament diameter value. I think it is safe to assume, that the cause of your issues is not in the gcode.

Does it happen with different material than PLA? Your problem can be related to some sort of clogging/heatcreep issues. Partial clog on bowden printer can create both underextrusion and overextrusion at the same time (as the filament is "pressurized" inside the PTFE tube during the clog phase and then rapidly released). You can try the same model with PETG or ABS, which are not prone to heatcreep issues.

20200926_225608_800

zeus86 commented 4 years ago

Oh awesome, you printed my part :-). if you have no further use for it: i designed this as covering for the bottom section of the kossel (if using 20x20 beams with 20mm spacing, i am currently designing some variants with holes for various plugs and lcd-voltagemeters and so on...) If the Problem is not the gcode, are you willing to share your marlin config then for comparison (config and config_adv)? i guess this would bring up the error fastest. I am currently using the 2.0-bugfix-release, but I am not nailed to ultra-fresh features :-).

Anyhow, thank you alot for testing until here.

zeus86 commented 4 years ago

Does it happen with different material than PLA? Your problem can be related to some sort of clogging/heatcreep issues. Partial clog on bowden printer can create both underextrusion and overextrusion at the same time (as the filament is "pressurized" inside the PTFE tube during the clog phase and then rapidly released). You can try the same model with PETG or ABS, which are not prone to heatcreep issues.

...forgot to mention the rest of it: actually i have no other material other than PLA on hand, but i do have other PLAs lying around. i just wanted to use up my old spool while calibrating. I don't assume heatcreep would be an issue, because i currently use a 40mm-noctua-fan (always on, not pwm-regulated with those adapter included), and all the mounting stuff for the fans are printed from PLA also (with my old RAMPS before upgrading, but on the same material). If heatcreep would be an issue, these parts would have been suffered from massive deformation meanwhile, but they do not. I clearly have have some issues with my part cooling (but i currently cannot reliably print upgraded parts for this, because of this isssue here). So best bet would be the firmware, so if you would be willing to share your's (assuming you are using marlin), this would be awesome.

Even if just for historical reference, i'd try to find out the root cause of this issue and describe it here, so that if someone else got this issue, might come on track. because this is, what one shall do in a open-source-minded tinkering-peergroup, right? xD

Thanks in advance

rtyr commented 4 years ago

Just some correction, I have SKR v1.3 (not 1.4). Currently I have TMC2208 only on XYZ and A4988 on the extruder. I had TMC2208 on the extruder as well for some time, without issues. I switched it to A4988 while I did some experiments with the linear advance.

Anyway, here it is (2.0.3-bugfix): marlinconfig.zip

zeus86 commented 4 years ago

I am finally back, and I also got some findings. First of all: thank you @rtyr for sharing your config. It helped me alot to make sure i did not have any drastic errors in my config. One noticeable difference was, that i don't run the TMC2208 in standalone mode, but in UART mode, because they are

Here's what I've done:

First test print:

Looked very promising at first, the described effect was reduced by a fair amount, but far away to be gone, so i looked into the differences apart from the firmware side ad did further tweaks...

Further tuning:

Second test print:

Better than the first, but still the same issue

Further tuning:

After deeper looking into, what could cause "inconsistent extrusion", because this seems to be the underlying problem, i came across one massively overlooked adjustment, and I cannot believe that this was the Problem in the end:

Overtightened Extruder ...yes, exactly that... In my self defense: I use a BMG-Dual-Extruder-Clone, and you cannot really determine how tightened it actually is, because the screw has more or less the same resistance while screwing over almost the whole thread, and it is enclosed also. I loosened it to to point at which it barely grabs, tightened 1/2-3/4 turn and guess what: The Problem is almost gone! (some smaller signs of this effect are still there, but I am pretty sure, that printing hotter, and therefore reducing the nozzle pressure will fix this also)

Lessons learned:

Even if you build up 5+ printers from ground up (and not just kits), which are all working and printing fine with different kinematics, you are not immune to basic overlooks, which are willing to shoot you in the knee..

...so,,,yes, this issue can be closed than, because this issue was not slicer-related...or software-related...just me-related.