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

Nonlinear Z axis possible?

Scheduled Pinned Locked Moved
General Discussion
5
11
577
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
    Lo-Fi
    last edited by 3 Apr 2022, 21:06

    Hi folks

    Is it possible to configure RRF for nonlinear Z movement? Driving Z through a scissor lift type mechanism is the example I have in mind, so a little trig required to calculate the true steps/mm for any given height. I'm not much past the idle curiosity stage with the idea and there are certainly some challenges, but it's one that's proving interesting.

    Many thanks!

    undefined undefined undefined 3 Replies Last reply 4 Apr 2022, 13:17 Reply Quote 0
    • undefined
      T3P3Tony administrators @Lo-Fi
      last edited by 4 Apr 2022, 13:17

      @lo-fi AFAIK this would require a new kinematics.

      www.duet3d.com

      undefined 1 Reply Last reply 4 Apr 2022, 13:42 Reply Quote 0
      • undefined
        Lo-Fi @T3P3Tony
        last edited by 4 Apr 2022, 13:42

        @t3p3tony Thanks Tony, I had a feeling that might be the answer. To be fair, it may not be the smartest way to go about it anyway, but if you don't ask you don't know!

        1 Reply Last reply Reply Quote 0
        • undefined
          Phaedrux Moderator
          last edited by 4 Apr 2022, 19:56

          Requiring new kinematics has never stopped us before 😄

          Z-Bot CoreXY Build | Thingiverse Profile

          undefined 1 Reply Last reply 5 Apr 2022, 00:05 Reply Quote 0
          • undefined
            Lo-Fi @Phaedrux
            last edited by 5 Apr 2022, 00:05

            @phaedrux that's dangerous talk around compulsive tinkerers.... Hehe. I'll have a poke about in the code, I suspect I can find something from the scara source I can use.

            1 Reply Last reply Reply Quote 0
            • undefined
              markz @Lo-Fi
              last edited by 6 Apr 2022, 11:11

              @lo-fi I have a fork of the Reprap firmware that does what you're asking for. It lets you define a lookup table for wanted Z <-> actual Z.

              See: https://github.com/MZachmann/RepRapFirmware

              undefined 1 Reply Last reply 6 Apr 2022, 13:37 Reply Quote 1
              • undefined
                zapta @Lo-Fi
                last edited by 6 Apr 2022, 12:49

                Can this be achieved with a post-processing of the gcode file? At least for the exploration phase?

                1 Reply Last reply Reply Quote 1
                • undefined
                  Lo-Fi @markz
                  last edited by 6 Apr 2022, 13:37

                  @markz thank you so much! I'll have a quick play with that, it sounds perfect.

                  @zapta I pondered this myself. Doing similarly, you'd need a lookup table to convert the linear layer heights into what you actually need.

                  Whether either is approach is workable mechanically in this use case, I'm not sure! The nonlinearity is quite severe at low layer heights. I need to do some more cad simulation. Nothing to lose but time and guaranteed to learn something 🙂

                  undefined 1 Reply Last reply 6 Apr 2022, 13:53 Reply Quote 0
                  • undefined
                    zapta @Lo-Fi
                    last edited by 6 Apr 2022, 13:53

                    @lo-fi why lookup table and not a formula? If you write a program to post process the gcode it can use a formula to transform the z values.

                    undefined 1 Reply Last reply 6 Apr 2022, 15:06 Reply Quote 0
                    • undefined
                      markz @zapta
                      last edited by markz 4 Jun 2022, 15:10 6 Apr 2022, 15:06

                      @zapta @lo-fi I use a lookup table because my application needed a piecewise linear approximation and a lookup table.

                      If you try to use a gcode postprocessor there are all sorts of issues to deal with - like what is your workspace transformation? Change the workspace zero and the gcode doesn't change but the transformation code needs a different origin... for example. Also, how to deal with things like arcs in the Z axis?

                      If you want to go the route of an algorithmic solution I'd strongly recommend looking at the lookup table and then using code in the same chunk of the firmware.

                      undefined 1 Reply Last reply 6 Apr 2022, 15:39 Reply Quote 0
                      • undefined
                        Lo-Fi @markz
                        last edited by 6 Apr 2022, 15:39

                        @markz @zapta

                        At this stage I wouldn't rule anything out. I'd have some reservations about assuming that the relationship is a straight up trig function as you're relying on the leadscrew to be quite linear itself. There's also considerable force on it. At low Z heights, any small deviation would be amplified, so the table would be better assuming it's based on measured heights not calculated. Experimentation needed for both methods 🙂

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