Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Independent Z Axis - One Endstop Not Working

    Scheduled Pinned Locked Moved
    General Discussion
    5
    9
    347
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Topherundefined
      Topher
      last edited by

      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

      1 Reply Last reply Reply Quote 0
      • Phaedruxundefined
        Phaedrux Moderator
        last edited by

        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?

        Z-Bot CoreXY Build | Thingiverse Profile

        Topherundefined 1 Reply Last reply Reply Quote 0
        • Topherundefined
          Topher @Phaedrux
          last edited by

          @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

          1 Reply Last reply Reply Quote 0
          • gorf26undefined
            gorf26
            last edited by

            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

            Phaedruxundefined 1 Reply Last reply Reply Quote 0
            • Phaedruxundefined
              Phaedrux Moderator @gorf26
              last edited by

              @gorf26 It's probably easier to use the probe for leveling.

              https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors

              Z-Bot CoreXY Build | Thingiverse Profile

              gorf26undefined 1 Reply Last reply Reply Quote 0
              • gorf26undefined
                gorf26 @Phaedrux
                last edited by

                @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

                1 Reply Last reply Reply Quote 0
                • KipKundefined
                  KipK
                  last edited by

                  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.

                  duttiundefined 1 Reply Last reply Reply Quote 1
                  • duttiundefined
                    dutti @KipK
                    last edited by

                    This post is deleted!
                    Phaedruxundefined 1 Reply Last reply Reply Quote 0
                    • Phaedruxundefined
                      Phaedrux Moderator @dutti
                      last edited by

                      @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
                      

                      Z-Bot CoreXY Build | Thingiverse Profile

                      1 Reply Last reply Reply Quote 1
                      • First post
                        Last post
                      Unless otherwise noted, all forum content is licensed under CC-BY-SA