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

    Duet 3 SCARA questions

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    3
    21
    1.0k
    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.
    • jstevewhiteundefined
      jstevewhite @JoergS5
      last edited by

      @JoergS5

      I've tried this:
      M669 K4 P280 D270 A0:180 B160:25 C0:0:0 ; set to SCARA and set params

      The proximal arm homes all the way counterclockwise, and the distal arm homes all the way clockwise. I'm not at all certain which way it SHOULD be here. I've tried all four permutations:

      M669 K4 P280 D270 A0:180 B160:25 C0:0:0 ; set to SCARA and set params
      M669 K4 P280 D270 A0:180 B25:160 C0:0:0 ; set to SCARA and set params
      M669 K4 P280 D270 A180:0 B160:25 C0:0:0 ; set to SCARA and set params
      M669 K4 P280 D270 A180:0 B25:160 C0:0:0 ; set to SCARA and set params

      Any permutation that doesn't have them opposite says X is at 520mm, which would be with the distal arm fully extended.

      It's my understanding the angle should be increasing in the counter-clockwise direction, so A0:180 B160:25 should be correct... I think? It's not straightforward at all πŸ˜„

      M114 still says:

      X:-26.283 Y:-92.346 Z:0.000 E:0.000 E0:0.0 Count 16200 14400 0 Machine -26.283 -92.346 0.000 Bed comp 0.000

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

        @jstevewhite I've only read the documentation and it says A and B parameters the min angles first.
        A0:180 B25:160
        Please check https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareSCARAPrinter for the information in which direction the stepper should rotate and which direction is the positive value.

        The parameters are the limit setup, but this has nothing to do with the rotation direction or where your homing positions are.
        you should check

        • is the position correct after homing
        • are the stepper directions correct

        I would try relative mode G91 and make a small movement first.

        ( I am here at the tablet, its difficult for me to check it.)

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

          @jstevewhite in the section "Testing the motors individually" of the doc link is the information in which direction the stepper should rotate. use H2 instead of S2 as parameter (changed for rrf3). H2 means it is ignoring homing or m208 limits.

          jstevewhiteundefined 1 Reply Last reply Reply Quote 0
          • jstevewhiteundefined
            jstevewhite @JoergS5
            last edited by

            @JoergS5

            So this config line:

            M669 K4 P280 D270 A0:180 B25:160 C0:0:0 ; set to SCARA and set params

            results in this:

            X:-26.283 Y:-92.346 Z:0.000 E:0.000 E0:0.0 Count 16200 14400 0 Machine -26.283 -92.346 0.000 Bed comp 0.000

            Which is sorta right ( -26, -92 is "kinda" sane ) but any motion fails with "Target Position not reachable from current position".

            I had created macros to move each motor individually some time ago, and the motion direction is appropriate as described by the section you linked (that's where I got my information above) and without them I mostly can't move the motors because any G1 (any number) is met with "Target position not reachable from current position". When I move the motors individually, the x/y co-ordinates don't make any sense in this configuration.

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

              @jstevewhite I would say if you cannot make any movement with a little G1 (with G91 before to be a relative movement), this means the current position is already outside of the allowed region. Can you please post how you are homing? homeall.g, homedistal.g and homeproximal.g

              Your statement
              "Any permutation that doesn't have them opposite says X is at 520mm, which would be with the distal arm fully extended." would be a correct position which you can try again to start with, but with parameter B changed to include the 0 degree, so e.g. B-25:160 because otherwise the 0/0 degree angles are outside of the allowed region. To make sure, I would change A also:
              A -20:180 B-20:160
              and after having the arm in this straight position and all axes marked as homed in the DWC, try something like
              G91 G1 X1

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

                @jstevewhite if you are still using your first image configuration, the A angles are between 90.1 and -89.9 degree and B angles are between 20.0 and -130.9 degrees (because clockwise is negative).

                So the parameters should be (sorted min values first):
                A-89.9:90.1 B-130.9:20.0

                (but -130.9 seems to be wrong to me and should be smaller eg -150. The angle should start at the prolongation of proximal and distal arm)

                jstevewhiteundefined 2 Replies Last reply Reply Quote 0
                • jstevewhiteundefined
                  jstevewhite @JoergS5
                  last edited by

                  @JoergS5 said in Duet 3 SCARA questions:

                  A-89.9:90.1 B-130.9:20.0. < this one results in "Intermediate position outside machine limits" for any move at any point in the machine's actual rotational ability.

                  So I've tried both of those configurations after (once again) correcting the rotation direction (had the distal arm rotating the wrong direction). The first one is similar to a config I've tried. It allows me to do small moves in X and Y, but the co-ordinates are nonsensical - they look right at homing, but 0,0 is maybe 300mm from the Proximal axis and once you cross it any relative move results in a long move that goes out of the working area. E.g. G91; G1 X1 results in a 90ΒΊ rotation of the proximal axis.

                  If I read the docs (and dc42) right, 0,0 should be at the proximal axis pivot. Meaning X and Y should be decreasing as the effector moves away from the axis. I'm wondering if I should be using angles in the lower quadrant (negative going on both axes) because the bot is left handed. e.g. 180-360 instead of 0-180.

                  1 Reply Last reply Reply Quote 0
                  • jstevewhiteundefined
                    jstevewhite @JoergS5
                    last edited by

                    @JoergS5

                    Here's homedistal.g

                    G91 ; relative movement
                    G1 H1 Y-200 F2000 ; move distal joint counter-clockwise until triggers
                    G1 H2 Y10 ; back off 10 degrees
                    G1 H1 Y-20 F1200
                    ;G1 H2 Y20
                    G90

                    and homeproximal.g

                    G91 ; relative movement
                    G1 H1 X200 F1200 ; move distal joint counter-clockwise until triggers
                    G1 H2 X-10 ; back off 10 degrees
                    G1 H1 X40 F300
                    ;G1 H2 X20
                    G90

                    I do not use homeall.g because I can't make it stop throwing an error trying to home z, even though I have no Z axis configured.

                    1 Reply Last reply Reply Quote 0
                    • jstevewhiteundefined
                      jstevewhite
                      last edited by

                      There is clearly a problem with the angles I'm using here because no combination I have tried puts 0,0 at the Proximal axis.

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

                        my post about G92 was wrong, see below

                        jstevewhiteundefined 1 Reply Last reply Reply Quote 0
                        • jstevewhiteundefined
                          jstevewhite @JoergS5
                          last edited by

                          @JoergS5

                          I'll sure try that tomorrow, but at one point I had it set with the angles correct in M208 for the endstops and it still didn't have 0,0 in the appropriate location.

                          I'll report back tomorrow πŸ˜„

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

                            my post about G92 was wrong, see below

                            jstevewhiteundefined 1 Reply Last reply Reply Quote 0
                            • jstevewhiteundefined
                              jstevewhite @JoergS5
                              last edited by jstevewhite

                              @JoergS5

                              Image of robot (drawbot, not printer):
                              Monosnap 2020-10-17 12-44-17.jpg

                              Please disregard the marked angles as other than an indication of the range of motion.

                              I do not understand this bit:

                              The crosstalk factors define how much the motors interfere with each other. If they are all zero then it is assumed that the X motor affects only the angle between the proximal arm and the X axis, the Y motor affects only the angle between the distal arm and the X axis (not the proximal-to-distal arm angle as you might expect), and the Z motor affects only the nozzle height. If this is true for your printer, you can omit the C parameter. Otherwise, if the parameter is of the form Caaa:bbb:ccc, then:

                              aaa is the amount by which the X motor (whose primary function is to control the proximal arm) affects the angle between the distal arm and the proximal arm. For example, if movement of the proximal motor affects the proximal-to-distal joint angle in reverse (so that an X motor movement that causes one degree of proximal arm movement also changes the angle between the distal arm and the X axis by one degree in the opposite direction) then this crosstalk factor is 1.

                              They seem to contradict one another.

                              G92 does not seem to set the angle the machine believes the arms are at, but instead appear to affect cartesian co-ordinates:

                              10/18/2020, 11:37:13 AM	M114
                              X:16.886 Y:150.000 Z:0.000 E:0.000 E0:0.0 Count 1391 22457 0 Machine 16.886 150.000 0.000 Bed comp 0.000
                              10/18/2020, 11:37:08 AM	G92 Y150
                              10/18/2020, 11:37:00 AM	M114
                              X:16.886 Y:95.766 Z:0.000 E:0.000 E0:0.0 Count 0 24915 0 Machine 16.886 95.766 0.000 Bed comp 0.000
                              

                              As you can see, G92 Y150 resulted in Y being set to 150 and X being unchanged, but the reported angles change to something else entirely.

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

                                @jstevewhite said in Duet 3 SCARA questions:

                                G92 does not seem to set the angle the machine believes the arms are at, but instead appear to affect cartesian co-ordinates:

                                That's correct, that is how G92 is defined.

                                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

                                jstevewhiteundefined JoergS5undefined 2 Replies Last reply Reply Quote 0
                                • jstevewhiteundefined
                                  jstevewhite @dc42
                                  last edited by jstevewhite

                                  @dc42
                                  Can you clarify the bit I quoted? That's from the duet docs and is very confusing.

                                  Also, any advice since I made this thing left handed?

                                  Ultimately, I've been unable to come up with any combination of reported angles in M669 that result in 0,0 being at the proximal axis. The only even remotely functional settings I've come up with result in 0,0. being way up top and no moves being rectilinear. I made a law of cosines spreadsheet and calculated the angles but there's clearly some rotation here that I don't understand.

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

                                    This post is deleted!
                                    1 Reply Last reply Reply Quote 0
                                    • dc42undefined
                                      dc42 administrators
                                      last edited by

                                      I'm sorry, the documentation was out of date. I have corrected it. It now reads (changed part in italics):

                                      The crosstalk factors define how much the motors interfere with each other. If they are all zero then it is assumed that the X motor affects only the angle between the proximal arm and the X axis, the Y motor affects only the angle between the distal arm and the proximal arm, and the Z motor affects only the nozzle height.

                                      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