Hello,
Hope all are well.
Build: Duet3D, using DWC
For physical orientation.
MY custom printer: IDEX. On the same physical axis:
-Left side extruder = X-axis.
-Right side = U-axis.
Issue:
When I 1st Home U, it physically works, U-extruder moves as I want, but I get a "G28 U Homing failed", I see that the X-axis coordinates are updated, not U, and the Home X button is blue - not Home U.
If I continue, ignoring the Homing Error, and I push the "Home X" or "Home U" button, the U-extruder will move (again) in both cases crashing as there's no more travel.
If I 1st Home X, the U-extruder will move, running the HomeX routine - no Homing Error and the X-position is updated. If I then run the "Home U" routine the the U-extruder runs (again) the Home U routine, but I get the G28 error and the X-position is changed.
From playing around with, drive mapping in config file I can control either extruder, so they are 'independently' operational.
I'm using trying to use the same limit switch for both, printer is physically set up to allow it.
I have played around with the both HomeX and U files (Motor & endstop mapping) but no improvement, sometimes making it worse. Some remnants of which is in the code(s) below.
Thank you for any help.
-Peter
Relevant code?
Config:
; Drives
M569 P0.3 S1 ; physical drive 0.3 goes forwards
M569 P0.2 S1 ; physical drive 0.2 goes forwards 2nd X drive - U-extruder
M569 P0.1 S1 ; physical drive 0.1 goes forwards
M569 P0.0 S1 ; physical drive 0.0 goes forwards
M569 P0.5 S1 ; physical drive 0.5 goes forwards
M569 P0.4 S1 ; physical drive 0.4 goes forwards 2nd X extruder
M584 X0.2 Y0.1 Z0.0 U0.3 E0.5:0.4 ; set drive mapping X-axis added as well as 2nd extruder U0.2
M350 X16 Y16 Z16 U16 E16 E1 16 I1 ; configure microstepping with interpolation
M92 X160.00 Y160.00 U160.00 Z8000.00 E420.00 E1 420.00 ; set steps per mm
M566 X900.00 Y900.00 U900.00 Z60.00 E120.00 E1 120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X6000.00 Y6000.00 U6000.00 Z180.00 E1200.00 E1 1200.00 ; set maximum speeds (mm/min)
M201 X500.00 Y500.00 U500.00 Z20.00 E250.00 E1 2500 ; set accelerations (mm/s^2)
M906 X800 Y800 Z800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout
; Axis Limits
M208 X0 Y0 Z0 U0 S1 ; set axis minima M208 X0 Y0 Z0 U558 S1
M208 X508 Y375 U508 Z250 S0 ; set axis maxima M208 X508 Y375 U42 Z250 S0
; Endstops
M574 U2 S1 P"io6.in" ; configure active-high endstop for High end on X via pin io0.in intermediate stop
M574 X2 S1 P"io0.in" ; configure active-high endstop for High end on U via pin io6.in end stop
M574 Y1 S1 P"!io3.in" ; configure active-high endstop for low end on Y via pin !io3.in
M574 Z1 S1 P"!io4.in"
HomeU:
; homeu.g
; called to home the X axis
;
; generated by RepRapFirmware Configuration Tool v3.2.3 on Sun Feb 21 2021 14:34:36 GMT-0500 (Eastern Standard Time)
G91 ; relative positioning
;M574 X2 S1 P"io0.in" ; configure active-high endstop for low end on U via pin io6.in end stop
;mG1 H2 Z5 F6000 ; lift Z relative to current position
G1 H1 X513 F1800 ; move quickly to X axis endstop and stop there (first pass)
G1 H2 X-5 F6000 ; go back a few mm
G1 H1 X513 F360 ; move slowly to X axis endstop once more (second pass)
G1 H2 X25 F1800
; G1 H2 Z-5 F6000 ; lower Z again
G90 ; absolute positioning
;M584 X0.2 Y0.1 Z0.0 U0.3 E0.5:0.4 P3
HomeX:
; homex.g
; called to home the X axis
;
M574 U2 S1 P"io6.in" ; configure active-high endstop for low end on X via pin io0.in intermediate stop
M574 X2 S1 P"io0.in"
; generated by RepRapFirmware Configuration Tool v3.2.3 on Sun Feb 21 2021 14:34:36 GMT-0500 (Eastern Standard Time)
G91 ; relative positioning
;mG1 H2 Z5 F6000 ; lift Z relative to current position
G1 H1 X513 F1800 ; move quickly to X axis endstop and stop there (first pass)
G1 H2 X-5 F6000 ; go back a few mm
G1 H1 X513 F360 ; move slowly to X axis endstop once more (second pass)
; G1 H2 Z-5 F6000 ; lower Z again
G90 ; absolute positioning