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

    Terminate Move after commanded retraction reached

    Scheduled Pinned Locked Moved Unsolved
    Filament Monitor
    2
    4
    302
    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.
    • wcj97undefined
      wcj97
      last edited by

      Hey guys, I just installed a filament sensor on my bowden line between my printhead and a filament switching system I've got set up (similar to Prusa's MMU2.0). I'd like to use the filament monitor during prints to check for filament out and clogs and whatnot, but I'd also like to use it when I swap filaments as a sort of endstop.

      There is about 1 meter of bowden line running between my filament swticher (Proteus) and my printhead. I have a secondary extruder at Proteus, as well as a primary direct-drive extruder at my print head. When I swap filaments, I need to ensure that the filament retracts a fairly specific distance so that the filament swapper doesn't get caught up on the filament, but also so the filament doesn't retract so far that the secondary extruder doesn't pull the filament passed the drive gear, which would prevent it from being automatically loaded again. I thought I could use the H parameter in a G1 command to tell terminate the move when the right amount of filament is retracted, but that doesn't seem to work without an actual switch. Is there a way I can tell the printer to, say, retract the filament until the filament sensor tracks that 600mm of filament has been moved?

      Thank you in advanced!

      Original Prusa i3 MK2
      Hephaestus (Custom Duet based large format FFF)
      Aeon (Custom belt printer)
      Elegoo Mars

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

        What's the difference between that and just telling it to retract 600mm? Is there any reason why the retraction done would be more or less than the requested amount?

        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

        wcj97undefined 1 Reply Last reply Reply Quote 0
        • wcj97undefined
          wcj97 @dc42
          last edited by

          @dc42 It's fairly reliable as I've tested it so far, but there is always a chance that the filament will drag a bit when being pulled from the extruder and won't retract the full distance, or there may be a bit of extra friction or resistance here and there that may cause the secondary extruder to slip a bit. If I can ensure that the exact amount of filament is retracted then not only can I prevent massive purge blocks, but I can make sure my filament swapper works on a closed loop and is reliable and repeatable. The swapper will cut the filament, but if there is still a meter of filament in the bowden tube on a switch, it has no way of knowing that it has to purge that much material from the nozzle before moving on with a color change.

          In short, I just want to ensure that it works perfectly every time without any major changes in consistency. I could find other ways around the problem, but they require either additional hardware, or a bit of manual entry.

          Original Prusa i3 MK2
          Hephaestus (Custom Duet based large format FFF)
          Aeon (Custom belt printer)
          Elegoo Mars

          1 Reply Last reply Reply Quote 0
          • wcj97undefined
            wcj97
            last edited by

            @dc42 Could the new conditionals be used to accomplish this? I've just started to add them to my macros and things this evening. Would it be possible to say something along the lines of:

            while sensors.filamentMonitors[0].distanceMoved <= 300
                 G1 F600 E-25
            

            I'm still learning the syntax and what all of the implemented object models are, but is there a way I could make that happen?

            Original Prusa i3 MK2
            Hephaestus (Custom Duet based large format FFF)
            Aeon (Custom belt printer)
            Elegoo Mars

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