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

    Gcode: How to move continuously?

    Scheduled Pinned Locked Moved
    General Discussion
    7
    23
    3.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.
    • garyd9undefined
      garyd9
      last edited by

      I'd like to set up macros for loading and unloading filament. I'm not really satisfied with solutions that use G1 to move the extruder stepper a fixed amount and that's it. They either extrude too much filament (and waste it) or they extrude too little. What I'd like (and what I became accustomed to using sailfish) was "just extrude continuously until I stop it."

      For example, I start this continuous extrusion and then use M291 to display a message in blocking mode. When the message was cleared, it would stop extruding. Simple.

      The question is, how can I turn on the extruder stepper continuously and then later stop it?

      Thanks
      Gary

      "I'm not saying that you are wrong - I'm just trying to fit it into my real world simulated experience."

      1 Reply Last reply Reply Quote 0
      • Dougal1957undefined
        Dougal1957
        last edited by

        I wonder if Stall Guard could work in this way?

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

          @Dougal1957:

          I wonder if Stall Guard could work in this way?

          That should be possible, if you temporarily reduce the extruder motor current so that that the extruder motor is guaranteed to skips steps before it grinds the filament. It sounds like I need to support G1 S1 SEnnn moves in RRF.

          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

          1 Reply Last reply Reply Quote 0
          • garyd9undefined
            garyd9
            last edited by

            Would that run unblocked (and then able to be canceled from gcode?)

            "I'm not saying that you are wrong - I'm just trying to fit it into my real world simulated experience."

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

              Implemented the easy way, it would be blocking just like ordinary G1 S1 homing moves are.

              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

              1 Reply Last reply Reply Quote 0
              • garyd9undefined
                garyd9
                last edited by

                So, it wouldn't be useful at least for my question. What I'm looking for is a way to extrude forever until some interaction makes it stop. The only way I can think that stall guard would help would be to force stopping by grabbing the filament (tightly) to simulate a jam.

                "I'm not saying that you are wrong - I'm just trying to fit it into my real world simulated experience."

                1 Reply Last reply Reply Quote 0
                • Guyarosundefined
                  Guyaros
                  last edited by

                  "just extrude continuously until I stop it."

                  +1 for that feature request.
                  It's definitely useful.

                  1 Reply Last reply Reply Quote 0
                  • roboduetundefined
                    roboduet
                    last edited by

                    +1 for this feature.

                    1 Reply Last reply Reply Quote 0
                    • Dougal1957undefined
                      Dougal1957
                      last edited by

                      @garyd9:

                      So, it wouldn't be useful at least for my question. What I'm looking for is a way to extrude forever until some interaction makes it stop. The only way I can think that stall guard would help would be to force stopping by grabbing the filament (tightly) to simulate a jam.

                      But if you use it when loading filament into a COLD hotend then it will effectively hit a brick wall when fully loaded and for retracting you just make sure you unload distance is large enough?

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

                        @Dougal1957:

                        @garyd9:

                        So, it wouldn't be useful at least for my question. What I'm looking for is a way to extrude forever until some interaction makes it stop. The only way I can think that stall guard would help would be to force stopping by grabbing the filament (tightly) to simulate a jam.

                        But if you use it when loading filament into a COLD hotend then it will effectively hit a brick wall when fully loaded and for retracting you just make sure you unload distance is large enough?

                        Yes, I agree. It seems a dangerous feature to have.

                        Macros offer far more elegant ways to load and unload filament IMO. My load macros, first select the correct extruder, then heat the tool, then do the initial load at high speed, then the last part at slow speed. The unload macros select the tool, heat it to print temperature, then cool it to around 120deg C, then unload the first part slowly, followed by a fast unload, and finally turning the heater off - effectively doing an automated "cold pull". OK, it's a bit of work to establish the distances and speeds but once set up, it's just a matter of running the macro, rather than go through all the individual steps. Very much faster, much less complicated and safer IMO.

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

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

                          Surely a "normal" G1 S1 Ennn move would work here, using motor stall to terminate the move, with the motor current reduced to ensure that it skip steps instead of grinding the filament? You would set nnn to the maximum length of filament that might need to be fed.

                          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

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

                            @dc42:

                            Surely a "normal" G1 S1 Ennn move would work here, using motor stall to terminate the move, with the motor current reduced to ensure that it skip steps instead of grinding the filament? You would set nnn to the maximum length of filament that might need to be fed.

                            Yes, I don't see anything wrong with that. Much safer than having something that could potentially try and pass a complete reel of filaments through the extruder.

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

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

                              Thanks, Ian. If it's easy to implement, I might try to squeeze it into 1.20.1.

                              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

                              1 Reply Last reply Reply Quote 0
                              • fmaundefined
                                fma
                                last edited by

                                I added a load cell on my Bowden extruder, to make some measures:

                                I planned to use it to detect when the filament is loaded. On the other hand, the stalled detection feature should work as well…

                                Frédéric

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

                                  @dc42:

                                  Thanks, Ian. If it's easy to implement, I might try to squeeze it into 1.20.1.

                                  You'd better check with the OP - he's the one who wants to be able to extrude continuously (I'll just use macros).

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

                                  1 Reply Last reply Reply Quote 0
                                  • Dougal1957undefined
                                    Dougal1957
                                    last edited by

                                    @deckingman:

                                    @dc42:

                                    Thanks, Ian. If it's easy to implement, I might try to squeeze it into 1.20.1.

                                    You'd better check with the OP - he's the one who wants to be able to extrude continuously (I'll just use macros).

                                    Ian he was wanting to load the filament to his machine without having it extrude a load of plastic which if I understand correctly he must have been doing it hot for that to happen a small change in workflow to load when cold and this is actually an elegant way of doing titbit of course it will only work with a cold Hotend.

                                    So the way I would see it working is cold hotend high speed extrude with low motor current so something like a macro that sets cold extrude allowed reduce motor current extrude an amount of filament (say the length of bowden tube plus an amount) once loaded set motor current back to normal set cold extrude disabled.

                                    Should be relatively easy to do. Tho in my setup I have no need to use load/unload sequences any way

                                    Doug

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

                                      Hi Doug,

                                      I was just going by the OPs first paragraph in which he says …...

                                      "What I'd like (and what I became accustomed to using sailfish) was "just extrude continuously until I stop it." "

                                      That sounds to me to be a dangerous feature to have, so I agree with David that his solution would be preferable. But, it doesn't fulfil the OPs desire to have continuous extrude until he stops it, hence my comment to David that he should check with the OP that he'd be happy with what he is proposing.

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

                                      1 Reply Last reply Reply Quote 0
                                      • Dougal1957undefined
                                        Dougal1957
                                        last edited by

                                        I agree Ian but his first sentence was "set up macros for loading and unloading filament" and the solution David is looking at is the better one.

                                        Just also funny that the OP hasn't responded to any of these suggestions

                                        Doug

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

                                          Yes all true. It's how you interpret the words "until I stop it" and then in the context of a macro. AS for response, it's the weekend so the OP probably has better things to do than us old codgers 🙂

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

                                          1 Reply Last reply Reply Quote 0
                                          • Dougal1957undefined
                                            Dougal1957
                                            last edited by

                                            You could well be right Ian

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