Configuration multiple extruders (end stops & homing)
-
Presenty I’m developing a 3D food printer with 4 printing heads based on Duet WIFI and the Duex 5 boards. For each of the 4 extruders I need an end stop.
Now I have problems with the integration of the end stops and the homing procedure for each of these end stops.
In config.g I tried to define the motors and end stops:M569 P0 S1 ; Drive 0 goes forwards
M569 P1 S0 ; Drive 1 goes backwards
M569 P2 S1 ; Drive 2 goes forwards
M569 P3 S0 ; Drive 3 goes backwards
M569 P4 S0 ; Drive 4 goes backwards
M569 P5 S0 ; Drive 5 goes backwards
M569 P6 S0 ; Drive 6 goes backwards
M350 X16 Y16 Z16 E16:16:16:16 I1 ; Configure microstepping with interpolation
M92 X100 Y100 Z4000 E420:420:420:420 ; Set steps per mm
M566 X6000 Y6000 Z12 E120:120:120:120 ; Set maximum instantaneous speed changes (mm/min)
M203 X6000 Y60000 Z180 E1200:1200:1200:1200 ; Set maximum speeds (mm/min)
M201 X10000 Y1000 Z250 E250:250:250:250 ; Set accelerations (mm/s^2)
M906 X1200 Y2000 Z1200 E2000:2000:2000:2000 I30 ; Set motor currents (mA) and motor idle factor in per cent
M84 S30M574 X1 Y1 Z0 E1:1:1:1 S1
In machine properties all end stops are changing to yes when activated.
In homeall I added for testing one end stop:
G1 S1 E-200 F12000
The extruder motor of the tool selected did start when pressing home all in machine control but did not stop when the end stop is activated. What do I have to add and do I have to set up an home.g file for each extruder and if so how to name them?
-
@tloetzb As far as I know the extruder axis logic does not include the concept of an "endstop" the physical enstops lines are there so those axis can be used for additional motion axis and now can be used for a filament out sensor. @dc42 will be able to confirm.
Can you explain the mechanics a bit so we can understand why an endstop is required for the extruder axis? Is it a syringe which has to sense once the plunger is all the way down? If that is the case the you can probably use the filament out logic with a switch to act in a similar way to an endstop:
https://duet3d.dozuki.com/Wiki/Gcode#Section_M591_Configure_filament_sensing
-
There is no facility to home extruders directly. However, there is an easy workaround. To home an extruder, temporarily assign its motor to an additional axis (e.g. U) using M584; then home that axis; then hide the axis using the M584 P parameter.
The first new axis you create will use the E0 endstop, the second will use the E1 endstop, and so on.
-
Thank you for the rapid feedback. I will try that. One additional question: Due to gcode compatibility with the present double head food printer we already have would it be possible to assign the extruders to additional axis only for the homing procedure and to name them E0, E1, E2, E3 for the printing process? Would you recommend to create a homing.g File for each extruder?
Regards
Thomas -
@tloetzb said in Configuration multiple extruders (end stops & homing):
Thank you for the rapid feedback. I will try that. One additional question: Due to gcode compatibility with the present double head food printer we already have would it be possible to assign the extruders to additional axis only for the homing procedure and to name them E0, E1, E2, E3 for the printing process? Would you recommend to create a homing.g File for each extruder?
Regards
ThomasYes, that is what I meant. No need to create homing files for the extra axes if you only enable those axes temporarily to home extruders, you can do it all in the homeall.g file.