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

    Moving other axes during a move command

    Scheduled Pinned Locked Moved
    Using Duet Controllers
    3
    6
    315
    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.
    • avdoverflowundefined
      avdoverflow
      last edited by

      I am using the Duet 2 Wifi to control XYZ stepper motors on a Cartesian microscope stage. I made a script where it continuously travels to different points of interest using G0 commands. It is working well.

      I would like to build a custom pump to create oscillatory flow using the E1 driver and a stepper motor. The stepper motor would be coupled to a syringe pump. I would send G0 commands to move the pump 0mm to 200mm back and forth. I would like a smooth travel that takes around 20 minutes for each direction.

      I would label the E1 driver axis as U. Starting at U=0mm and using an appropriately slow speed, I can call G0 U200 to move to U=200mm over 20 minutes. During that time, is there a way to have Duet move the XYZ axes to move my microscope stage independent of the pump?

      o_lampeundefined dc42undefined 2 Replies Last reply Reply Quote 0
      • o_lampeundefined
        o_lampe @avdoverflow
        last edited by o_lampe

        @avdoverflow
        You could move the syringe by calling a macro. (*)
        Then the rest of the axes should be free to move by single commands or the DWC jog-buttons or a gcode 'print'-file. (untested)
        It will not be in sync with the syringe position.

        *) with two endstops for the syringe you could also put the commands in 'daemon.g' and let it run back and forth eternally

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

          @avdoverflow said in Moving other axes during a move command:

          During that time, is there a way to have Duet move the XYZ axes to move my microscope stage independent of the pump?

          Currently not. However, RRF can support a second movement queue internally, so much of the firmware needed to support what you want is present already. We plan to support dual (or greater) independent motion queues in GCode in the future, but probably only on Duet 3 due to lack of memory on Duet 2.

          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

          o_lampeundefined 1 Reply Last reply Reply Quote 1
          • o_lampeundefined
            o_lampe @dc42
            last edited by

            @dc42 said in Moving other axes during a move command:

            Currently not.

            We had the discussion about blocking options in macros lately and there it seemed, the macro commands are 'combed' into the print queue? Hence my assumption it would be possible

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

              @o_lampe said in Moving other axes during a move command:

              @dc42 said in Moving other axes during a move command:

              Currently not.

              We had the discussion about blocking options in macros lately and there it seemed, the macro commands are 'combed' into the print queue? Hence my assumption it would be possible

              Within each move in a move queue, all motor movements are synchronised. So executing multiple U moves during a single axis move can only be done by using multiple move queues.

              However, if the movements can all be planned in advance, then the XY movement could be broken up into small segments so that a single move queue can be used, for example like this:

              while iterations < 100
                G1 U200 X{0.1*iterations} F10
                G1 U0 X{0.1+0.1*iterations} F10
              

              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

              avdoverflowundefined 1 Reply Last reply Reply Quote 1
              • avdoverflowundefined
                avdoverflow @dc42
                last edited by

                Thank you for the quick responses! I will try multiple small move segment to see how it goes. If that does not work well enough, I'll consider simply buying a second Duet to control my experiment's fluid handling and perfusion.

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