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

    nozzle wipe

    Scheduled Pinned Locked Moved
    3D Printing General Chat
    14
    83
    6.1k
    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 @deckingman
      last edited by

      @deckingman that is a huge difference in hardness so they def. are not same. Dunno if it has to do with the hardness of the underlying material as e3d nozzles are made from something way softer than vanadium :D. Not sure if the rockwell measuring needle can easily measure just the coating (none of the ones I seen could).

      We'll see how the slice one will perform 🙂 I have one vanadium nozzle (hexagon, their experimental one, was too expensive to produce so they never mass-produced them) and I love it even without any coating so I might be a user soon... also with the clone, while the clone is useless pos that does not work it gave me a good understanding of the size and weight of the mosquito so I'm getting me one as soon as I can.

      Back to original discussion, I'm thinking hard about the "design" of the "brush" and I still don't see what would be much better than a simple "plate" to brush over (like what you and @danal are using), anything I came up (stacked arrowheads were kinda max I could throw) can be "simulated" by different path over the simple flat plate so I'll just wait for this to pass and use a flat piece of silicone stripe, till then this sponge will have to do 🙂

      1 Reply Last reply Reply Quote 0
      • 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
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA