Why extra bits of filament are extruded when printing the first few layers?
Hi, I installed a brand new hotend on my i3MK3S+. I noticed that just like the old one, when the printer was drawing an outline for the print, often extra bits are extruded. For example, when it is supposed to draw a straight line, it becomes ------O------- where O is a dot of extra filament. Such extra filament got pushed around by the nozzle and sometimes formed burnt stuffs along the outer edge of the prints or inner edge of big holes. Sometimes this also happened when other layers were printed. What is happening? As it is brand new, leakage and old nozzle are eliminated as the reason. How can we prevent this from happening?
A photo would definitely help.
Do you have a good live-Z? This is a good way to check if you haven't used it before:
I will try to take it next time. Yes, I had a good live-Z. The surface was butter smooth.
Also - turn on NORMAL printing rather than STEALTH. This will highlight if there is a motion problem.
I am at Quality. Never used Stealth.
Stealth has nothing to do with "quality" ... as far as I know. It is all about motor control currents and driver frequencies. You select STEALTH or NORMAL in the printer menus.
I am not sure if we are talking about the same thing. Under Print settings on the right, it says that I am under Quality. There is a Speed and a Draft option but no Stealth. Under Printer Settings, Dependencies, it says "default print profile: 0.15mm Quality @MK3".
Under SETTINGS, there should be a MODE option that has NORMAL and STEALTH - and below that another option for CRASH DETECTION on or off. You want crash detection on to see whether the printer is stalling as the extruder moves. Once you've verified you aren't having stalls causing the dots, then you can go back to stealth to quiet the printer down. On the other hand, you may never have enabled stealth mode and crash detection is enabled. Either way - good to know if it is or isn't enabled.
Again - this is a setting on the printer, not in the Slicer.
Probably just material oozing from the nozzle. The Mini now heats up in a two stage process. First to 160 degrees, at which it performs the bed leveling, then to target temperature. The Mk3S's startup gcode takes it straight to target temperature at which filament can ooze from the nozzle and result in artifacts such as the ones you described.
I'm using the following custom start gcode (under Printer Settings/Custom-G-code/Start G-code), adapted from @bobstro's custom code:
; PrusaSlicer start gcode for Prusa i3 Mk3S
; Last updated 20210129 - RF - Adopted from Bob George
M862.3 P "[printer_model]" ; printer model check
M862.1 P[nozzle_diameter] ; nozzle diameter check
M115 U3.9.3 ; tell printer latest fw version
; Set coordinate modes
G90 ; use absolute coordinates
M83 ; extruder relative mode
; Reset speed and extrusion rates
M200 D0 ; disable volumetric e
M220 S100 ; reset speed
; Set initial warmup temps
M104 S160 ; set extruder temp to 160 to prevent oozing
M140 S[first_layer_bed_temperature] ; set bed temp
M109 S160 ; wait for extruder no-ooze warmup temp before mesh bed leveling, cool hot PINDA
G28 W ; home all without mesh bed level
G80 ; mesh bed leveling
; Final warmup routine
G0 Z10; Raise nozzle to avoid denting bed while nozzle heats
M140 S[first_layer_bed_temperature] ; set bed final temp
M104 S[first_layer_temperature] ; set extruder final temp
M109 S[first_layer_temperature] ; wait for extruder final temp
M190 S[first_layer_bed_temperature] ; wait for bed final temp
; Prime line
G0 Z0.15 ; Restore nozzle position - (thanks tim.m30)
G92 E0.0 ; reset extrusion distance
G1 Y-3.0 F1000.0 ; go outside print area
G1 E2 F1000 ; de-retract and push ooze
G1 X20.0 E6 F1000.0 ; fat 20mm intro line @ 0.30
G1 X60.0 E3.2 F1000.0 ; thin +40mm intro line @ 0.08
G1 X100.0 E6 F1000.0 ; fat +40mm intro line @ 0.15
G1 E-0.8 F3000; retract to avoid stringing
G1 X99.5 E0 F1000.0 ; -0.5mm wipe action to avoid string
G1 X110.0 E0 F1000.0 ; +10mm wipe action
G1 E0.6 F1500; de-retract
G92 E0.0 ; reset extrusion distance
; end mods
It mimics the two-stage process employed by the Mini, to avoid oozing.
Also, as the nozzle is heating up, look for any filament oozing from the nozzle and pull it away with needle-nosed pliers or tweezers.
Thanks. I don't know anything about gcode. Do I just open the original one from a text editor and then copy and paste the one you posted at the beginning of mine?
That's one way of doing it.
My recommendation is to go into Prusaslicer, switch to Expert mode in the upper right corner.
Now when you go to Printer Settings, a new option Custom G-code is available in the list on the left. When you click on it, you see Start G-code on the left. Replace what's in that field with the startup code I posted before.
Now, to make this permanent, click on the little floppy disk icon to the right of the dropdown menu with the available printer profiles. Then give this new preset a meaningful name, and it will be saved as a User Preset you can now select as a printer profile for future projects.
Thanks. I cannot find the floppy disk icon. There is a wheel-like icon instead. Are they the same?
When I placed the cursor on top of it, it says "Click to edit present". It has four options: Edit preset, Edit physical printer, Delete physical printer, and Add physical printer. Which option should I use?
You can get there by switching from the Plater tab to the Printer Settings tab (or Ctrl-4), or in the Plater view click the gear icon next to your currently selected Printer profile and select Edit preset.
Found it. Thanks
Hi, I just tried a print with the replace gcode. It looks like the printer raised to the target temperature of 230c. Then, moved over those 49 different points across the build plate. Next, it drew the prime line at the front left. Waited there and until temperature dropped to 160c. Then, moved to those 49 points over the build plate again. Next, it moved back to home position. Wait for the temperature to rise to 230c, redraw a prime line on top of the one it made. Then, started making the actual print. Is that correct?
No, that's not okay. This is what would happen if you appended the new startup code to the old code instead of replacing the old code completely. Should only do the bed leveling and prime line once.
I highlighted the original one and deleted. Then, copied and pasted the code you posted. I will re-do it again. Thanks.
Just double checked. Under Start G-code, it has the same code you posted. What else could have gone wrong? I saved it under a new name. It is currently selected with a green flag before the name.
[insert puzzled looking emoji here]
There's only one G80 gcode in there so I don't see how in the world it would do two mesh levelings....
Okay, if you open the Gcode in a text editor and check the beginning, it should only have my code, and only one G80 in the whole file.
Or, you can save the project as a 3mf file, zip it, and upload it here. This way we have all the settings and can take a look. Not sure though I'll be able to do much today as I'm heading out of town for the weekend.