Independent Z Axis - One Endstop Not Working



  • What am I missing guys? Ive been searching and going in circles!

    I followed this guide
    https://duet3d.dozuki.com/Guide/Independent+Z+motors+and+endstop+switches+in+RRF2/18

    My Z drive end stop works but my U drive is not working: the end stop triggers but the U drive keeps going. This is my config.g and homez.g

    Thanks!

    Config
    ; Drives
    M569 P0 S0 ; X
    M569 P1 S0 ; Y
    M569 P2 S1 ; Right Z
    M569 P3 S0 ; E
    M569 P4 S1 ; Left Z
    M584 X0 Y1 E3 U4 ; set drive mapping
    M584 Z2:4 P3
    M350 X256 Y256 Z256 E256 U256 ; configure microstepping without interpolation
    M92 X2135 Y1280.91 Z1600 U1600 E6630 ; set steps per mm
    M566 X3900 Y2700 Z5000:5000 U5000 E10000 P1 ; set maximum instantaneous speed changes (mm/min)
    M203 X25980.00 Y25980.00 Z10000.00 U10000.00 E50000 ; set maximum speeds (mm/min)
    M204 P15000 T15000
    M201 X3000 Y2000 Z60.00 U60.00 E25000 ; set accelerations (mm/s^2)
    M906 X1200 Y1500 Z800 E900 U800 ; set motor currents (mA) and motor idle factor in per cent
    M84 S500 ; Set idle timeout

    ; Axis Limits
    M208 X0 Y0 Z0 U0 S1 ; set axis minima
    M208 X212 Y212 Z34 U34 S0 ; set axis maxima

    ; Endstops
    M574 X1 Y1 Z1 U1 S0 ; Set active low endstop
    ;M574 X1 S0 P"xstop" ; configure active-low endstop for low end on X via pin xstop
    ;M574 Y1 S0 P"ystop" ; configure active-low endstop for low end on Y via pin ystop
    ;M574 Z1 S0 P"zstop" ; configure active-low endstop for low end on Z via pin zstop
    ;M574 U1 S0 P"ustop" ; configure active-low endstop for low end on Z via pin zstop

    HomeZ
    M584 Z2 U4 P4 ; split Z motor control to Z and U
    G91 ; relative positioning
    G1 H1 Z-205 U-205 F1000 ; Move Z and U down until the switches triggers
    M584 Z2:4 P3 ; back to combined axes and hidden U
    G90 ; Back to absolute positioning
    G92 Z0 ; Tell the firmware where we are


  • Moderator

    What firmware version are you using? M115 to confirm.

    Have you considered updating to RRF3 where it's much easier to do multiple endstop homing?



  • @Phaedrux Youre right! I was running 2.1 and I just finished updating to 3.1.1 and changed a few lines. 10 minutes, Bam. It works. It was actually your comment on another thread about some weirdness with PID related to the firmware that got me thinking about my issue.

    For anybody else who needs it >

    ; Drives
    M569 P0 S0 ; X physical drive 0 goes forwards
    M569 P1 S0 ; Y physical drive 1 goes forwards
    M569 P2 S1 ; Right Z physical drive 2 goes forwards
    M569 P3 S0 ; E physical drive 3 goes forwards
    M569 P4 S1 ; Left Z physical drive 3 goes forwards
    M584 X0 Y1 E3 U4 ; set drive mapping
    M584 Z2:4 P3
    M350 X256 Y256 Z256 E256 U256 ; configure microstepping without interpolation
    M92 X2562.10 Y1280.91 Z1600 U1600 E6630 ; set steps per mm
    M566 X3900 Y2700 Z5000:5000 U5000 E10000 P1 ; set maximum instantaneous speed changes (mm/min)
    M203 X25980.00 Y25980.00 Z10000.00 U10000.00 E50000 ; set maximum speeds (mm/min)
    M204 P15000 T15000
    M201 X3000 Y2000 Z60.00 U60.00 E25000 ; set accelerations (mm/s^2)
    M906 X1200 Y1500 Z800 E900 U800 ; set motor currents (mA) and motor idle factor in per cent
    M84 S500 ; Set idle timeout

    ; Endstops
    M574 X1 S1 P"!xstop" ; configure active-low endstop for low end on X via pin xstop
    M574 Y1 S1 P"!ystop" ; configure active-low endstop for low end on Y via pin ystop
    M574 Z1 S1 P"!zstop" ; configure active-low endstop for low end on Z via pin zstop
    M574 U1 S1 P"!e1stop" ; configure active-low endstop for low end on Z via pin zstop



  • While on the subject of duel Z motor endstops..

    Is it a better option to use a endstop for each motor or use the probe for a z endstop?
    I use the probe right now but seems i will get some tilt one side may be higher that the other.
    I'm fairly new with the duet,
    i have the homing set in the bed center, should i home the Z at both sides with probe?
    and would there be any major changes to the firmware to home independent to x and x+ sides.
    I did get ver 3.1.1 installed and running ok to this point, everything works just only homing to a single point at the bed's center.

    Thanks gary


  • Moderator



  • @Phaedrux

    Thanks i am pretty sure its wire correct for the 2 z Motors, its a maestro board and i have one z motor connected to the z Motor and the other connected to E1 motor, so i guess i will have to change the position's it home's at, and use 2 home positions, i don't remember changing the bed.g but will have to check that out...

    thanks gary



  • Don't forget that if your bed is not perfectly flat, bed leveling will try to align 2 points that are not necessarily aligned on the bed plane resulting in tilted bed.
    Then you'll also need mesh compensation.



  • This post is deleted!

  • Moderator

    @barbarossa-cologne Give a man a fish versus teach a man to fish.

    If you start with the Gcode above as example you can add the additional 2 axis to get to your 4.

    M569 P0 S0 ; X physical drive 0 goes forwards
    M569 P1 S0 ; Y physical drive 1 goes forwards
    M569 P2 S1 ; Right Z physical drive 2 goes forwards
    M569 P3 S0 ; E physical drive 3 goes forwards
    M569 P4 S1 ; Left Z physical drive 3 goes forwards
    M584 X0 Y1 E3 U4 ; set drive mapping
    M584 Z2:4 P3
    M350 X256 Y256 Z256 E256 U256 ; configure microstepping without interpolation
    M92 X2562.10 Y1280.91 Z1600 U1600 E6630 ; set steps per mm
    M566 X3900 Y2700 Z5000:5000 U5000 E10000 P1 ; set maximum instantaneous speed changes (mm/min)
    M203 X25980.00 Y25980.00 Z10000.00 U10000.00 E50000 ; set maximum speeds (mm/min)
    M204 P15000 T15000
    M201 X3000 Y2000 Z60.00 U60.00 E25000 ; set accelerations (mm/s^2)
    M906 X1200 Y1500 Z800 E900 U800 ; set motor currents (mA) and motor idle factor in per cent
    M84 S500 ; Set idle timeout
    
    ; Endstops
    M574 X1 S1 P"!xstop" ; configure active-low endstop for low end on X via pin xstop
    M574 Y1 S1 P"!ystop" ; configure active-low endstop for low end on Y via pin ystop
    M574 Z1 S1 P"!zstop" ; configure active-low endstop for low end on Z via pin zstop
    M574 U1 S1 P"!e1stop" ; configure active-low endstop for low end on Z via pin zstop
    

Log in to reply