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

    Wiping an purging control

    Scheduled Pinned Locked Moved
    Gcode meta commands
    4
    20
    780
    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.
    • Mike 1undefined
      Mike 1 @OwenD
      last edited by

      @OwenD
      That looks fine in my eyes. Maybee some issues when changing the extruder. I will test it on Thuesday. Thanx!

      1 Reply Last reply Reply Quote 0
      • Mike 1undefined
        Mike 1 @deckingman
        last edited by

        @deckingman
        A silicone sock is in use. I made some tests with PTFE coated nozzles. I used them up to 240°C. That did not fix all my issues. Did you test PETG?

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

          @Mike-1 said in Wiping an purging control:

          @deckingman
          Did you test PETG?

          Yes.

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

          1 Reply Last reply Reply Quote 0
          • Mike 1undefined
            Mike 1 @OwenD
            last edited by

            @OwenD
            Now I added two new files in system folder, but it is not working.

            start.g
            wipe.g

            Wipe is executed and I get "wipe.g finished" as a feedback.

            OwenDundefined 1 Reply Last reply Reply Quote 0
            • OwenDundefined
              OwenD @Mike 1
              last edited by OwenD

              @Mike-1
              What part "isn't working"
              Have you monitored move.virtualEPos to check if it is incrementing as you expect?
              You can easily add some echo commands in there to make it clear.
              You might also want to reduce global.wipeEveryXmm to say 200 while testing so it does it more often

              Edit:
              As I stated earlier, my printer is down so I caan't print to check anything.
              During simulation move.virtualEPos remains at zero, but move.extruders[0].position and move.extruders[0].rawPosition both increment, so you may need to use one of those.

              echo "virtualEPos = " ^  move.virtualEPos
              echo "Check value = " ^ move.virtualEPos / global.wipesDone
              echo "Need to wipe = "  ^ move.virtualEPos / global.wipesDone > global.wipeEveryXmm
              
              if move.virtualEPos / global.wipesDone > global.wipeEveryXmm
                 echo "Calling brush.g"
                 M98 P"brush.g"
                 set global.wipesDone = global.wipesDone + 1
                 echo global.wipesDone
              echo "wipe.g finished"
              
              Mike 1undefined 1 Reply Last reply Reply Quote 0
              • Mike 1undefined
                Mike 1 @OwenD
                last edited by

                @OwenD

                Oh sorry, I was out for a while.

                It is working with move.extruders[0].rawPosition. As I do have 4 extruders is there an easy way to replace the 0 by the number of the active extruder?

                I am thinking about replacing global.wipesDone by a global.raw position. Then I would give it the current value in the brush.g and check the difference move.extruders[0].rawPosition-global.raw > x and control the process by this.

                Brushing works fine 🙂 Thanks!

                OwenDundefined 1 Reply Last reply Reply Quote 0
                • OwenDundefined
                  OwenD @Mike 1
                  last edited by OwenD

                  @Mike-1
                  I'm away on business at present so only have my phone
                  Assuming you have one extruder per tool you could use
                  tools[state.currentTool].extruders[0]
                  to return the active extruder
                  You might want to put it in a variable if the line length is getting too big.

                  if state.currentTool = -1
                     echo "no tool selected"
                     M99
                  var position = tools[state.currentTool].extruders[0]
                  echo "position is" , move.extruders[var.position].rawPosition
                  
                  Mike 1undefined 1 Reply Last reply Reply Quote 0
                  • Mike 1undefined
                    Mike 1 @OwenD
                    last edited by

                    @OwenD

                    Now it working fine.
                    I have a varible in start.g for the used filament.
                    tpost.g updates the variable for the used filament for each toolchange
                    wipe.g is executed by gcode
                    brush.g starts the cleaning process

                    start.g
                    tpost0.g
                    wipe.g
                    tbrush0.g

                    But oozing is an issue now. Can I reduce the amont of filament for M101?

                    if {heat.heaters[1].current > heat.heaters[1].active - 5} && {heat.heaters[1].current > 150};min temperature to work
                    M103
                    M400
                    ;brush in
                    G1 X331.3 Y150 F50000
                    G1 X331.3 Y100 F50000
                    G1 X331.3 Y170 F50000
                    G1 X331.3 Y100 F50000
                    G1 X331.3 Y170 F50000
                    G1 X331.3 Y100 F50000
                    M400
                    M101
                    else
                    echo "temperature too low to brush"

                    OwenDundefined 1 Reply Last reply Reply Quote 0
                    • OwenDundefined
                      OwenD @Mike 1
                      last edited by

                      @Mike-1 said in Wiping an purging control:

                      @OwenD

                      But oozing is an issue now. Can I reduce the amont of filament for M101?

                      Maybe look at the R parameter of M207?

                      Mike 1undefined 1 Reply Last reply Reply Quote 0
                      • Mike 1undefined
                        Mike 1 @OwenD
                        last edited by

                        @OwenD

                        I am using a 0.6mm steel nozzle and it has some issues with thermal conductivity (small parts are fine, big parts need a higher temperature 265°C + x for PETG with the risk of burend material) so I am thinking about going back to 0.4mm as these have much less issues and slicers have problems with differernt diameters at the same time. The alternative would be a CHT like nozzle. I have to think about it.

                        M207 might be a good idea.
                        I am struggeling with ability to use absolute and relative values for the extruder in the gcode.
                        I don't know how the gcode interferes with M207. Issue is the time from the wiping station to the printig object. So the correct way to do, would be to bring the prinhead back to its position and then unretract. But one part is driven by the printer and one by the gcode.

                        Unfortunately I will leave my printer behind for a few weeks on Thuesday again.
                        If you have a good idea to fix it, I would really appreciate it. But I am short in time and will have to make a break 😥 .

                        Thanks!!!

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