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

Parallel Scara printer improvements

Scheduled Pinned Locked Moved
Firmware developers
2
10
619
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.
  • undefined
    JoergS5
    last edited by JoergS5 6 Oct 2021, 22:38 31 May 2021, 07:39

    I start working on improving the current five bar parallel scara kinematics this and next week, mainly on the following topics:

    • verify the existing code for any arm angles for all work modes
    • support the missing work mode 3
    • detailed object model
    • report detailed reason when a G1 move is not allowed, e.g. telling that the reason is an angle restriction. Finding out the reason today is often not easy
    • there was a bug in the current version with a workaround. Find reason and fix
    • M669 without parameters: report current settings
    • autoadjustment and get precise angles at homing (proposals o_lampe, see below)

    If you have ideas for improvement of the current version, please place here, I'll implement if possible. I'll try to finish development and testing the next 2 weeks, please add only feature requests which I can fulfill in the time. A backlog for extended requests is possible of course.

    Status: I'll finish soon with implementing and making a pull request to 3.4-dev:

    • bug fix, object model, M669 reports parameter and last angle errors of last move
    • next release: working mode 3, autoadjustment, verify all possible angles
    undefined 1 Reply Last reply 31 May 2021, 07:46 Reply Quote 0
    • undefined
      o_lampe @JoergS5
      last edited by 31 May 2021, 07:46

      @joergs5
      An autoadjustment routine, like for Delta printers, which corrects homing angles and bar-length?
      I thought of a temporary mounted vertical plane, where the effector can probe against.

      undefined 1 Reply Last reply 31 May 2021, 07:48 Reply Quote 0
      • undefined
        JoergS5 @o_lampe
        last edited by JoergS5 31 May 2021, 07:48

        @o_lampe it would be useful for me if you have a description or link to an existing thread which describes your wish. Sounds to be an interesting request and I think I know what you want, but to be sure... If you have a scientific article pdf, this would be fine as well.

        undefined 1 Reply Last reply 31 May 2021, 08:00 Reply Quote 0
        • undefined
          o_lampe @JoergS5
          last edited by o_lampe 31 May 2021, 08:00

          @joergs5
          there is no thread, but from what I read in rutkus thread, I thought it was useful. In Bondus thread, he made a few adjustment prints, because there was no plane to probe against. ( Deltas just probe the bed to adjust everything)
          What you'd need to do is mounting a XY-plane parallel to the fixed bar. Could be an angled extrusion mounted on the bed. You don't need much height, only width.

          undefined 1 Reply Last reply 31 May 2021, 08:31 Reply Quote 0
          • undefined
            JoergS5 @o_lampe
            last edited by JoergS5 31 May 2021, 08:31

            @o_lampe if you use a parallel xy plane, you need to adjust this first, so this is not complete autoadjust. The idea I discussed with @bondus in 2019 was to calculate back from a print result to the kinematics and adjust the parameters until the print result is ok, but we agreed that the task is difficult.
            I'll think about your request and if you have additional idea, please post here. This is probably a request for a later release, but maybe I can implement a simple first version.

            undefined 1 Reply Last reply 4 Jun 2021, 12:27 Reply Quote 0
            • undefined
              JoergS5
              last edited by JoergS5 6 Aug 2021, 09:12 4 Jun 2021, 06:23

              The bug was probably for the reason that some kinematics result in a position where the inverse kinematics results in a wrong angle. E.g. negative angle results in big angle (negative + 360 degree) for inverse kinematics. The fix is an insertion of the following code into getInverse before the line cachedX0 = x_0;
              with the code:

              // bugfix 2021-06-04: a negative kinematics angle was calculated back by inverse kinematics
              // to a big angle. It is corrected now to be calculated back to an angle inside the C parameters limits.
              if(thetaL > actuatorAngleLMax) {
              thetaL -= 360;
              }
              if(thetaL < actuatorAngleLMin) {
              thetaL += 360;
              }
              if(thetaR > actuatorAngleRMax) {
              thetaR -= 360;
              }
              if(thetaR < actuatorAngleRMin) {
              thetaR += 360;
              }

              For modes L1, L2 and L4 the fix is tested successfully. Changed documentation that C parameter angles shall not overlap for inverse kinematics not to be ambiguous.

              1 Reply Last reply Reply Quote 0
              • undefined
                o_lampe @JoergS5
                last edited by o_lampe 6 Apr 2021, 12:29 4 Jun 2021, 12:27

                @joergs5 said in Parallel Scara printer improvements:

                maybe I can implement a simple first version.

                It seems to be crucial to have the homing angle perfect. Maybe there's a way to simplify that?

                If I have to square a frame, I adjust diagonals until they are equal length.
                Is it possible to home both arms at a parallel position? (both at 90°)

                |/| == |\|
                

                Then it would be easy to adjust the home switches with the above mentioned method.

                undefined 1 Reply Last reply 4 Jun 2021, 20:17 Reply Quote 0
                • undefined
                  JoergS5 @o_lampe
                  last edited by JoergS5 6 Apr 2021, 20:38 4 Jun 2021, 20:17

                  @o_lampe you can home at any angle you wish. Before you run G1 commands, you have to G1 H2 the steppers into a position compatible with the working mode. 90/90 is working mode 2, so if you wish to run L1 mode, you should rotate angles to e.g. 50/90 after homing and before proceeding.

                  I thought about using 2 endstops each, e.g. at 90 and 0 degree position, to check (or to get and set) the M92 setting. But I'm not sure whether it's supported by firmware. For wire based solutions this may be interesting, because you may not know the gear ratio exactly. For my teethless aluminium plates (robot prototype) it's the same problem.

                  Another idea I once had is:
                  parScHoming.jpg
                  Having an exact long electric conducting shaft (black line), then turn actuator 1 until the green line touches the black one. Then turning green back enough, then turn actuator 2 until blue touches the black. This should result in precise 180/0 defintion. Instead of electricity, optical measurement is also possible (laser?).

                  undefined 1 Reply Last reply 5 Jun 2021, 07:29 Reply Quote 0
                  • undefined
                    o_lampe @JoergS5
                    last edited by o_lampe 6 May 2021, 07:31 5 Jun 2021, 07:29

                    @joergs5 said in Parallel Scara printer improvements:

                    I thought about using 2 endstops each

                    The long conductive bar could be shorter, if you extend the 'rear end' of the arm and use it to trigger an endstop. And you could use the same endstop twice (with 180° 'known' difference). The trigger points could also be integrated as dent on the circumfence of the big wheels. In CAD it's easy to place dents at 90 or 180 degree. Then the endstops could sit on the fixed bar.

                    Unfortunately Gcode has many ways to adjust 'Z', but G30 in all it's flavours doesn't work for X,Y. You'd have to use G1 Hx to figure out exact M92-angles. But it's a step in the right way.

                    undefined 1 Reply Last reply 5 Jun 2021, 07:47 Reply Quote 0
                    • undefined
                      JoergS5 @o_lampe
                      last edited by 5 Jun 2021, 07:47

                      @o_lampe said in Parallel Scara printer improvements:

                      And you could use the same endstop twice (with 180° 'known' difference)

                      that's a good idea!

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