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.
    • 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
                                          • garyd9undefined
                                            garyd9
                                            last edited by

                                            I haven't responded simply because there hasn't been a response to my question. There have been lots of alternatives to the example I gave to try to give the question context, but not a simple "yes" or "no" answer. (Apparently, the answer is "no.")

                                            Please don't take this the wrong way: I appreciate the responses and attempts to address what I posted, but a simple "no, you can't do that" would have been perfectly acceptable (even if it isn't what I'd like to see.)

                                            Before going on, I want to point out that I think of loading/unloading filament as a human interactive process. I have to manually get the filament to the extruder, manually ensure that the drive gear "catches" the filament, and manually see the filament coming out of the nozzle. To me, doing it any other way is odd, unusual, unsafe, etc. (And perhaps that's another reason I'm coming to love the Duet: People can usually do things their own way.)

                                            In response to the various alternatives to loading filament (and other responses that caught my eye), please allow me to answer each:

                                            It's unsafe: Really? Think about that in the grand scheme of 3D printing. Is it any more safe to have a gcode script that runs for hours (or days) with no interaction whatsoever while heating plastic in 1 or more nozzles to 280C (for PC)? I'm talking about manually putting filament in an extruder hole, starting a macro, and turning it back off again. Owners of Sailfish based printers have been doing it this way for years and years. Get the filament ready, turn on the "load filament" function, feel filament pulling into extruder, watch it come out the nozzle, turn off the load filament function. Done.

                                            Macros and scripts to auto-feed set amounts: I thought I addressed this already. They either feed too much or not enough. I really have no idea how much I want to feed until I'm watching it flow through the nozzle. Sometimes I like to extrude a bit more to clean out a previous color. Sometimes I know the nozzle is clean (and the particular filament is expensive, such as PVA, so I want a lot less.) On occasion, I notice that something looks odd with the flow and want to stop, adjust temperature or something, and extrude some more.

                                            Using a stall guard to stop feeding when the cold filament hits the nozzle: That doesn't allow me to see that the filament is flowing. All it tells me is that the filament drive gear has encountered resistance. See above paragraph.

                                            So, being that I can't do what I'd like to do, I'll keep using the alternative I've been using in the meantime: Heat nozzle, shove filament into extruder, use the PanelDue to extrude filament in 100mm (or less) chunks until I'm happy with the load. Not a big problem and "close enough" to what I was doing before.

                                            Thank you - and take care
                                            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
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA