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

Unretract after Tool Change

Scheduled Pinned Locked Moved
Tuning and tweaking
3
13
1.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.
  • undefined
    smoki3
    last edited by 9 Mar 2019, 16:39

    Hi,

    I am looking for a solution for the following problem.
    My goal is to handle the whole tool change process by the firmware.
    My tool change process is like the E3D tool changer:

    1. clear tool (tfree.g)
    2. grab new tool (tpre.g)
    3. stabilize temp and clean nozzle (tpost.g)
      • after cleaning with a brush, I retract with a G10

    Then all the scripts a finished and the printer continue with the print.

    The problem is that the printer not doing the unretraction.

    Is there a possibility to do the unretraction after the printer has moved to the next printing position?

    undefined 1 Reply Last reply 9 Mar 2019, 19:09 Reply Quote 0
    • undefined
      deckingman @smoki3
      last edited by 9 Mar 2019, 19:09

      @smoki3 I'm not sure that I understand the problem. If you are using firmware retraction, then G10 retracts and G11 does the un-retrcat. However, one must follow the other and you can't do multiple un-retracts (G11s) without there being a retract (G10) in between. So if you have a sequence which consists of G10, then G11, then another G11, the second G11 will not be acted on. Nor will any further G11 commands until a G10 is sent. The same applies to multiple G10 commands. Only the first will be acted on until another G11 is sent.

      Does that answer your question?

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

      1 Reply Last reply Reply Quote 0
      • undefined
        smoki3
        last edited by smoki3 3 Sept 2019, 20:48 9 Mar 2019, 19:19

        No sorry 🙂

        The problem is that the slicer moves the tool head to next position. And after this it have to unretract. If I unretract in the tpost.g script then I get stringing between my brush and the next print move.

        So actually:
        tpost.g:
        G1 X0 Y80 ; brush position
        G1 E5 F200 ; prime extruder
        G10 ; retract
        G1 X0 Y100 F1000 ; clean nozzle with brush
        G11 ; unretract
        Slicer commands:
        G1 X155 Y120 F18000 ; move fast to next print positon
        .....

        and it should more like this:

        So actually:
        tpost.g:
        G1 X0 Y80 ; brush position
        G1 E5 F200 ; prime extruder
        G10 ; retract
        G1 X0 Y100 F1000 ; clean nozzle with brush
        Slicer commands:
        G1 X155 Y120 F18000 ; move fast to next print positon
        G11 ; unretract
        .....

        undefined 1 Reply Last reply 9 Mar 2019, 20:45 Reply Quote 0
        • undefined
          dc42 administrators
          last edited by dc42 3 Sept 2019, 21:01 9 Mar 2019, 20:17

          I think what you are asking for is for the firmware to do an automatic G10 G11 just before the next printing move (i.e. the next move that has both XY movement and extrusion). Is that right?

          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

          undefined 1 Reply Last reply 9 Mar 2019, 20:48 Reply Quote 0
          • undefined
            deckingman @smoki3
            last edited by 9 Mar 2019, 20:45

            @smoki3 First off it's G10 to retract and G11 to unretract - you have G11 for both.

            As for the rest, I do a similar thing for purging and wiping the nozzle on tool change but I use a post process script which makes use of the "R" parameter in G1 to return the print head from where it left. I think this might work in tpost.g but I'm not 100% sure

            So......

            G1 X0 Y80 ; brush position
            G1 E5 F200 ; prime extruder
            G10 ; retract
            G1 X0 Y100 F1000 ; clean nozzle with brush

            Then add
            G1 R2 X0 Y0 Z0 F18000
            followed by
            G11 ; unretract

            The G1 R2 ..... line will cause the print head to move quickly back to where it started. Then the G11 will unretract and the slicer commands will continue from that point. That's what happens with my post processing script so I'd have thought it should work with tpost.g too.

            HTH

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

            undefined 1 Reply Last reply 9 Mar 2019, 20:50 Reply Quote 0
            • undefined
              smoki3 @dc42
              last edited by 9 Mar 2019, 20:48

              @dc42

              yes extacly... is this actually possible?

              undefined 1 Reply Last reply 9 Mar 2019, 21:08 Reply Quote 0
              • undefined
                smoki3 @deckingman
                last edited by 9 Mar 2019, 20:50

                @deckingman

                sorry just a typo.

                No this is not working. Because G1 R2 moves to last position where the tool change was called and not the next print move.

                undefined 1 Reply Last reply 9 Mar 2019, 20:57 Reply Quote 0
                • undefined
                  deckingman @smoki3
                  last edited by 9 Mar 2019, 20:57

                  @smoki3 said in Unretract after Tool Change:

                  @deckingman

                  sorry just a typo.

                  No this is not working. Because G1 R2 moves to last position where the tool change was called and not the next print move.

                  Yes that's what I'd expect. Move to the last known position, un-retract, then the next move in gcode file will be the next print move. Is that a problem with a tool changer?

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

                  undefined 1 Reply Last reply 9 Mar 2019, 21:04 Reply Quote 0
                  • undefined
                    smoki3 @deckingman
                    last edited by 9 Mar 2019, 21:04

                    @deckingman
                    yes because you get stringing between the last known position and the next print move

                    undefined 1 Reply Last reply 10 Mar 2019, 08:10 Reply Quote 0
                    • undefined
                      dc42 administrators @smoki3
                      last edited by dc42 3 Sept 2019, 21:11 9 Mar 2019, 21:08

                      @smoki3 said in Unretract after Tool Change:

                      @dc42

                      yes extacly... is this actually possible?

                      Not yet. Can't you get your slicer to do a G10 retract before the travel move after the tool change, and a G11 afterwards? If you can't, then I can see that having RRF do an automatic G11 when it starts to print again would be useful. It seeds some thought because RRF would need to remember the G10 status of each extruder separately, assume that you hadn't cancelled it with a separate G1 E command, also it might or might not need to undo the Z hop depending on whether there was a Z hop before or at the start of the tool change. And behave differently if the machine is in CNC mode, because CNC machines don't do extrusion.

                      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

                      undefined 1 Reply Last reply 10 Mar 2019, 06:23 Reply Quote 0
                      • undefined
                        smoki3 @dc42
                        last edited by 10 Mar 2019, 06:23

                        @dc42
                        Sure some slicer can do this. But simplify does not directly support firmware retraction and I noticed that's it is hard to get the RRF and slicer work nice together. Especially if I do some manually extrusion in the tpost.g.
                        So I am looking forward to such a solution in the firmware

                        1 Reply Last reply Reply Quote 0
                        • undefined
                          smoki3
                          last edited by 10 Mar 2019, 07:03

                          I got another idea:

                          What's if we use "G11 S1" to set a trigger. That means if the RRF received this code then it is watching out for the next movement with an extrusion. Then you don't have to remember the retraction state of each tool and it's controlable by the user.

                          1 Reply Last reply Reply Quote 0
                          • undefined
                            deckingman @smoki3
                            last edited by 10 Mar 2019, 08:10

                            @smoki3 said in Unretract after Tool Change:

                            @deckingman
                            yes because you get stringing between the last known position and the next print move

                            But if the next move is a print move including extrusion, then you need to unretract before making that move, so you won't get stringing. If on the other hand, the next move is simply a change of position without extrusion, then you might get stringing. In that case, the unretract needs to happen after the first non print move and before the next print move.
                            So the unretract needs to be conditional depending on whether the next move has an "E" element.
                            I can't off hand think of a way to do that other than a post processing script.

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

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