nozzle wipe
-
@Phaedrux said in nozzle wipe:
@arhi I've been using the same hardened steel nozzle heavily for about 2 years now and I've never managed to get it that messy.
I have bunch of printers with very clean nozzles too, this is the nozzle I used to "break this printer in", to get extrusion, heights, sensors etc etc dialed in so there was plowing trough overextruded filament more than once When the printer get dialed in usually nozzle and heatblock only slowly turn black from collecting that abs oil that condenses from abs fumes, or in case of pla/petg they stay super clean
-
Fairly heavily used nozzle, wiped over the strip thingie above for all its life.
-
Much, MUCH older, same wipe for life, this one really needs to be replaced (it was, a few min later) because of the scratching on the "ironing surface" around the actual hole.
-
@Danal after few kg of ABS no matter how I wipe them they never look like that, they exposed parts are all "black" from the ABS oil/vapors
-
Here's a conditional gcode nozzle wipe script using a straight piece of silicone mounted on the back left corner of the frame (no Z coordinate). There might be a cleaner way but couldn't think of one without a modulus or "is even" operator.
G1 X-12 Y332 F24000 ; rapid to inital point outside the wipe strip while true if iterations = 0 || iterations = 2 || iterations = 4 || iterations = 6 G1 X-4 Y{332 - iterations * 2} F1200 G400 else G1 X-12 Y{332 - iterations * 2} F1200 G400 if iterations = 6 break
-
@arhi said in nozzle wipe:
@Danal after few kg of ABS no matter how I wipe them they never look like that, they exposed parts are all "black" from the ABS oil/vapors
Yeah, those were all PLA, maybe a little PETG now and then. I have literally printed < 1 kilo of ABS in the last five years.
-
@Danal I print mostly ABS on most my printers. This nozzle on the image (E3D-X 0.3 ) printed maybe 100g of ABS so that's all PLA and PETG
-
conclusion - this silicone sponge, while totally cool for kitchen, disaster here .. total disaster not working at all really ..
I recently removed the blue e3d sock for this black noname sock as this black one is imo better (thicker, harder, stays better on ..) ... and since I'm on white PETG attm it's very visible, I noticed everything is white under, cleaned it manually, wipe, white again ... darn bristles on this sponge are so soft that when nozzle come on to clean the ooze instead of cutting the ooze off it smears the ooze all over the sock and nozzle, again and again and again ... and no matter of swiping head over that sponge helps ... then I tried it manually, to clean nozzle by hand using a sponge and it does not work. Figuring now that's what I was supposed to try before I mounted the sponge but life. If it wasn't for you guys telling me how ugly that nozzle is I might allow this to continue longer
I managed to find original silicone sheet I designed that wiper for. Thin 0.5mm one, I doubled it up and put there. It's nothing special, just works .. I'll upload new script later, tweaking it up, getting inspiration from @mwolter
-
if !move.axes[0].homed || !move.axes[1].homed echo "X and Y axes not homed, aborting the wipe" M99 if state.currentTool < 0 echo "No tool loaded, aborting the wipe" M99 if heat.heaters[tools[state.currentTool].heaters[0]].current < 200 echo "Extruder too cold, no point wiping, aborting the wipe" M99 ; Drop all motor currents down M400 M913 X30 Y30 Z25 ; relative extruder (if I understand how push/pop work in RRF ; this should be returned to what it was on exit from this macro) M83 while true ; go around the stripe G0 X-110 Y40 F9000 G0 X-135 Y40 F9000 G0 X-135 Y{100 - iterations * 3} F9000 ; wipe G0 X-120 Y{100 - iterations * 5} F6000 if iterations == 6 G1 E-3 F3000 if iterations == 8 break ; go to park position G0 X-135 Y40 F9000 ; Return all motor currents to 100% M400 M913 X100 Y100 Z100
I need to clean from the same side always cause the silicone is not stiff enough and I didn't want to cut it too close to the petg holder but looks like it works now
-
actually turned it around so that the "bend" of the .5mm silicone is what i brush on .. stiff enough so I can go both directions ... this is great
if !move.axes[0].homed || !move.axes[1].homed echo "X and Y axes not homed, aborting the wipe" M99 if state.currentTool < 0 echo "No tool loaded, aborting the wipe" M99 if heat.heaters[tools[state.currentTool].heaters[0]].current < 200 echo "Extruder too cold, no point wiping, aborting the wipe" M99 ; Drop all motor currents down M400 M913 X30 Y30 Z25 ; relative extruder move M83 ; X-135, Y100 ; X-120, Y60 G0 X-110 Y40 F9000 G0 X-135 Y40 F9000 G0 X-135 Y100 F9000 while true G0 X-135 Y{100 - iterations * 3} F9000 G0 X-115 Y{100 - iterations * 5} F6000 if iterations == 6 G1 E-3 F3000 if iterations == 8 break ; go to park position G0 X-135 Y40 F9000 ; Return all motor currents to 100% M400 M913 X100 Y100 Z100
What I just figured out is that I have this ~1cm of space on the left side of the bed for the whole Y length and that it would be way smarter to use a stiff piece (like @deckingman made taht milled channel) of 1x1cm square "rod" and attach it to front left and back left frame so I have stiff wiper along the whole depth of the printer... need to figure out how to do it, none of my CNC machines have working range of 30cm, maybe do it in 2 passes or just pay someone to do it for me after things go back to normal. Anyhow, this works, yeeey and this new programable g-code is awesome
-
@arhi For info, I'm currently working on a better "bucket". What I mean by that is with a mixing hot end, I sometimes have to purge as well as wipe. That purged plastic has to be collected, otherwise it would end up getting onto the belt that drives the lead screws. My current "bucket" is too shallow and I have to empty it more often than I would like.
-
@deckingman said in nozzle wipe:
@arhi For info, I'm currently working on a better "bucket". What I mean by that is with a mixing hot end, I sometimes have to purge as well as wipe. That purged plastic has to be collected, otherwise it would end up getting onto the belt that drives the lead screws. My current "bucket" is too shallow and I have to empty it more often than I would like.
Conditional g code on the horizon.... If bucket.purge == full then empty.
-
@mwolter said in nozzle wipe:
There might be a cleaner way but couldn't think of one without a modulus or "is even" operator.
There is a mod(a,b) function but I forgot to document it at https://duet3d.dozuki.com/Wiki/GCode_Meta_Commands#Section_Functions. I'll fix that now.
-
@dc42 said in nozzle wipe:
There is a mod(a,b) function but I forgot to document it at https://duet3d.dozuki.com/Wiki/GCode_Meta_Commands#Section_Functions. I'll fix that now.
great
how come you skipped the % operator?
-
Simplified the conditional script a little with the use of mod (thanks @dc42) and added comments. Might help those interested in learning conditional gcode.
Overview: The code below moves the nozzle to the right and left of the nozzle wiper blade. Each move also moves the nozzle forward 2mm. Mod is short for modulus and returns the remainder. For instance, mod(10,4) returns 5. 10 / 4 = 2.5 or .5
G1 X-12 Y332 F24000 ; rapid to inital point outside the wipe strip while true ; continually run everything within this while loop if mod(iterations,2) = 0 ; if iterations is an even number G1 X-4 Y{332 - iterations * 2} F1200 ; move to right side of wiper and forward 2 * iterations else ; if the if condition above is not met G1 X-12 Y{332 - iterations * 2} ; move to left side of wiper and forward 2 * iterations if iterations = 6 ; if this is the seventh time running the while loop (0 is always the first iteration) break ; exit the while loop
-
For completeness, here is my non-conditional gcode nozzle wipe macro........
G90; set to absolute coordinates
G1 X50 Y363 F12000; move quickly to rear left
G1 X80 Y352 F900; slowly right 30, forward 11
G1 X110 Y363; slowly right another 30 and back 11
G1 X140 Y352; slowly right another 30 and forward 11
G1 X170 Y363; back and right -
Looking at the video how efficient @deckingman cleanup is I think we'r moving nozzle over the silicone this many times just 'cause it's easy in the loop and not 'cause it's needed :D. It's fun for sure.
-
@deckingman question, does these look like your stripe?
https://www.aliexpress.com/item/10000000975575.html
https://www.aliexpress.com/item/32953108608.html
https://www.aliexpress.com/item/32947574656.htmlThey are silicone stripe in different dimensions but "high temperature resistant silicone rubber foam sealing strips". The "foam" part is weird never seen silicone foam. Will this maybe be too soft? Looking at your video, your stripe seem to be rather hard
-
@arhi That stuff looks a bit spongy. Definitely not like the stuff I used.
EdIt ....but it might work - dunno.
-
@arhi I can't be sure but the stuff I used was more like this https://www.ebay.co.uk/itm/SOLID-SILICONE-RUBBER-STRIPS-3MMTHK-X-5MTRS-LONG-WHITE-60-SHORE-FDA-GRADE/331230136018?hash=item4d1edac6d2mM0icdmB-aIKG93gQRG6wvw. The listing is for 3mm thick (which is what I think I used), but the picture looks like 1mm thick. But it's definitely "solid".