External control of the extruder
-
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. -
@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
-
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? -
Shoud be possible to use an analogue input of the Duet3D to control the amount of extrussion?
-
@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 plainG1 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.