Syringe-pump extruder endstop
I have a cartesian printer running with a Duet3D wifi board (Firmware 1.21).
I replaced my PLA extruder with a custom serynge-pump powered by a nema 11 stepper motor (11HS18-0956S)
All I want is to be able to "home" my syringe-pump with an endstop in order to place a filled syringue
My stepper motor is linked to the E0 driver and my endstop (hall-e sensor) to the E0 endstop.
Unfortunately this gcode doesn't seem to work :
G1 S1 E-100 F360
I looked also to configuring a filament-out sensors in my config.g file following this guide :
M591 D0 P1 C3 S1
but it doesn't work when I try this in the g-code console :
G1 E-100 F360
Do you have any suggestions?
I suggest that you define the syringe pump motor as both a new axis and an extruder in M584. You can hide the new axis most of the time, but make it visible during homing, and home it like any other linear axis.
Thank you DC42.
I followed the "Configuring multiple independent X-carriages on a Cartesian printer" tutorial to create a new axis.
Now, I'm able to see my new U axis under "Additional Axes" section in the DWC but homing or moving U through the interface doesn't produce anything.
I guess now I should map the U axis to the extruder.
Nevertheless M563 command parameter "Xnnn" and "Ynnn" allow me only to map the X or Y axis.
How I can map the U axis to the extruder?
Here is my config.g :
; Drives M569 P0 S1 ; Drive 0 goes forwards M569 P1 S1 ; Drive 1 goes forwards M569 P2 S1 ; Drive 2 goes forwards M569 P3 S1 ; Drive 3 goes forwards M569 P4 S1 ; Drive 4 goes forwards M584 X0 Y1 Z2 U3 E4 ; Create U axis M350 X16 Y16 U16 Z16 E16 I1 ; Configure microstepping with interpolation M92 X800 Y800 U800 Z800 E800 ; Set steps per mm M566 X900 Y900 U12 Z12 E12 ; Set maximum instantaneous speed changes (mm/min) M203 X6000 Y6000 U180 Z180 E180 ; Set maximum speeds (mm/min) M201 X20 Y20 U250 Z250 E250 ; Set accelerations (mm/s^2) M906 X800 Y800 U800 Z800 E800 I30 ; Set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y0 U0 Z0 S1 ; Set axis minima M208 X165 Y165 U100 Z100 S0 ; Set axis maxima ; Endstops M574 X1 Y1 U1 S1 ; Set active high endstops ; Z-Probe M574 Z1 S2 ; Set endstops controlled by probe M558 P1 H5 F120 T600 ; Set Z probe type to unmodulated and the dive height + speeds G31 P500 X0 Y32 Z2.5 ; Set Z probe trigger value, offset and trigger height M557 X50:100 Y20:60 S20 ; Define mesh grid ; Heaters M140 H-1 ; Disable heated bed ; Fans M106 P0 S0 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off M106 P1 S1 I0 F500 H T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on M106 P2 S0 I0 F500 H-1 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned off ; Tools M563 P0 D0 H ; Define tool 0 G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C
and my homeu.g
G91 ; relative positioning G1 Z5 F6000 S2 ; lift Z relative to current position G1 S1 U-100 F1800 ; move quickly to X axis endstop and stop there (first pass) G1 U5 F6000 ; go back a few mm G1 S1 U-100 F360 ; move slowly to X axis endstop once more (second pass) G1 Z-5 F6000 S2 ; lower Z again G90 ; absolute positioning
I suggest you connect your extruder to E0 and use this in config.g:
M584 X0 Y1 Z2 U3 E3 P3 ; create U but hide it
Make sure you set both U and E to the same microstepping in M350.
In homeu.g do this before the first G1 S1 U move:
M584 P4 ; make U visible
After the last U move do this:
M584 P3 ; hide U again
Thank you DC42!
It's works like a charm!
I'm glad it's working for you. I recommend you use firmware 2.01 because it fixes a bug in earlier versions to do with moving axes and then hiding them.