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

    Backlash compensation

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    13
    32
    6.2k
    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.
    • dc42undefined
      dc42 administrators
      last edited by

      It's very hard if not impossible to implement backlash compensation in a way that doesn't have unpleasant side effects. Some people tried to implement it in Marlin but it has never been accepted into the main branch. See https://github.com/MarlinFirmware/Marlin/issues/3664#issuecomment-344638870 for an example of the problems. Amongst the issues are:

      • When reversing direction in a print, if you don't take up the backlash very quickly enough then the head will be stationary for a short while, leading to over-extrusion at that point. But if you take it up too quickly then the motors will be noisy and you risk skipped steps.

      • Backlash compensation ruins the acceleration profile, making it more likely to excite resonances.

      In some simple cases such as printing a square parallel to the X and Y axes on a Cartesian machine, backlash compensation could be done in a way that doesn't cause problems, because the slack in the X axis could be taken up gradually while printing parallel to the Y axis, and vice versa. But if you rotate the square by 45 degrees, the slack needs to be taken up instantly.

      What steps/mm does your machine have, and how much backlash is there? Where the compensation required is no more than about 1 full step, it may be more practical to do because the risk of skipped steps should be small.

      MoonshineSG created this issue in MarlinFirmware/Marlin

      closed Hysteresis #3664

      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

      Edgars Batnaundefined tenajaundefined 2 Replies Last reply Reply Quote 2
      • Edgars Batnaundefined
        Edgars Batna @dc42
        last edited by Edgars Batna

        @dc42 said in Backlash compensation:

        • When reversing direction in a print, if you don't take up the backlash very quickly enough then the head will be stationary for a short while, leading to over-extrusion at that point. But if you take it up too quickly then the motors will be noisy and you risk skipped steps.
        • Backlash compensation ruins the acceleration profile, making it more likely to excite resonances.

        It's rather obvious you can't have best of all worlds, so not sure about all those points.

        That said, I do understand it's very nontrivial given the feature set Duet already has, but I've been waiting for backlash compensation for a while now too. The axes are the least of my problem, even though it could benefit my printer. The real thing for me is my bowden extruder. The tubing has some backlash due to being quite long and the fact that on high speeds the pressure is so high that the tube connections give by about 1-2mm. I've already tried everything I could read or think of and it just seems there's another variable missing. I've used the Repetier backlash compensation before and it was working like a charm.

        Not only X, Y, Z but Feeder motors should also be able to deal with backlash

        As for risk of skipped steps - a calibrated machine doesn't skip.

        T3P3Tonyundefined zaptaundefined 2 Replies Last reply Reply Quote 0
        • T3P3Tonyundefined
          T3P3Tony administrators @Edgars Batna
          last edited by

          @edgars-batna said in Backlash compensation:

          The axes are the least of my problem, even though it could benefit my printer. The real thing for me is my bowden extruder. The tubing has some backlash due to being quite long and the fact that on high speeds the pressure is so high that the tube connections give by about 1-2mm. I've already tried everything I could read or think of and it just seems there's another variable missing. I've used the Repetier backlash compensation before and it was working like a charm.

          This is exactly what pressure advance is for.

          https://duet3d.dozuki.com/Wiki/Pressure_advance

          www.duet3d.com

          1 Reply Last reply Reply Quote 0
          • tenajaundefined
            tenaja @dc42
            last edited by

            @dc42 said in Backlash compensation:

            • When reversing direction in a print, if you don't take up the backlash very quickly enough then the head will be stationary for a short while, leading to over-extrusion at that point. But if you take it up too quickly then the motors will be noisy and you risk skipped steps.

            Isn't the whole point of backlash compensation to reduce the mechanical dwell at a turning point? It's already sitting still in a mechanical dwell and overextruding, waiting for the axis slack to get taken up at a slow speed... Right? So, anything is better than nothing. In theory, anyway.

            Sometimes it's all about those microns that nobody else cares about that sets you apart, or makes your job easier.

            1 Reply Last reply Reply Quote 0
            • zaptaundefined
              zapta @mrehorstdmd
              last edited by

              @mrehorstdmd said in Backlash compensation:

              If there were a way to set up a table of corrections (maybe another config file with a list error values) for one cycle of the worm gear

              How will the duet know the current rotation angle of the gear? That is, how will you home the angle?

              mrehorstdmdundefined 1 Reply Last reply Reply Quote 0
              • mrehorstdmdundefined
                mrehorstdmd @zapta
                last edited by

                @zapta It won't, and the stuff I was prattling about was error correction, not backlash compensation. In a belt lifted Z axis (or screw lifted, for that matter) there should be no backlash, but there can be repeatable error introduced by gears used to prevent bed-drop on power off. I brought it up because someone else mentioned it in relation to Z axes.

                https://drmrehorst.blogspot.com/

                zaptaundefined 1 Reply Last reply Reply Quote 0
                • zaptaundefined
                  zapta @mrehorstdmd
                  last edited by

                  @mrehorstdmd, yes, I understand that, a consistent error that is a function of some gear angle. My question is, how the duet will know at what is the current angle of the gear to know at what amount to compensate? Will you have some mechanism to home the angle accurately enough such that duet can track it?

                  mrehorstdmdundefined 1 Reply Last reply Reply Quote 0
                  • zaptaundefined
                    zapta @Edgars Batna
                    last edited by

                    @Edgars-Batna said in Backlash compensation:

                    The real thing for me is my bowden extruder. The tubing has some backlash due to being quite long and the fact that on high speeds the pressure is so high that the tube connections give by about 1-2mm. I've already tried everything I could read or think of and it just seems there's another variable missing. I've used the Repetier backlash compensation before and it was working like a charm.

                    Isn't this the job of the Pressure Advance feature? Do you say that there is a way to compensate for bowdens even better? If so, it may be a very important feature.

                    (I gave on bowden and switch to a direct extruder. Couldn't get good enough results with a 600mm bowden tube).

                    Edgars Batnaundefined 1 Reply Last reply Reply Quote 0
                    • mrehorstdmdundefined
                      mrehorstdmd @zapta
                      last edited by

                      @zapta said in Backlash compensation:

                      @mrehorstdmd, yes, I understand that, a consistent error that is a function of some gear angle. My question is, how the duet will know at what is the current angle of the gear to know at what amount to compensate? Will you have some mechanism to home the angle accurately enough such that duet can track it?

                      It won't know. That's the problem with trying to do that type of error correction. An optical endstop should be precise enough but there's a lot more to it than that. You have to somehow align the error correction with the error.

                      https://drmrehorst.blogspot.com/

                      1 Reply Last reply Reply Quote 0
                      • Edgars Batnaundefined
                        Edgars Batna @zapta
                        last edited by Edgars Batna

                        @zapta said in Backlash compensation:

                        @Edgars-Batna said in Backlash compensation:

                        The real thing for me is my bowden extruder. The tubing has some backlash due to being quite long and the fact that on high speeds the pressure is so high that the tube connections give by about 1-2mm. I've already tried everything I could read or think of and it just seems there's another variable missing. I've used the Repetier backlash compensation before and it was working like a charm.

                        Isn't this the job of the Pressure Advance feature? Do you say that there is a way to compensate for bowdens even better? If so, it may be a very important feature.

                        (I gave on bowden and switch to a direct extruder. Couldn't get good enough results with a 600mm bowden tube).

                        The Bowden connectors give in after a few longer prints and there is permanent 1-2mm play. Yes, that's where backlash compensation has to be and it has nothing to do with pressure advance. Sure, I can dial in PA to account for backlash, but then there's stringing and inconsistent segments, because PA does not pull or push the filament fast enough but just gradually.

                        I'm tired of constantly proving my point, to be honest. Not directed at anyone specific, it's just overall experience. There's many firmwares around and they already included many features that ARE WORKING. It doesn't matter if we can or can't move the extruder instantaneously, we can at least try to implement it in a way that it works and experiment from there. Here goes my ranting again. I might try implementing it one day, but for now it's enough frustration.

                        Just go direct, forget the Bowden, as it's harder to control.

                        1 Reply Last reply Reply Quote 0
                        • bruceundefined
                          bruce
                          last edited by

                          Backlash compensator post-processor

                          I appreciate this is an old topic, but that backlash on direction change was my issue no matter how much I fine tuned my 1000mmx1000mm WorkBee OX running on Duet3D RepRap, and I couldn't find an acceptable software solution. I also had a couple of issues with post-processor that were available for RepRap CNC, so I made (and will continue to improve) this Fusion 360 Ultimate Post-Processor for RepRap!
                          Get it here from GitHub: https://github.com/BruceRoyce/UltimateRepRapPost/blob/main/UltimateRRPost.cps

                          When posting check "Apply Backlash Compensation" on the side panel, under Linear Backlash Compensation options and input 2 measured backlash on each axis (the offset for 1mm motion on direction change and for 10mm motion on each axis. Input 0 if none, see image below) and let it take care of backlashes by adjusting movements.
                          This in no way is a replacement for adjusting your config.g parameters and/or tuning the hardware to the best of your capability. It's only a final resort to overcome backlash.

                          It also takes care of manual tool change, corner or Z-probing, beeps when operator attention is required, fixes WCS issues and more.

                          df0f7d32-5a0e-4227-8f5c-911f09fa4ec5-image.png

                          Important note: I made this for my own use, so please exercise caution! Obviously I won't be responsible for anything related to the use of this post-processor! Use own your own risk

                          1 Reply Last reply Reply Quote 3
                          • First post
                            Last post
                          Unless otherwise noted, all forum content is licensed under CC-BY-SA