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

    Controlling only extrusion with G-Code/WebInterface

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    3
    6
    670
    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.
    • hatoffundefined
      hatoff
      last edited by

      Hi,

      im am using a Duet3d Maestro board to control a DyzeDesign extruder. I actually do not need the X,Y and Z drivers and only connected the extruder stepper. The kinematics are controlled by a different system and I am having problems synchronizing the extrusion with the movements of the kinematic system.
      Currently I am sending the full G-Code via HTTP requests to the Maestro so that the necessary extrusion speed (/feedrate) is calculated by the firmware using the given extrusion length and the distance (X,Y,(Z)) between the waypoints (just like conventional fff printers). I also set the speed factor over 100 %, so that the Maestro is just a tiny bit ahead of the kinematic system every step. I also only send the next 2 G-Code commands in the command chain to the Maestro, so that it can never "outrun" my kinematic system entirely. So far the results look quiet promising despite the lack of "realtime" communication between the two systems.

      What I would like to do is control the extruder by continuosly sending extrusion speeds and running it "infinitely".

      I thought about just sending commands with very high E values like "G1 E1000 F1200" and then "G1 F1000" to change the speed. But as I understand it G-Code is processed step-by-step so that the "G1 E1000 F1200" command would block the command queue until it is finished. Is there maybe a way to stop the current movement and clear the command buffer? Like this (pseudo code):
      G1 E1000 F1200
      Stop (immediately)
      G1 E1000 F1000
      Stop (immediately)
      G1 E-1000 F2000 (retract)
      Stop (immediately)

      I hope I could describe my idea,
      Thanks for your help!

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

        There isn't currently a command to terminate the current move without doing an emergency stop, but I plan to add one in RRF 3.

        How do you plan to synchronise the acceleration of the extruder with the acceleration of the mechanical positioning system?

        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
        • hatoffundefined
          hatoff
          last edited by

          Thanks alot for your fast answer.
          I am able to get the current cartesian velocity (maybe also the acceleration) of my kinematic system (an industrial robot) every 4 ms. So I could continously update the extruder speed according to the current robot speed.

          For now my solution (as described above) works okay. I will wait for RRF 3 and try it again with your new additions. Is there a (rough) timeframe for the release of RRF 3?

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

            RRF3 should be available as an official beta before the end of this month. News features may take a little longer to implement.

            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
            • hatoffundefined
              hatoff
              last edited by

              Hi,

              I've just seen that the first RRF3 beta has been released: Github
              Has the above mentioned feature been implemented yet?
              I couldn't find it in the RRF3 firmware overview section.

              Another question: Does the M220 command (speed override) work during a G1 motion command? Or is it executed in the normal command chain after the motion command and only used for the following motions?

              Danalundefined 1 Reply Last reply Reply Quote 0
              • Danalundefined
                Danal @hatoff
                last edited by Danal

                @hatoff said in Controlling only extrusion with G-Code/WebInterface:

                Hi,

                I've just seen that the first RRF3 beta has been released: Github
                Has the above mentioned feature been implemented yet?
                I couldn't find it in the RRF3 firmware overview section.

                Another question: Does the M220 command (speed override) work during a G1 motion command? Or is it executed in the normal command chain after the motion command and only used for the following motions?

                You can easily determine this from the console (web or whatever). Start a long move with a very low feedrate (so you have time to type). Watch as you issue an M220.

                Delta / Kossel printer fanatic

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