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

    Scara arm overshoots position during homing routine

    Scheduled Pinned Locked Moved Solved
    Duet Hardware and wiring
    2
    10
    333
    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.
    • gnmrc_undefined
      gnmrc_
      last edited by

      I’ve built a 5bar scara arm, I can home the 2 arms in the home5barscara.g but when I try to do a G0/G1 move to set the hotend position to the center to home z, the arms overshoot the required position. If I only home the arms then send a G92 Z## from the dashboard the arm works as expected.

      This is the config.g file: config (1).g
      This is the homig file: home5barscara (2).g

      Thanks in advance for the help.

      JoergS5undefined 1 Reply Last reply Reply Quote 0
      • gnmrc_undefined gnmrc_ referenced this topic
      • JoergS5undefined
        JoergS5 @gnmrc_
        last edited by

        @gnmrc_ when the homing file issues

        G1 X0 Y0 F300 S2

        the S2 is an old parameter which is H2 today. So your command tells individual axis moves to move left arm to X0 and right arm to Y0, and the hotend result is somewhere, but not the desired X0Y0 coordinate.

        You shoud use
        G1 X0 Y0 F300
        instead.

        gnmrc_undefined 1 Reply Last reply Reply Quote 0
        • gnmrc_undefined
          gnmrc_ @JoergS5
          last edited by

          @JoergS5 sorry, I forgot to link the old thread, @Phaedrux told me to open a new one to make DC42 read it. So here’s the link there you can find also the video of the machine.
          I tried not to use any parameter but the printer gives me an error, the arm cannot be moved because it’s not homed even if the arms have reached the endstops.

          JoergS5undefined 1 Reply Last reply Reply Quote 0
          • JoergS5undefined
            JoergS5 @gnmrc_
            last edited by

            @gnmrc_

            You can check homing by triggering the endstop manually (I use a pencil to avoid damage to my fingers), then check whether the corresponding letter in DWC changes its color (which means it's homed). If this is not the case, the M574 definition is wrong.

            All axes must be homed before you can make an normal G1 move, so Z must be homed also before you can move the arms. For testing, you can home an axis with G92 without endstop help, e. g. G92 Z0 to home Z and setting its current position to 0.

            gnmrc_undefined 1 Reply Last reply Reply Quote 0
            • gnmrc_undefined
              gnmrc_ @JoergS5
              last edited by gnmrc_

              @JoergS5 The endstops work correctly, I tried at the start of the homing file to set G92 Z0 but the arm still does not work.

              JoergS5undefined 1 Reply Last reply Reply Quote 0
              • JoergS5undefined
                JoergS5 @gnmrc_
                last edited by JoergS5

                @gnmrc_ so I lost the overview, what is missing? You say the endstops work correctly. Do you mean the axes are marked as homed? (i. e. the color changes in DWC). And all letters are colored as homed?

                When you power on, the DWC should mark all letters as unhomed. If some letters are marked homed already after starting up without any triggering, configuration of M574 is wrong (change NC normally closed to NO normally open or other round by removing or adding !). It should be marked homed when you trigger the endstop, not earlier.

                One possibility after homing all axes is that the hotend is out of position of the allowed region, so a G1 is not possible. But you should get an error message on the console (something like "position unreachable"). You can solve that by moving the hotend with G1 H2 commands so the hotend is in a valid area. Then G1 should be allowed and possible.

                gnmrc_undefined 1 Reply Last reply Reply Quote 1
                • gnmrc_undefined
                  gnmrc_ @JoergS5
                  last edited by

                  @JoergS5 , so endstops works, the leds on the mobo turn on when the machine reaches the endstop in the correct position and if I interrupt the homing sequence before trying to home z the dashboard gives me x,y homed. What I am not able to do is home Z, my z endstop in an FSR switch that triggers when the nozzle touches the bed. My hotend in the home position is outside the build plate, to home Z I need to move the nozzle to the bed center, that is my 0,0 position, to do so I wanted to use a G0/G1 move, but the command continues to move the arm without stopping. This is a post with the video of the machine behaviour.

                  Something curious that is happening is that if in my homing file I do not home z, and in the dashboard I use a g92 command to home z, the arm works in the right way, but if I add the same command inside the homing file it does not work.

                  JoergS5undefined 2 Replies Last reply Reply Quote 0
                  • JoergS5undefined
                    JoergS5 @gnmrc_
                    last edited by JoergS5

                    @gnmrc_ said in Scara arm overshoots position during homing routine:

                    command continues to move the arm without stopping.

                    you may have overlooked my comment above: there are two G1 types of moves:

                    • G1 X0 Y0 S2 (or better H2) are values of 0 degree for the first and 0 degrees of the second axis. The result is a hotend position which is not 0,0
                    • G1 X0 Y0 uses coordinates. But they require all axes to be homed.

                    In you homing file the S2/H2 type is used.

                    So instead your command I would try G1 X70 Y180 H2, which results in about the 0,0 hotend position, coordination based. Then you can home Z and start using G1 commands without H paramters.

                    Why G92 doesn't work in the homing file - I don't know. Please post how you tried it. Maybe you used commands after G92 which un-homes Z again.

                    1 Reply Last reply Reply Quote 0
                    • JoergS5undefined
                      JoergS5 @gnmrc_
                      last edited by JoergS5

                      @gnmrc_ if you need the exact 0,0 angles, then the following procedure will help:

                      • use the procedure where you can position the hotend to 0,0
                      • call M114 at the console. The Count values give information about the current single arm positions. They are the M92 values multiplied with angles (you have to take microsteps and gear ratios into account).
                      • in your case your M92 for X is 1777.78, so 1777.78 steps for every degree. E.g. the first Count value is 124000, then 124000/1777.78 = 69.75 degrees of the first axis.
                      1 Reply Last reply Reply Quote 1
                      • gnmrc_undefined
                        gnmrc_
                        last edited by gnmrc_

                        @JoergS5 thanks for the help, you fixed it. I moved the G92 command position and now it works as it should, it was such a dumb fix..... I am so stupid.

                        1 Reply Last reply Reply Quote 0
                        • Phaedruxundefined Phaedrux marked this topic as a question
                        • Phaedruxundefined Phaedrux has marked this topic as solved
                        • First post
                          Last post
                        Unless otherwise noted, all forum content is licensed under CC-BY-SA