Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    nozzle wipe

    Scheduled Pinned Locked Moved
    3D Printing General Chat
    14
    83
    6.0k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • arhiundefined
      arhi @Phaedrux
      last edited by

      @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 🙂

      1 Reply Last reply Reply Quote 0
      • Danalundefined
        Danal
        last edited by

        Fairly heavily used nozzle, wiped over the strip thingie above for all its life.

        2af262e4-b74e-49fb-88f1-08c4ed33ec37-image.png

        Delta / Kossel printer fanatic

        1 Reply Last reply Reply Quote 0
        • Danalundefined
          Danal
          last edited by

          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.

          2d239ad2-b649-44f5-832b-d7b75df96ad4-image.png

          Delta / Kossel printer fanatic

          arhiundefined 1 Reply Last reply Reply Quote 0
          • arhiundefined
            arhi @Danal
            last edited by

            @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

            Danalundefined 1 Reply Last reply Reply Quote 0
            • mwolterundefined
              mwolter
              last edited by mwolter

              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
              
              dc42undefined 1 Reply Last reply Reply Quote 1
              • Danalundefined
                Danal @arhi
                last edited by

                @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.

                Delta / Kossel printer fanatic

                arhiundefined 1 Reply Last reply Reply Quote 0
                • arhiundefined
                  arhi @Danal
                  last edited by

                  @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

                  1 Reply Last reply Reply Quote 0
                  • arhiundefined
                    arhi
                    last edited by

                    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 🙂

                    1 Reply Last reply Reply Quote 0
                    • arhiundefined
                      arhi
                      last edited by arhi

                      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 🙂

                      1 Reply Last reply Reply Quote 0
                      • arhiundefined
                        arhi
                        last edited by arhi

                        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 🙂

                        deckingmanundefined 1 Reply Last reply Reply Quote 0
                        • deckingmanundefined
                          deckingman @arhi
                          last edited by

                          @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.

                          Ian
                          https://somei3deas.wordpress.com/
                          https://www.youtube.com/@deckingman

                          timcurtis67undefined 1 Reply Last reply Reply Quote 1
                          • timcurtis67undefined
                            timcurtis67 @deckingman
                            last edited by

                            @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. 😁 😁

                            1 Reply Last reply Reply Quote 1
                            • dc42undefined
                              dc42 administrators @mwolter
                              last edited by

                              @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.

                              Duet WiFi hardware designer and firmware engineer
                              Please do not ask me for Duet support via PM or email, use the forum
                              http://www.escher3d.com, https://miscsolutions.wordpress.com

                              arhiundefined 1 Reply Last reply Reply Quote 1
                              • arhiundefined
                                arhi @dc42
                                last edited by

                                @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?

                                1 Reply Last reply Reply Quote 0
                                • mwolterundefined
                                  mwolter
                                  last edited by mwolter

                                  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  
                                  
                                  1 Reply Last reply Reply Quote 1
                                  • deckingmanundefined
                                    deckingman
                                    last edited by

                                    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

                                    Ian
                                    https://somei3deas.wordpress.com/
                                    https://www.youtube.com/@deckingman

                                    arhiundefined 1 Reply Last reply Reply Quote 1
                                    • arhiundefined
                                      arhi
                                      last edited by

                                      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.

                                      1 Reply Last reply Reply Quote 1
                                      • arhiundefined
                                        arhi @deckingman
                                        last edited by

                                        @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.html

                                        They 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

                                        deckingmanundefined 2 Replies Last reply Reply Quote 0
                                        • deckingmanundefined
                                          deckingman @arhi
                                          last edited by deckingman

                                          @arhi That stuff looks a bit spongy. Definitely not like the stuff I used.

                                          EdIt ....but it might work - dunno.

                                          Ian
                                          https://somei3deas.wordpress.com/
                                          https://www.youtube.com/@deckingman

                                          1 Reply Last reply Reply Quote 1
                                          • deckingmanundefined
                                            deckingman @arhi
                                            last edited by deckingman

                                            @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=item4d1edac6d2ⓂmM0icdmB-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".

                                            Ian
                                            https://somei3deas.wordpress.com/
                                            https://www.youtube.com/@deckingman

                                            deckingmanundefined 1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA