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

    External control of the extruder

    Scheduled Pinned Locked Moved
    General Discussion
    3
    5
    184
    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.
    • miguel_lopezundefined
      miguel_lopez
      last edited by

      Hello.
      I'm working in a project where we are going to mount a pellet extruder in a industrial robot arm. It's a project for a Vocational Training School where I work as a teacher.
      We already have the industrial robot in the school, we are planning to use an ABB IRB120 and also an UR3e.
      We are working in several lines of testing, but in any case we need to control the extruder. I was thinking in use a Duet3D board for that task. I know that the board could control the extruder, in the end it's a stepper motor that move the screw of the extruder, it also could control the temperature of the extruder and also a heated bed that we are planning to use.
      My problem comes when I have to get the gcode, from the slicing software and then obtain the robot program. I also have several ideas about how to obtain that.
      For get better results, i think that te best aproach is that the robot program that is controling the movements of the extrusor should give the instrucctions to the duet3d board about where to start/stop extruding, or better not only start/stop including also the amount of extruding (speed of the extrusion screw). For that i can use an analog output of the robot or maybe comunications via ethernet.
      My question is that if the firmware of the Duet3d allow us to do that an control the extruder from the outside, or the only posibity is to give a gcode file to the Duet3d with the orders for the extruder, but then ¿how to sincronize the movements of the robot with the extruder?
      Any help will be welcomed
      Thanks in advance.

      droftartsundefined 1 Reply Last reply Reply Quote 0
      • droftartsundefined
        droftarts administrators @miguel_lopez
        last edited by

        @miguel_lopez You can stream Gcode to the Duet via USB, with some limitations; see https://docs.duet3d.com/User_manual/RepRapFirmware/RepRapFirmware_overview#printing-over-usb-connection-octoprint-cura-simplify3d-etc

        Ian

        Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

        miguel_lopezundefined 1 Reply Last reply Reply Quote 0
        • miguel_lopezundefined
          miguel_lopez @droftarts
          last edited by

          Thanks for your answer.
          So, the only way to control the extruder from outside it's sending commands via USB.
          It's possible to do if I connect a SBC to the Duet3d or the situation is still the same?

          miguel_lopezundefined 1 Reply Last reply Reply Quote 0
          • miguel_lopezundefined
            miguel_lopez @miguel_lopez
            last edited by

            Shoud be possible to use an analogue input of the Duet3D to control the amount of extrussion?

            chrishammundefined 1 Reply Last reply Reply Quote 0
            • chrishammundefined
              chrishamm administrators @miguel_lopez
              last edited by

              @miguel_lopez In standalone mode, you could also use UART which is available on the io0 port (e.g. using an Arduino or similar). Extrusion control comes down to plain G1 E1 commands. If you are looking for a demo, see the pendant controller firmware here: https://github.com/Duet3D/CNC-Pendant-Firmware That is used for axes, but could be changed for extruders as well.

              In SBC mode, you can either use the /opt/dsf/bin/CodeConsole utility to send commands to RRF or write your own .NET or Python plugin which reads data from other available RPi pins.

              Alternatively, you can send G1 commands using the web interface (HTTP API), via Telnet, or via USB. It's really up to you.

              Note that there is no "start extrusion" and "stop extrusion" functionality, so you probably need to send G1 E commands in given intervals while extrusion is supposed to happen.

              Duet software engineer

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