Duet3D Logo

    Duet3D

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Documentation
    • Order

    Dual Z-axis endstops

    General Discussion
    18
    89
    15437
    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.
    • baballuci
      baballuci last edited by

      Hi, i'm looking at replacing my RAMPS 1.4 to a more modern 32bit controller on my custom corexy.

      My current setup has two Z motors using seperate drivers, two z-axis IR endstops for homing and an inductive prove for bed leveling.

      Can anyone tell me if i can get the same setup using a DuetWifi?

      Cheers
      Charlie.

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

        You can use two Z drivers and an inductive probe, but we currently support only one Z endstop. How do the two endstops work in your current setup?

        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 1
        • baballuci
          baballuci last edited by

          One endstop uses Z-min which is assigned to lets say the left motor (Z1), the other endstop uses Z-max which is assigned to the right motor (Z2). The end stops are only used for homing (making sure both motors are level), once the print starts it uses the probe (i'm using Y-max) to compensate for an uneven bed.

          And because the endstops are IR, i can travel past without interfering.

          Charlie.

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

            I wasn't aware that any of the standard firmwares supported dual Z endstop switches. Which one is it?

            We don't support that arrangement at present, although we probably will in future because we have an OEM interested in it. However, in the immediate future we have two developments planned. One is a firmware change to ensure that when you power the printer down and up again, dual motors on an axis stay in sync, provided you don't move them more than about 1 full step while they are powered down. This will probably be in the 1.18 firmware release. The second is to use the Z probe to perform bed levelling with 2, 3 or 4 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
            • baballuci
              baballuci last edited by

              I'm using Marlin 1.1.0 - RC8.

              Ah that's a shame, i was eying up the 7" Due Panel as well 🙂 I'll just have to stay with what i have until you implement it. Either that or i might change to having the z axis belt driven using a single motor, but i didn't really what to go the the hassle of changing everything again, especially when it's working well at the moment. It's a shame there aren't any 32bit controllers that'll run the latest Marlin.

              Well if you need any beta testers for it let me know.

              Charlie.

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

                If you do buy a Duet WiFi, then I can implement the change to keep the Z motors in sync within about 2 weeks. You could then run a macro to do 4-point mesh bed levelling when you power on to verify that the motors have remained in sync. The height map is displayed in the web interface, so this would be really easy to see. Supporting independent Z homing switches would take a little longer but I can try to get that in the 1.18 release too. I already know how I'd implement it, the main complication is implementing a new gcode to map endstop inputs (which someone else wanted for other reasons).

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

                  @dc42:

                  If you do buy a Duet WiFi, then I can implement the change to keep the Z motors in sync within about 2 weeks. You could then run a macro to do 4-point mesh bed levelling when you power on to verify that the motors have remained in sync. The height map is displayed in the web interface, so this would be really easy to see. Supporting independent Z homing switches would take a little longer but I can try to get that in the 1.18 release too. I already know how I'd implement it, the main complication is implementing a new gcode to map endstop inputs (which someone else wanted for other reasons).

                  Go for it 🙂 I've got a FT-5 sat here so I can help test it out.

                  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.

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

                    @baballuci:

                    I'm using Marlin 1.1.0 - RC8.

                    Ah that's a shame, i was eying up the 7" Due Panel as well 🙂 I'll just have to stay with what i have until you implement it. Either that or i might change to having the z axis belt driven using a single motor, but i didn't really what to go the the hassle of changing everything again, especially when it's working well at the moment. It's a shame there aren't any 32bit controllers that'll run the latest Marlin.

                    Well if you need any beta testers for it let me know.

                    Charlie.

                    You should buy one without hesitation. If dc42 commits to a feature you know it's gonna get done 🙂

                    1 Reply Last reply Reply Quote 0
                    • baballuci
                      baballuci last edited by

                      OK, i've convinced myself to take the plunge.

                      I see there is no stock available till the 13th. Is stock still limited or will there be plenty on hand if order later in the week?

                      Charlie.

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

                        There should be plenty of stock around that time because a new batch has been manufactured, but there might be a backlog of orders to work through.

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

                          Haven't ordered my board yet (still working on other parts of my D-Bot build) but I'm heavily leaning towards it.

                          Has this ability been implemented yet?

                          1 Reply Last reply Reply Quote 0
                          • strips
                            strips last edited by

                            Yes please. I would also see something like this. My reason for being able to sync the two Z-axis is because I can never know if one of my kids haven't been turning one of the Z axis 😮 Then how this is implemented, with dual Z-endstops (max/min) or using the Z-probe is not that important. I'll be ready to test this feature this week 🙂

                            I have this setup my self and both Marlin (>=RC8) and Repetier development has this ability. I had mixed results, probably because of a combination of user error or bugs or both.

                            At the moment I have two IR slot switches at Z max that can easily be made to trigger at Z min as well. And then I have a IR probe by you David.

                            Ender 5 Plus, E3D Bigbox Dual

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

                              My Duet is in the mail 🙂

                              Any update on this?

                              1 Reply Last reply Reply Quote 0
                              • dc42
                                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
                                • strips
                                  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
                                  • nightpanda2810
                                    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
                                    • FailsafeJim
                                      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
                                      • FailsafeJim
                                        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
                                        • iDevelo
                                          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
                                          • nightpanda2810
                                            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
                                            • nightpanda2810
                                              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
                                              • dc42
                                                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
                                                • nightpanda2810
                                                  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
                                                  • dc42
                                                    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
                                                    • nightpanda2810
                                                      nightpanda2810 last edited by

                                                      Good catch. I'll report back results.

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