Gcode: How to move continuously?



  • 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 wonder if Stall Guard could work in this way?


  • administrators

    @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.



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


  • administrators

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



  • 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.



  • "just extrude continuously until I stop it."

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



  • +1 for this feature.



  • @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?



  • @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.


  • administrators

    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.



  • @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.


  • administrators

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



  • 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…



  • @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).



  • @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



  • 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.



  • 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



  • 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 🙂



  • You could well be right Ian


 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.