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

    Can an Axis be moved, while other commands are processed?

    Scheduled Pinned Locked Moved
    General Discussion
    2
    3
    252
    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.
    • zivoundefined
      zivo
      last edited by

      Hello,

      I have a question regarding the way motion commands are processed. I am working with a very heavily modified toolchanger from E3d. The printer is used for ongoing research for process adjustments of FDM printing. I have upgraded the system to the Duet 6hc mainboard and rrf 3.3. 4 toolheads are used, 3 of which are connected to toolboards v1.0. The other is a very complex setup with an expansion board 3hc.

      Currently 8 axes of motion are defined. 3 (U,V,W) of these axes can rotate endlessly (theoretically, 1000 revolutions in reality).One of the rotation axes is used to compensate cable tensions and is critical for the functionality of the whole system. The required commands are inserted manually into the Gcode, or implemented as post-processing.

      In the process, the system should behave like this:
      Normal 3d printing takes place in X,Y,Z. The additional axis U performs a movement at the print head, which applies a small amount of tension to the cable harness. V should compensate this tension in the following printing process.

      I have the following problems with this process:
      The movement of V is comparatively slow to the other axes. A single control therefore causes long downtimes and strong artifacts in the print result. If I insert the compensation movement into the next movement command of X,Y, the total speed of this command is strongly reduced to synchronize the axes. This also leads to uneven paths.

      I would like to know if it is possible to move an axis parallel or unsynchronous to simultaneous commands. In my imagination the axis V balances the tension with the highest possible speed while other commands are executed. This would speed up the process enormously, since the axis U can reduce tension on its own by moving backwards, as long as this is in accordance with the path planning.

      Using meta commands, it would be necessary to check at regular intervals that the trailing axis V does not exceed the tolerable offset, but these are optimization problems.
      It would be incredibly great if I could implement this functionality within rrf and not have to tinker with an external controller.

      I'm sorry to write so much here without showing the machine, but unfortunately I can't do that at this stage of development. However, I will be happy to explain everything in due course. However, the Duet system has already helped me a lot to develop a really powerful prototype of a production machine.

      TL;DR - need to schedule a movement that runs while other commands are being processed.

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

        @zivo the current MB6HC firmware supports two movement queues that can execute asynchronously, however the second queue is currently only used by height following mode (see M594 and M951). I have already started work on allowing more general use of the two queues through GCode commands. We expect to release additional functionality in RRF 3.5.

        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

        zivoundefined 1 Reply Last reply Reply Quote 1
        • zivoundefined
          zivo @dc42
          last edited by

          @dc42 May i ASK you, wegen the Beta Release of 3.5. ist sheduled?

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