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

    Independent Z Motors- Endstop Error

    Scheduled Pinned Locked Moved Solved
    Using Duet Controllers
    3
    15
    353
    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.
    • Phaedruxundefined
      Phaedrux Moderator
      last edited by Phaedrux

      What is the U axis? You have two endstops defined for Z, but only a single driver. You have two drivers assigned to U, but only a single endstop.

      You also seem to be referencing a V axis...

      M203 X6000.00 Y6000.00 Z180.00 E1200.00 V6000

      M906 X800 Y800 Z800 E800 U800 V 800 I60

      Z-Bot CoreXY Build | Thingiverse Profile

      JRCLundefined 1 Reply Last reply Reply Quote 1
      • JRCLundefined
        JRCL @Phaedrux
        last edited by

        @phaedrux U axis is an external carriage for thermoforming. What is a driver in this case? One end stop on the U was intentional as it doesn't need to be very level.

        Whoops the V's should be gone, the firmware was copied from an old one to start which had a V axis. Looks like I missed a few!

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

          You can only use independent Z motor leveling with 2 endstops if you are using 2 independent drives for the Z axis.

          Z-Bot CoreXY Build | Thingiverse Profile

          JRCLundefined 1 Reply Last reply Reply Quote 1
          • JRCLundefined
            JRCL @Phaedrux
            last edited by JRCL

            @phaedrux Ohhh, I see. So I can't use both the Z drive connections, the other has to use a different driver.

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

              The 2 Z motor connectors on the board are wired in series to the same driver. To get independant control, you'd need to use a second driver for the second motor.

              See here for more details.

              https://docs.duet3d.com/en/User_manual/Connecting_hardware/Z_probe_auto_levelling

              You're on the right start. Once you fix up the driver mappings and clean up the U/V stuff it should work.

              Z-Bot CoreXY Build | Thingiverse Profile

              JRCLundefined 2 Replies Last reply Reply Quote 1
              • JRCLundefined
                JRCL @Phaedrux
                last edited by

                @phaedrux Awesome! Wouldn't have figured that one out for a bit 🙂 should be an easy fix then, thanks for the help.

                1 Reply Last reply Reply Quote 0
                • JRCLundefined JRCL has marked this topic as solved
                • JRCLundefined JRCL has marked this topic as unsolved
                • JRCLundefined
                  JRCL @Phaedrux
                  last edited by

                  @phaedrux

                  Here is my new config.g with updated driver setup and elimination of V axis. Made sure my end stop wiring corresponded to the drivers in the same order as the pin call out "zstop+e2stop" as well. I'm still getting a G28 Z Failed to Enable End Stops, error message.

                  ; Drives
                  M569 P0 S1                                      ; physical drive 0 goes forwards (eventually X)
                  M569 P1 S1                                      ; physical drive 1 goes forwards (eventually Y)
                  M569 P2 S1                                      ; physical drive 2 goes forwards (eventually Z1)
                  M569 P3 S1                                      ; physical drive 3 goes forwards (eventually E)
                  M569 P4 S0										; physical drive 4 goes backwards (eventually U1)
                  M569 P5 S0										; physical drive 5 goes backwards (eventually U2)
                  M569 P6 S1										; physical drive 6 goes forwards (eventually Z2)
                  M950 P0 C"duex.pb6" 							; assign servo control to port 0 and link to PB6 GPIO on duex 
                  
                  ; Motor Speeds and Accelerations
                  M584 X0 Y1 Z2:6 E3 U4:5                               ; set drive mapping
                  
                  M350 X16 Y16 Z16 E16 U16 I1                     		 	; configure microstepping with interpolation
                  M92 X80.00 Y80.00 Z400.00 E415.38918 U80        					; set steps per mm
                  M566 X900.00 Y900.00 Z60.00 E120.00 U900    				; set maximum instantaneous speed changes (mm/min)
                  M203 X6000.00 Y6000.00 Z180.00 E1200.00 U6000 				; set maximum speeds (mm/min)
                  M201 X500.00 Y500.00 Z20.00 E250.00 U500.00 				; set accelerations (mm/s^2)
                  M906 X800 Y800 Z800 E800 U800 I40                	; set motor currents (mA) and motor idle factor in per cent
                  
                  ; Axis Limits
                  M208 X-40 Y-10 Z0 U0 S1                                ; set axis minima
                  M208 X160 Y170 Z300 U500 S0                          	; set axis maxima
                  
                  ; Endstops
                  M574 X2 S1 P"xstop"                            	; configure switch-type (e.g. microswitch) endstop for high end on X
                  M574 Y2 S3                                      ; configure sensorless endstop for high end on Y
                  M574 Z2 S1 P"zstop+e2stop" 						; configure active-high endstops on Z via pins zstop and e1stop
                  M574 U2 S1 P"e1stop" 							; configure switch-type (e.g. microswitch) endstop for high end on U via pin e1stop
                  M915 Y R0 F0 S3 								; configure stall detection for Y
                  
                  
                  ; Z-Probe
                  M950 S0 C"duex.pwm1" 							; Duet 2 WiFi/Ethernet + DueX2/5
                  M558 P9 C"^zprobe.in" H5 F120 T6000 			; Duet 2 WiFi/Ethernet, DueX2/5
                  G31 P500 X-7 Y0 Z6.017        				; set Z probe trigger value, offset and trigger height 
                  
                  
                  Phaedruxundefined dc42undefined 2 Replies Last reply Reply Quote 0
                  • Phaedruxundefined
                    Phaedrux Moderator @JRCL
                    last edited by

                    @jrcl said in Independent Z Motors- Endstop Error:

                    G28 Z Failed to Enable End Stops, error message.

                    You're only getting that error when you send G28 Z?
                    Does homeall work?

                    Can you send M119 and share the results?
                    Can you send M574 and share the results?

                    Z-Bot CoreXY Build | Thingiverse Profile

                    1 Reply Last reply Reply Quote 0
                    • dc42undefined
                      dc42 administrators @JRCL
                      last edited by

                      @jrcl said in Independent Z Motors- Endstop Error:

                      M574 Z2 S1 P"zstop+e2stop"

                      I suspect that line isn't working as intended. As you have a DueX in the system, you should use this:

                      M574 Z2 S1 P"zstop+duex.e2stop"

                      Duet WiFi hardware designer and firmware engineer
                      Please do not ask me for Duet support via PM or email, use the forum
                      http://www.escher3d.com, https://miscsolutions.wordpress.com

                      JRCLundefined 1 Reply Last reply Reply Quote 2
                      • JRCLundefined
                        JRCL @dc42
                        last edited by

                        @dc42 Aha! That fixed the problem, Z is homing as expected now. Thank you!

                        1 Reply Last reply Reply Quote 1
                        • JRCLundefined JRCL has marked this topic as solved
                        • First post
                          Last post
                        Unless otherwise noted, all forum content is licensed under CC-BY-SA