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

    Dual Z-axis endstops

    Scheduled Pinned Locked Moved
    General Discussion
    18
    89
    20.1k
    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.
    • dc42undefined
      dc42 administrators
      last edited by

      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.

      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
      • stripsundefined
        strips
        last edited by

        Nice, will try if I can source another 12V step-down for my fans 😄 Then I'm ready to assemble the Bigbox.

        Ender 5 Plus, E3D Bigbox Dual

        1 Reply Last reply Reply Quote 0
        • nightpanda2810undefined
          nightpanda2810
          last edited by

          Awesome! Should have my board on Monday. Once I've got it all working normally I'll give this a shot and report back.

          Thank you!

          1 Reply Last reply Reply Quote 0
          • FailsafeJimundefined
            FailsafeJim
            last edited by

            @iDevelo:

            A bit off topic but I also suggested to Tony about using Jira for tracking features and bugs which would make keeping track a breeze. It's FOC for open source and very powerful.

            I love Atlassian tools, Jira makes it extremely easy to track bugs and features I have also used Confluence, Trello, and Hipchat. Great stuff for dev and test teams.

            1 Reply Last reply Reply Quote 0
            • FailsafeJimundefined
              FailsafeJim
              last edited by

              my board will be here today , I had to order express shipping so I can have it for the weekend 🙂

              1 Reply Last reply Reply Quote 0
              • iDeveloundefined
                iDevelo
                last edited by

                @FailsafeJim:

                @iDevelo:

                A bit off topic but I also suggested to Tony about using Jira for tracking features and bugs which would make keeping track a breeze. It's FOC for open source and very powerful.

                I love Atlassian tools, Jira makes it extremely easy to track bugs and features I have also used Confluence, Trello, and Hipchat. Great stuff for dev and test teams.

                🙂 wouldn't it be great to see a sprint for each release!

                1 Reply Last reply Reply Quote 0
                • nightpanda2810undefined
                  nightpanda2810
                  last edited by

                  It works!

                  Disclaimer: I haven't printed with this yet. Still waiting on my bed.

                  Took some tweaking though.

                  I may or may not have had to make some of the changes I made. Someone else can confirm.

                  Added the following to config.g:

                  ;DUAL Z
                  M584 X0 Y1 Z2:3 U3 E4

                  Wherever something for Z was defined, I added the same for U. (I'm unsure if this was necessary, as I did this during troubleshooting.)
                  Example:
                  This: M350 X128 Y128 Z128 E16 I1 ; Configure microstepping with interpolation
                  Became: M350 X128 Y128 Z128 U128 E16 I1 ; Configure microstepping with interpolation

                  Added, as it was missing:
                  M569 P4 S1 ; Drive 4 goes forwards

                  Commented out the entirety of homez.g and added:
                  M584 Z2
                  G1 S1 Zxxx Uxxx
                  G92 Zxxx
                  M584 Z2:3

                  Pretty sure that was everything!

                  1 Reply Last reply Reply Quote 0
                  • nightpanda2810undefined
                    nightpanda2810
                    last edited by

                    This me TWO days to figure out why my machine was grinding when homing. Then I realized on EVERY home move the right endstop hit before the left. If I moved the bed down 30MM or more this would happen.

                    While in this configuration, the motor hooked up to the original Z plug moves faster than the one in the U plug.

                    Any ideas on why this is happening?

                    Note: When tested with both motors in Z plug, homes and moves normally. I DID put the jumpers on as for a 1 Z motor hookup.

                    [[language]]
                    ; Configuration file for Duet WiFi (firmware version 1.17)
                    ; executed by the firmware on start-up
                    ;
                    ; generated by RepRapFirmware Configuration Tool on Sat Mar 18 2017 20:32:40 GMT-0400 (Eastern Daylight Time)
                    
                    ; General preferences
                    M111 S0 ; Debugging off
                    G21 ; Work in millimetres
                    G90 ; Send absolute coordinates...
                    M83 ; ...but relative extruder moves
                    M555 P2 ; Set firmware compatibility to look like Marlin
                    
                    ;DUAL Z
                    M584 X0 Y1 Z2:3 U3 E4
                    
                    M667 S1 ; Select CoreXY mode
                    M208 X0 Y0 Z0 U0S1 ; Set axis minima
                    M208 X300 Y300 Z320 U320 S0 ; Set axis maxima
                    
                    ; Endstops
                    M574 X1 Y2 Z1 U1 S1 ; Define active high microswitches
                    ;M558 P1 X0 Y0 Z0 H5 F120 T9000 ; Set Z probe type to unmodulated, the axes for which it is used and the probe + travel speeds
                    ;G31 P600 X0 Y0 Z0 ; Set Z probe trigger value, offset and trigger height
                    ;M557 X15:285 Y15:285 S20 ; Define mesh grid
                    
                    ; Drives
                    M569 P0 S1 ; Drive 0 goes forwards
                    M569 P1 S0 ; Drive 1 goes forwards
                    M569 P2 S1 ; Drive 2 goes forwards
                    M569 P3 S1 ; Drive 3 goes forwards
                    M569 P4 S1 ; Drive 4 goes forwards
                    
                    M350 X128 Y128 Z128 E16 I1 ; Configure microstepping with interpolation
                    M92 X800 Y800 Z3200 U3200 E138.4336 ; Set steps per mm
                    M566 X600 Y600 Z24 U24 E300 ; Set maximum instantaneous speed changes (mm/min)
                    M203 X30000 Y30000 Z300 U300 E1500 ; Set maximum speeds (mm/min)
                    M201 X2000 Y2000 Z100 U100 E4000 ; Set accelerations (mm/s^2)
                    M906 X800 Y800 Z800 U800 E800 I30 ; Set motor currents (mA) and motor idle factor in per cent
                    M84 S30 ; Set idle timeout
                    
                    ; Heaters
                    M143 S260 ; Set maximum heater temperature to 260C
                    M305 P0 T100000 B4388 R4700 H0 L0 ; Set thermistor + ADC parameters for heater 0
                    M305 P1 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 1
                    
                    ; Tools
                    M563 P0 D0 H1 ; Define tool 0
                    G10 P0 X0 Y0 Z0 U0 ; Set tool 0 axis offsets
                    G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C
                    
                    ; Network
                    M550 PBlack Widow ; Set machine name
                    M552 P0.0.0.0 S1 ; Enable network and acquire dynamic address via DHCP
                    
                    ; Fans
                    M106 P0 S0.3 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
                    M106 P1 S1 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
                    M106 P2 S1 I0 F500 H1 T45 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on
                    
                    ; Custom settings are not configured
                    
                    
                    1 Reply Last reply Reply Quote 0
                    • dc42undefined
                      dc42 administrators
                      last edited by

                      What do you have in your homez.g and homeall.g files? Perhaps you still have driver 3 assigned to Z as well as U when you are Z homing.

                      Edit: i just spotted that your M350 command doesn't set microstepping for the U 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
                      • nightpanda2810undefined
                        nightpanda2810
                        last edited by

                        I'm pretty sure I had it in there before I switched back to 1 Z for testing but I'll add back and test again tonight, just in case.

                        Here is homez.g. Homeall.g hasn't been updated yet.

                        [[language]]
                        ;DUAL Z
                        M584 Z2
                        M854 U3
                        G1 S1 Z-320 U-320
                        G92 Z.04
                        M584 Z2:3
                        
                        
                        1 Reply Last reply Reply Quote 0
                        • dc42undefined
                          dc42 administrators
                          last edited by

                          M854 in your homez.g file is not a valid gcode, I presume you meant M584.

                          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
                          • nightpanda2810undefined
                            nightpanda2810
                            last edited by

                            Good catch. I'll report back results.

                            1 Reply Last reply Reply Quote 0
                            • rpolteraundefined
                              rpoltera
                              last edited by

                              I am really looking forward to the dual z end stops as well how long do you think it will be until the beta release?

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

                                Have you read the recent posts in this thread to see how you can [probably] do it already?

                                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
                                • rpolteraundefined
                                  rpoltera
                                  last edited by

                                  Yes I saw the post have that working but would like to get my NPN probe back eventually if possible.

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

                                    If you mean that you can't connect your NPN probe to the E0 endstop connector because it is used for the second Z homing switch, you can connect your NPN probe to E1 endstop connector or to the Z probe connector instead if you select the appropriate probe type in your M558 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
                                    • stripsundefined
                                      strips
                                      last edited by

                                      I got this working fine and will post my setup here soon. There is some oddities when lowering Z after hitting the endstops and only one axis move if I do not add S2 as instructed by David. I did report this as an bug on github as it seems it should not behave like that.

                                      https://github.com/dc42/RepRapFirmware/issues/91

                                      strips created this issue in dc42/RepRapFirmware

                                      closed Inconsistency in dual Z axis movements #91

                                      Ender 5 Plus, E3D Bigbox Dual

                                      1 Reply Last reply Reply Quote 0
                                      • guy_bc3dundefined
                                        guy_bc3d
                                        last edited by

                                        I'm working on a big IDEX build. Would the method you guys have described here also work for a Y axis using 2 steppers? It could be nice to tram the X axis at the start of a build.

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

                                          Yes it should be possible to use dual Y homing switches in the same way.

                                          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
                                          • stripsundefined
                                            strips
                                            last edited by

                                            Having fiddled with dual Z now for a while I'm not to fond of the extra axis in the UI. Z controls both Z motors but U only controls the one. How can I hide the U axis or at least disable it so I don't accidentally move only one Z motor?

                                            Pretty easy to hit U instead of Z

                                            Ender 5 Plus, E3D Bigbox Dual

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