Dual Z not homing on Duet3
-
My Z is belt driven.
Also here is my homeZ code; homez.g ; called to home the Z axis ; ; generated by RepRapFirmware Configuration Tool v3.3.16 on Fri Jun 09 2023 13:48:15 GMT-0400 (Eastern Daylight Time) G91 ; relative positioning G1 H2 Z5 F6000 ; lift Z relative to current position G1 H1 Z-374 F1800 ; move Z down until the endstop is triggered G92 Z-12 ; set Z position to axis minimum (you may want to adjust this) ; Uncomment the following lines to lift Z after probing ;G91 ; relative positioning ;G1 Z5 F100 ; lift Z relative to current position ;G90 ; absolute positioning
-
I have also confirmed that there is no issue with wiring, the motors, or with the board itself. (I swapped the motors around to different drivers)
-
@MaqAttaq I can't see anything wrong with your config. Can you post an output of
M98 P"config.g"
-
Have you tested the drivers individually with known good motors?
-
@Phaedrux Thanks for the reply. These are all E3D motors
-
M98 P"config.g" HTTP is enabled on port 80 FTP is disabled TELNET is disabled Error: Board 1 received unknown msg type 6053 Error: Board 1 received unknown msg type 6053 Error: Board 1 received unknown msg type 6053 Warning: Macro file config-override.g not found
-
@MaqAttaq said in Dual Z not homing on Duet3:
@Phaedrux Thanks for the reply. These are all E3D motors
Yes but have you changed the mappings and tested the driver with a known working motor?
For instance, for the driver that isn't moving on Z, remap it to X, then try to move it.
Do you get any errors in the gcode console when trying to move it?
Do you see any damage on the board near that driver?
-
@Phaedrux Oh. Yes Tried that. If I move the Z2 motor to any other position the motor moves.
If I remap the config file to change the Z2 to driver to X, the motor moves
-
Solved:
I figured out what it was and it was very simple:
Basically, I didn't realize that for dual Y you can declare one end stop but for Z you have to declare both end stopsHere's what I had:
M574 X1 S1 P"io3.in" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin io3.in M574 Y1 S1 P"io1.in" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin io1.in M574 Z1 S1 P"io2.in" ; configure switch-type (e.g. microswitch) endstop for low end on Z via pin io2.in
Here's what I should have had:
; Endstops M574 X1 S1 P"io3.in" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin io3.in M574 Y1 S1 P"io1.in" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin io1.in M574 Z1 S1 P"io2.in+io5.in" ; Z axis with two motors, individual min endstops for low end, active high via pins io2.in and io5.in
Here's what I ended up with:
; Endstops M574 X1 S1 P"io3.in" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin io3.in M574 Y1 S1 P"io1.in+io4.in" ; Y axis with two motors, individual min endstops for low end, active high via pins io1.in and io4.in M574 Z1 S1 P"io2.in+io5.in" ; Z axis with two motors, individual min endstops for low end, active high via pins io2.in and io5.in
All three setups are valid for X and Y. Only the last two are valid for X, Y, and Z
-
-
-
@MaqAttaq said in Dual Z not homing on Duet3:
Solved:
I figured out what it was and it was very simple:
Basically, I didn't realize that for dual Y you can declare one end stop but for Z you have to declare both end stopsHere's what I had:
M574 X1 S1 P"io3.in" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin io3.in M574 Y1 S1 P"io1.in" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin io1.in M574 Z1 S1 P"io2.in" ; configure switch-type (e.g. microswitch) endstop for low end on Z via pin io2.in
Here's what I should have had:
; Endstops M574 X1 S1 P"io3.in" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin io3.in M574 Y1 S1 P"io1.in" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin io1.in M574 Z1 S1 P"io2.in+io5.in" ; Z axis with two motors, individual min endstops for low end, active high via pins io2.in and io5.in
Here's what I ended up with:
; Endstops M574 X1 S1 P"io3.in" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin io3.in M574 Y1 S1 P"io1.in+io4.in" ; Y axis with two motors, individual min endstops for low end, active high via pins io1.in and io4.in M574 Z1 S1 P"io2.in+io5.in" ; Z axis with two motors, individual min endstops for low end, active high via pins io2.in and io5.in
All three setups are valid for X and Y. Only the last two are valid for X, Y, and Z
All three setups are valid for X, Y and Z too; but the endstop switches that were not mentioned in M574 will not be monitored.