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

    Homeall issues

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    4
    18
    2.3k
    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.
    • darkorbzundefined
      darkorbz
      last edited by

      Ok, so for some strange reason this happens:
      It starts the correct sequence, starts to lower the Z height by 5mm, then starts to move X and Y towards -305 as the homeall.g file says.
      But for some reason it completely ignores the Y end stop. (X works fine, as does Z)

      Fine I thought, could be a fault in the switch, however M119 says triggered.
      also running the home Y individualy works fine, aswell does all the other axis.

      is there something I've missed here?
      a direct copy of the homeall.g file (generated by RepRapFirmware Configuration Tool, so not modified by me) :
      ; Relative positioning
      G91

      ; Lift Z
      G1 Z5 F6000

      ; Course home X or Y
      G1 X-305 Y-305 F1800 S1
      ; Course home X
      G1 X-305
      ; Course home Y
      G1 Y-305

      : Move away from the endstops
      G1 X5 Y5 F6000

      ; Fine home X
      G1 X-305 F360 S1
      ; Fine home Y
      G1 Y-305 S1

      ; Move Z down until the switch triggers
      G1 Z-300 F1800 S1

      ; Absolute positioning
      G90

      1 Reply Last reply Reply Quote 0
      • Whitewolfundefined
        Whitewolf
        last edited by

        When exactly does it ignore it, during the coarse home or after during the fine home? The only difference I see in your Gcode is the Y is missing the F param in fine home. Also you might try increasing the Y move away distance.

        Exploring the universe wherever the tech blows

        1 Reply Last reply Reply Quote 0
        • Whitewolfundefined
          Whitewolf
          last edited by

          Also you do not need as many lines as you have here is my homeall:

          ; homeall.g
          ; called to home all axes

          M581 X1 Y1 S-1 ; Disable emergency stop for XY only
          M208 X-35 Y-10 Z0 S1 ; Home outside build area
          M220 S100 ; Reset axis speed override
          M221 S100 ; Reset extruder speed override

          G91 ; Relative positioning
          G1 Z5 F6000 ; Lift Z by 5mm
          G1 S1 X-240 Y-240 F2000 ; Move quickly to home X and Y
          G1 X5 Y5 F600 ; Move away from the endstops
          G1 S1 X-10 Y-10 F200 S1 ; Move slowly to home X and Y

          ; Z homing section
          G90 ; Absolute positioning
          G1 X80 Y80 F6000 ; Put head over the centre of the bed, or wherever you want to probe
          G30 ; Lower head, stop when probe triggered and set Z to trigger height

          ; Return X and Y to home area
          G91 ; Relative positioning
          G1 Z5 F6000 ; Lift Z by 5mm
          G90 ; Absolute positioning
          G1 X-30 Y-5 F6000 ; go to X=-40 Y=-15

          M208 X0 Y0 Z0 S1 ; Restrict movements to build area

          Notice my coarse and fine movements are all one liners

          Exploring the universe wherever the tech blows

          1 Reply Last reply Reply Quote 0
          • darkorbzundefined
            darkorbz
            last edited by

            completely ignores it in coarse, I can manualy actuate the end stop and see the diode light up on both the end stop and on the duet.
            as for fine home I dunno since it fails to coarse home

            1 Reply Last reply Reply Quote 0
            • Whitewolfundefined
              Whitewolf
              last edited by

              @darkorbz:

              completely ignores it in coarse, I can manualy actuate the end stop and see the diode light up on both the end stop and on the duet.
              as for fine home I dunno since it fails to coarse home

              Try this:

              G91 ; Relative positioning
              G1 Z5 F6000 ; Lift Z by 5mm
              G1 S1 X-305 Y-305 F2000 ; Move quickly to home X and Y
              G1 X5 Y8 F600 ; Move away from the endstops
              G1 S1 X-10 Y-10 F200 S1 ; Move slowly to home X and Y

              G1 Z-300 F1800 S1; Move Z down until the switch triggers

              G90; Absolute positioning

              Exploring the universe wherever the tech blows

              1 Reply Last reply Reply Quote 0
              • darkorbzundefined
                darkorbz
                last edited by

                basicly modified mine to:
                G91 ; Relative positioning
                G1 Z5 F6000 ; Lift Z by 5mm
                G1 S1 X-305 Y-305 F3000 ; course home X or Y
                G1 S1 X-305 ; course home X
                G1 S1 Y-305 ; course home Y
                G1 X5 Y8 F600 ; move away from the endstops
                G1 S1 X-10 ; fine home X
                G1 S1 Y-10 ; fine home Y
                G1 Z-300 F1800 S1 ; Move Z down until the switch triggers

                G90 ; Absolute positioning

                this solved it yeah, dunno why the reprap code generator did it this way, as the other ones are that way aswell, eg:
                ; homex.g
                ; called to home the X axis
                ;
                ; generated by RepRapFirmware Configuration Tool on Sun Jun 18 2017 15:09:50 GMT+0200 (Vest-Europa (sommertid))

                ; Lift Z relative to current position
                G91
                G1 Z5 F6000
                G90

                ; Move quickly to X axis endstop and stop there (first pass)
                G1 X-305 F1800 S1

                ; Go back a few mm
                G91
                G1 X5 F6000
                G90

                ; Move slowly to X axis endstop once more (second pass)
                G1 X-305 F360 S1

                ; Lower Z again
                G91
                G1 Z-5 F6000
                G90

                1 Reply Last reply Reply Quote 0
                • Whitewolfundefined
                  Whitewolf
                  last edited by

                  You dont need all that, it is redundant. Use the modified one i gave you.

                  Exploring the universe wherever the tech blows

                  1 Reply Last reply Reply Quote 0
                  • Whitewolfundefined
                    Whitewolf
                    last edited by

                    You can modify your other ones to be stripped down as well.

                    Exploring the universe wherever the tech blows

                    1 Reply Last reply Reply Quote 0
                    • darkorbzundefined
                      darkorbz
                      last edited by

                      I'm using a CoreXY, so modified mine to match the https://duet3d.com/wiki/Configuring_RepRapFirmware_for_a_CoreXY_printer
                      like I said, all the homing files are directly from the Reprap configurator.

                      1 Reply Last reply Reply Quote 0
                      • Whitewolfundefined
                        Whitewolf
                        last edited by

                        @darkorbz:

                        I'm using a CoreXY, so modified mine to match the https://duet3d.com/wiki/Configuring_RepRapFirmware_for_a_CoreXY_printer
                        like I said, all the homing files are directly from the Reprap configurator.

                        I get it that it comes from the online configurator but it is not needed in DC42s fork (probably not needed in standard reprap)

                        G1 S1 X-305 Y-305 F3000 ; course home X or Y
                        G1 S1 X-305 ; course home X
                        G1 S1 Y-305 ; course home Y

                        it is these parts that I am referring to only the first line is needed.

                        There are some examples from DC42 himself in this blog article and since he designed the fork i tend to follow his advice over what the online generator produces: https://miscsolutions.wordpress.com/2014/06/11/five-tips-for-using-dc42-firmware-on-the-reprappro-ormerod/

                        Exploring the universe wherever the tech blows

                        1 Reply Last reply Reply Quote 0
                        • Whitewolfundefined
                          Whitewolf
                          last edited by

                          Also i believe the wiki shows both options as a reference that they can be done individually or combined in a single command. When sent individually per line the motion is handled one at a time x or y will move then the other.

                          when combined on the same line both motions will be executed at the same time.

                          What you have is redundancy as you can see in DC42s blog post he only uses the single line as well

                          Exploring the universe wherever the tech blows

                          1 Reply Last reply Reply Quote 0
                          • Whitewolfundefined
                            Whitewolf
                            last edited by

                            You can easily test this for yourself… just remove the two single lines and you will find that the behavior is exactly the same as before because the other two lines do nothing but slow down the queue before moving on to the next command as they shouldnt because x and y are already in the commanded positions from the first line.

                            Exploring the universe wherever the tech blows

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

                              @Whitewolf:

                              I get it that it comes from the online configurator but it is not needed in DC42s fork (probably not needed in standard reprap)

                              G1 S1 X-305 Y-305 F3000 ; course home X or Y
                              G1 S1 X-305 ; course home X
                              G1 S1 Y-305 ; course home Y

                              it is these parts that I am referring to only the first line is needed.

                              On a Cartesian printer, you need only the first line. On a CoreXY printer you need all 3 because the first move will be terminated when either homing switch is triggered.

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

                                @dc42:

                                @Whitewolf:

                                I get it that it comes from the online configurator but it is not needed in DC42s fork (probably not needed in standard reprap)

                                G1 S1 X-305 Y-305 F3000 ; course home X or Y
                                G1 S1 X-305 ; course home X
                                G1 S1 Y-305 ; course home Y

                                it is these parts that I am referring to only the first line is needed.

                                On a Cartesian printer, you need only the first line. On a CoreXY printer you need all 3 because the first move will be terminated when either homing switch is triggered.

                                What is the purpose of this? Why not just have the second two lines then?

                                Exploring the universe wherever the tech blows

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

                                  The purpose is to speed up homing, by moving the print head diagonally towards the homing corner until one of the axes has been homed. If your printer has a square print area and you start with the print head diagonally opposite the homing corner, this will halve the time it takes to home the X and Y axes.

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

                                    Sorry i get that, i mean the purpose of the endstops triggering all motions to stop. Does the core xy endstops remain active after a homing sequence? just trying to understand the need for the difference in behavior.

                                    Exploring the universe wherever the tech blows

                                    1 Reply Last reply Reply Quote 0
                                    • deckingmanundefined
                                      deckingman
                                      last edited by

                                      @Whitewolf:

                                      Sorry i get that, i mean the purpose of the endstops triggering all motions to stop. Does the core xy endstops remain active after a homing sequence? just trying to understand the need for the difference in behavior.

                                      No. Once homing has been completed, the end stops are ignored. But of course, once homing has been completed, the printer won't then move beyond the axes minima and maxima as defined in M208 of the config.g file.

                                      Ian
                                      https://somei3deas.wordpress.com/
                                      https://www.youtube.com/@deckingman

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

                                        @Whitewolf:

                                        Sorry i get that, i mean the purpose of the endstops triggering all motions to stop. Does the core xy endstops remain active after a homing sequence? just trying to understand the need for the difference in behavior.

                                        What the firmware does when a homing switch is triggered during a G1 S1 move is to stop a motor or motors. If you wanted the X homing switch to stop X motion but allow Y motion to continue on a CoreXY machine, you would need to recalculate the move and change the speed and/or direction of both motors when the switch is triggered, instead of just stopping motors. Although this would not be impossible to do, it would be a lot more complicated, for no real advantage.

                                        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