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

    Home all axis at once

    Scheduled Pinned Locked Moved Solved
    Using Duet Controllers
    5
    11
    872
    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.
    • Saktzikiundefined
      Saktziki
      last edited by Saktziki

      Hi guys!

      I was wondering if there's a good way to home the XYZ axis all at once? Right now I homeall.g I home one axis at a time but because the printer is quite large it takes quite a long time.

      Thanks in advanced!

      chrishammundefined dc42undefined 2 Replies Last reply Reply Quote 0
      • chrishammundefined
        chrishamm administrators @Saktziki
        last edited by

        @saktziki If you have independent endstop switches for every axis, that's certainly possible. You'd have to build your own G1 H1 code and move the axes to the endstops in one go (specify all the axes minima/maxima in the same command/line).

        Duet software engineer

        Saktzikiundefined 1 Reply Last reply Reply Quote 1
        • Saktzikiundefined
          Saktziki @chrishamm
          last edited by

          @chrishamm Okey so then I'll put in a separate G1 H1 command and not call each home script individually??

          Dougal1957undefined 1 Reply Last reply Reply Quote 0
          • Dougal1957undefined
            Dougal1957 @Saktziki
            last edited by

            @saktziki below is my homing script which homes all axis at the same time however be aware that this is for a delta so all are home to max but it may give you a clue.

            ; homedelta.g
            ; called to home all towers on a delta printer
            ;
            ; generated by RepRapFirmware Configuration Tool on Fri Jul 07 2017 14:49:07 GMT+0100 (BST)
            
            ; Use relative positioning
            G91
            
            ; Move all towers to the high end stopping at the endstops (first pass)
            ;*** Slow homing has been configured. Change F600 to F6000 below when your configuration is working
            G1 X585 Y585 Z585 F6000 H1
            
            ; Go down a few mm
            G1 X-5 Y-5 Z-5 F6000 H2
            
            ; Move all towers up once more (second pass)
            G1 X10 Y10 Z10 F360 H1
            
            ; Move down a few mm so that the nozzle can be centred
            G1 Z-5 F6000
            
            ; Switch back to absolute positioning and go to the centre
            G90
            G1 X0 Y0 F6000
            
            

            HTH

            Doug

            1 Reply Last reply Reply Quote 0
            • Saktzikiundefined
              Saktziki
              last edited by

              Awesome that works! But now I encountered a different problem. I back away from the endstops and the approach them slowly again but they don't stop.

              This is my code:

              ; Clear any bed transforms
              M561
              
              ; Clear babystepping
              M290 R0 S0
              
              ; Set to Relative Positioning
              G91
              
              ; Move Z down so we don't drag it on the bed
              G1 H1 F300 Z1
              
              ; Set to Absolute Positioning
              G90
              
              
              ; Move if not stopped by endstop first
              G1 H1 F1200 X700 Y475 Z900
              
              M400
              
              ; Back off endstop slowly
              G1 H0 F240 X-5 Y-5 Z-10
              
              M400
              
              ; Move to endstop again, slowly
              G1 H1 F120 X15 Y15 Z20
              
              ; Wait
              M400
              
              ; Set position
              G92 X645.00 Y445.00 Z576.6
              
              ; Wait 500 ms
              G4 P500
              
              ;; Move from endstop by 1mm
              G1 F720 X-1 Y-1 Z-5
              
              
              ; Set to Absolute Positioning
              G90
              
              dc42undefined 1 Reply Last reply Reply Quote 0
              • dc42undefined
                dc42 administrators @Saktziki
                last edited by dc42

                @saktziki if it's a Cartesian printer, see https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCartesianPrinter#Section_The_homeall_g_file. This shows how to home X and Y together. If Z uses an endstop switch then you could also home Z at the same time.

                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

                sonderzugundefined 1 Reply Last reply Reply Quote 1
                • dc42undefined
                  dc42 administrators @Saktziki
                  last edited by dc42

                  @saktziki said in Home all axis at once:

                  I back away from the endstops and the approach them slowly again but they don't stop.

                  Leave the printer in relative coordinate mode (G91) while homing and backing off.

                  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

                  Saktzikiundefined 1 Reply Last reply Reply Quote 0
                  • Saktzikiundefined
                    Saktziki @dc42
                    last edited by

                    @dc42 Thank you so much! I got it to work now 🙂

                    1 Reply Last reply Reply Quote 0
                    • sonderzugundefined
                      sonderzug @dc42
                      last edited by

                      @dc42 I realise I'm reviving quite an old thread, but my question is closely related so I'd like to add it here:
                      On my setup (IDEX in dual markforged configuration, e.g. all gantry motors have to move for most all X/Y/U moves, separate endstops for each axis), when comissioning a

                      G1 H1 X-1000 Y-1000 U1000
                      

                      homing move, all movement halts when the first endstop is reached, meaning that the other axes don't finish their moves. Is this normal with this kinematic setup or has something changed since the above remarks about homing all axes at once? My setup is a 5+ mini and 3HC with FW 3.5b2.
                      Thank you for your time.

                      best, Niklas

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

                        @sonderzug said in Home all axis at once:

                        @dc42 I realise I'm reviving quite an old thread, but my question is closely related so I'd like to add it here:
                        On my setup (IDEX in dual markforged configuration, e.g. all gantry motors have to move for most all X/Y/U moves, separate endstops for each axis), when comissioning a

                        G1 H1 X-1000 Y-1000 U1000
                        

                        homing move, all movement halts when the first endstop is reached, meaning that the other axes don't finish their moves. Is this normal with this kinematic setup or has something changed since the above remarks about homing all axes at once? My setup is a 5+ mini and 3HC with FW 3.5b2.

                        Yes, that's normal when the homing move involves a motor that affects the position of more than one axis (CoreXY, MarkForged etc). We suggest that you home such a machine as follows:

                        1. Use an initial homing move that tries to home several axes at once (XYU in your case). This will finish when one of the endstops is triggered.
                        2. Follow that with a separate G1 H1 move for each axis.

                        Step #1 is optional but it speeds up homing.

                        Step #2 could be done differently. For example, you could use a homing move that tries to home X and U together, then follow that with separate X, Y and U homing moves. You could even interrogate the endstop switches and use conditional GCode to decide which axes to home next.

                        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

                        sonderzugundefined 1 Reply Last reply Reply Quote 0
                        • sonderzugundefined
                          sonderzug @dc42
                          last edited by

                          @dc42 thank you, those are some good pointers. I guess I'll leave it at that (right now I have it set at separate moves for each axis).

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