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

Dual Z-axis endstops

Scheduled Pinned Locked Moved
General Discussion
18
89
19.8k
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.
  • undefined
    efficientAF
    last edited by 7 Jun 2017, 20:46

    Ahh, I'll keep an eye out for that and let you know if I have any questions, thanks David!

    1 Reply Last reply Reply Quote 0
    • undefined
      dintid
      last edited by 18 Jun 2017, 12:26

      Is the dual Z-endstops implemented, or going to be implemented in 1.19, or do we use the solution you outlined below?

      I'm homing to Z-max using 2 independent motors and want them to "sync up" when homing, as all sorts of things can happen to make them go out of sync.

      @dc42:

      I expect to implement multiple Z homing switches in firmware 1.19. In the meantime I think you can achieve the same thing as follows:

      1. Put this command in config.g:

      M584 X0 Y1 Z2:3 U3 E4

      This assigns your second Z motor (connected to the E0 motor output) to both the Z and U axes.

      2. In your homez.g file, do this:

      M584 Z2
      G1 S1 Zxxx Uxxx
      G92 Zxxx
      M584 Z2:3

      This splits Z into the Z and U axes, homes them simultaneously, and then restores normal Z movement. Fill in the xxx values to suit your machine - see https://duet3d.com/wiki/Configuring_RepRapFirmware_for_a_Cartesian_printer#Homing_files.

      3. Change the Z homing section of homeall.g to do the same.

      4. Connect the second Z endstop switch (the one you use for the U motor) to the E0 endstop input.

      Test the above carefully, with low motor current and a hand on the power switch, in case I have forgotten something.

      RepRapFirmware supported G-codes: https://duet3d.com/wiki/G-code

      1 Reply Last reply Reply Quote 0
      • undefined
        dc42 administrators
        last edited by 18 Jun 2017, 15:41

        The advice remains the same for now, except the detail has changed. I now suggest the following:

        1. Put this command in config.g:

        M584 X0 Y1 Z2:3 U9 E4 P3

        This assigns your second Z motor (connected to the E0 motor output) to the Z axis, and creates a U axis that uses driver 9 (which I am assuming is not connected to any motor). The P3 parameter limits the number of visible axes to 3 in firmware 1.19beta6 and later, so that the U axis is not visible in the user interface.

        2. In your homez.g file, do this:

        M584 Z2 U3
        G1 S1 Zxxx Uxxx
        G92 Zxxx
        M584 Z2:3 U9

        Assuming that driver 9 is not connected, assigning the U axis to it other than during Z homing prevents inadvertent movement of the U motor if a G1 command with a U parameter is executed.

        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

        1 Reply Last reply Reply Quote 0
        • undefined
          dintid
          last edited by 19 Jun 2017, 13:45

          Thanks.
          I Just need to add some config to make it go back from z-max (where my bed is homing currently) to z-min and use a probe to get the right distance from nozzle to bed 🙂

          RepRapFirmware supported G-codes: https://duet3d.com/wiki/G-code

          1 Reply Last reply Reply Quote 0
          • undefined
            SpeedyDad
            last edited by 9 Jul 2017, 06:47

            This may be a stupid question but when doing this, I assume you move the extruder to the E1 connector?

            1 Reply Last reply Reply Quote 0
            • undefined
              dc42 administrators
              last edited by 9 Jul 2017, 07:01

              @SpeedyDad:

              This may be a stupid question but when doing this, I assume you move the extruder to the E1 connector?

              You can either use the E0 motor output for the second Z motor and E1 for the extruder (which is what I assumed in the config examples I gave above), or vice versa. Just tell the firmware which way round you have them in the M584 command.

              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

              1 Reply Last reply Reply Quote 0
              • undefined
                SpeedyDad
                last edited by 10 Jul 2017, 00:39

                Thanks

                1 Reply Last reply Reply Quote 0
                • undefined
                  FrankNPrinter
                  last edited by 10 Jul 2017, 17:04

                  yes there are several FT5 owners running dual home z. I am still waiting to see if going to 1 z motor and linking the 2 z axis would be a better option. I have Duet WIFI so if i don't, i will eatu p my extra extruder spot if I split Z. In series you only get half the power any way so not sure if there is an up side to 2 motors in series? I know we talked about that briefly, your thoughts are always appreciated DC42! (https://www.youtube.com/watch?v=askVj4_5f9c)

                  1 Reply Last reply Reply Quote 0
                  • undefined
                    dc42 administrators
                    last edited by 10 Jul 2017, 22:55

                    If you connect two Z motors in series, you don't lose torque at low speeds. Each provides the same torque that a single motor would at the same current setting. However, the maximum speed you can run the motors at before the torque starts dropping is halved. This isn't normally a problem because high Z speeds are not required.

                    Firmware 1.19beta9 includes most of the implementation of bed leveling using multiple Z motors connected to individual drivers.

                    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

                    1 Reply Last reply Reply Quote 0
                    • undefined
                      SpeedyDad
                      last edited by 17 Jul 2017, 05:11

                      This works great. Implemented it on my big machine and I no longer have to worry if one side sags at idle. The only oddity I've noticed is that regardless of how long the machine has been on or if the Z has already been homed, when I home the Z axis from full height, the right side is hitting the endstop before the left side by about 2 seconds. However, once I have homed it and take it back to Z0, I can do a G0 to run the machine down to 10mm above the endstop and then slowly manually move it down and the hit together. Then if I run it to Z0 and home again, same 2 second lag. Must have a digit out of place somewhere. Steps are set the same. Hmmmmm.

                      For reference, this machine is like an Ultimaker but about twice the size so Z0 is up.

                      1 Reply Last reply Reply Quote 0
                      • undefined
                        SpeedyDad
                        last edited by 20 Jul 2017, 03:04

                        Got it homing evenly now. just mirrored all the settings for Z to U in the config file.

                        1 Reply Last reply Reply Quote 0
                        • undefined
                          dc42 administrators
                          last edited by 20 Jul 2017, 05:46

                          I'm glad you sorted it!

                          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

                          1 Reply Last reply Reply Quote 0
                          • undefined
                            SpeedyDad
                            last edited by 20 Jul 2017, 05:54

                            I think it was the steps

                            1 Reply Last reply Reply Quote 0
                            • undefined
                              dc42 administrators
                              last edited by 20 Jul 2017, 07:38

                              Bear in mind that in firmware 1.19beta10, an alternative to using dual Z endstops now is to use auto bed levelling to adjust your 2 leadscrews independently to get the bed level after homing.

                              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

                              1 Reply Last reply Reply Quote 0
                              • undefined
                                kazolar
                                last edited by 26 Jul 2017, 15:14

                                I am considering using my 2 lead screws independently also, since I can add driver 12 to the LCD connector.
                                Your example shows assigning U axis to an unconnected driver, which in my case there will be none. So how would I configure dual lead screw (don't have auto bed leveling setup yet – I will add that in after I get the basics configured)

                                This is what I have now:

                                M584 X0 Y1 U2 V3 W4 A5 E6:7:8:9 Z10
                                so if I were to add 11 it would change to
                                M584 X0 Y1 U2 V3 W4 A5 E6:7:8:9 Z10:11 then presumably I would define B somehow? would be also 11?

                                I can remap other axis to -- as in U etc kinda like this:

                                M584 X0 Y1 V2 W3 A4 B5 E6:7:8:9 Z10:11 -- then I have U freed up as a limit switch on the primary duet as apposed to the expansion board, though I haven't notice any performance difference with 19.11 support for end stops on the expansion board.

                                Being that I have a large bed and there is the ability to add the 12th driver -- I can drop in another TB6600 and run my 2 lead screws independently.

                                1 Reply Last reply Reply Quote 0
                                • undefined
                                  dc42 administrators
                                  last edited by 26 Jul 2017, 17:00

                                  The recommended approach now is to use a Z probe and to drive the multiple Z leadscrews independently during bed levelling only. However, you could use the old approach of dual endstop switches instead if you want, but in your case use the B axis for the second Z leadscrew instead of U. Then you can use the M584 P parameter to hide the B axis.

                                  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

                                  1 Reply Last reply Reply Quote 0
                                  • undefined
                                    kazolar
                                    last edited by 26 Jul 2017, 17:25

                                    @dc42:

                                    The recommended approach now is to use a Z probe and to drive the multiple Z leadscrews independently during bed levelling only. However, you could use the old approach of dual endstop switches instead if you want, but in your case use the B axis for the second Z leadscrew instead of U. Then you can use the M584 P parameter to hide the B axis.

                                    I have different bed leveling options I will be trying once I have a bed 🙂 I need to prep the PEI sheet with the automotive paint before I adhere it to the boro glass, that is on my queue for next week. I ordered the second TB6600 and will be setting it up for now to use the old method with 2 limit switches as you said, so I'm assuming
                                    The correct option for me is
                                    M584 X0 Y1 U2 V3 W4 A5 E6:7:8:9 Z10:11 B11 P7
                                    M574 X1 Y1 Z1 U2 V2 W1 A2 B1 S1

                                    then my homez.g would be

                                    G91
                                    M584 Z10 B11
                                    G1 S1 Zxxx Bxxx
                                    G92 Zxxx
                                    M584 Z10:11
                                    G90

                                    So I can't really "hide" or prevent inadvertent moves of the B axis – since at the end of the Z homing it still assigned to 11 (which I suppose isn't critical as no standard gcode contains G1 B commands)

                                    1 Reply Last reply Reply Quote 0
                                    • undefined
                                      Amilious
                                      last edited by 1 Jan 2018, 14:05

                                      Question on this. Can I use my bl touch instead of endstops? I have the endstops but would rather not use if i do not have to. Can we use the Z probe for both Z and U. For example, home the bed, with bl touch this would leave space between nozzle and the bed. Then move the head to the other side of the build platform and use only the U motor to move until probe is triggered again.

                                      1 Reply Last reply Reply Quote 0
                                      • undefined
                                        dc42 administrators
                                        last edited by 1 Jan 2018, 14:33

                                        @kazolar:

                                        I have different bed leveling options I will be trying once I have a bed 🙂 I need to prep the PEI sheet with the automotive paint before I adhere it to the boro glass, that is on my queue for next week. I ordered the second TB6600 and will be setting it up for now to use the old method with 2 limit switches as you said, so I'm assuming
                                        The correct option for me is
                                        M584 X0 Y1 U2 V3 W4 A5 E6:7:8:9 Z10:11 B11 P7
                                        M574 X1 Y1 Z1 U2 V2 W1 A2 B1 S1

                                        then my homez.g would be

                                        G91
                                        M584 Z10 B11
                                        G1 S1 Zxxx Bxxx
                                        G92 Zxxx
                                        M584 Z10:11
                                        G90

                                        So I can't really "hide" or prevent inadvertent moves of the B axis – since at the end of the Z homing it still assigned to 11 (which I suppose isn't critical as no standard gcode contains G1 B commands)

                                        You can hide the B axis at the end of homing by adding P8 to the first M584 command and P7 to the second. The B axis will appear during Z homing but will be hidden afterwards.

                                        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

                                        1 Reply Last reply Reply Quote 0
                                        • undefined
                                          dc42 administrators
                                          last edited by 1 Jan 2018, 14:35

                                          @Amilious:

                                          Question on this. Can I use my bl touch instead of endstops? I have the endstops but would rather not use if i do not have to. Can we use the Z probe for both Z and U. For example, home the bed, with bl touch this would leave space between nozzle and the bed. Then move the head to the other side of the build platform and use only the U motor to move until probe is triggered again.

                                          Use the bltouch to home Z at bed centre as normal, then use the multiple leadscrew bed levelling facility described at https://duet3d.com/wiki/Bed_levelling_using_multiple_independent_Z_motors.

                                          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

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