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

    M425 Backlash compensation happens too slow even with S1

    Scheduled Pinned Locked Moved
    General Discussion
    4
    8
    232
    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.
    • wescundefined
      wesc
      last edited by wesc

      I have a machine with 1Z cantilever bed. I'm using a Stepper Online 10:1 precision planetary gearmotor for Z.

      I'm measuring a backlash of 0.044mm. (which is about 80% of the datasheet max backlash). 22% of a standard 0.2mm layer height

      With a M425 Z0.044 S1

      There's too much lag in compensating the backlash to make bed mesh really useful.

      Ideally i'd like it taken up as fast as the stepper motor driver can take the steps on the reversal. Can we have an option for that? Like -S0 says do the backlash comp as soon as is possible?

      CroXY - Crossed Gantry Printer, Ultibots D300VS+, Custom CoreXYU

      dc42undefined engikeneerundefined 2 Replies Last reply Reply Quote 2
      • dc42undefined
        dc42 administrators @wesc
        last edited by dc42

        @wesc backlash compensation isn't really intended for use in 3D printers, it meant for CNC machines. The problem is that when 3D printing we can't suddenly stop extrusion while the stepper motor takes up the backlash and then suddenly start it again. If we try to command the stepper motor to take up the backlash instantly, that it likely to result in missed steps unless the amount of backlash is small (well under one full step). The belt-driven axes used in most 3D printers don't usually have much backlash anyway.

        Backlash compensation in CNC machines is easier. The speeds are generally lower and there is no extrusion to worry about; so backlash can be taken up without rushing.

        How much is the backlash in your Z axis, converted to motor full steps?

        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

        wescundefined 1 Reply Last reply Reply Quote 0
        • engikeneerundefined
          engikeneer @wesc
          last edited by

          @wesc do you actually need the backlash compensation in Z?

          Typically the weight of the bed will always keep the gearbox loaded on one flank even when you reverse directions. You'd only go across the backlash if you are using z accelerations approaching 10000 mm/s^2 (I.e. 1g) where you are outrunning gravity. Granted a bit of friction might make that number smaller in practice, but I doubt you'd be anywhere near those limits if your motor has to run through a 10:1 ratio.

          It's different on X/Y axes where you don't have gravity always pulling in one direction. I know I've seen many printers with 'anti backlash' nuts on the z lead screws, but they just don't make sense to me from a physics point of view!

          E3D TC with D3Mini and Toolboards.
          Home-built CoreXY, Duet Wifi, Chimera direct drive, 2x BMG, 300x300x300 build volume
          i3 clone with a bunch of mods

          wescundefined 1 Reply Last reply Reply Quote 1
          • wescundefined
            wesc @engikeneer
            last edited by wesc

            @engikeneer
            Adding a 2.2kg load to the bed (which weighs approx 1.2kg) changed the backlash from about 22 microns to about 14 (there's a variance of a few microns).

            CroXY - Crossed Gantry Printer, Ultibots D300VS+, Custom CoreXYU

            1 Reply Last reply Reply Quote 0
            • wescundefined
              wesc @dc42
              last edited by

              @dc42
              So i did another round of tests with a better setup.

              Backlash is approx 20-24 microns with empty bed weight 1.2kg. With 2.2kg on the bed the backlash is approx 14 microns. Backlash is pretty much the same (within 10%) when reversing either direction.

              200 step motor, 10:1 reduction, 20T pulley at 16i means 800 steps/mm

              .024 * 800 = 19.2 microsteps = 1.2 full steps. Could that be applied instantaneously without issue? M425 with S0 could enable this if feasible from a code standpoint.

              CroXY - Crossed Gantry Printer, Ultibots D300VS+, Custom CoreXYU

              1 Reply Last reply Reply Quote 0
              • dwuk3dundefined
                dwuk3d
                last edited by

                I'm currently modifying a printer that has belts on all axis , to have additional micro Z adjustment using small lead screw motors on each print head - which on reading your thread makes me think I might be introducing some backlash problems too.

                Due to multiple print heads not being supported by firmware mesh levelling - I was planning when I get to the stage of refining print quality to address micro Z mesh adjustments using a GCODE post processor.

                I was thinking the post processor could reads in the bed mesh file and then make any necessary tiny adjustments to the Z coordinates of the layers within the mesh compensation scope . If necessary splitting up any long moves that span irregular areas of the bed into smaller chunks that can have the appropriate MicroZ compensation applied.

                Thinking about mesh compensation I think a post processor should take backlash in to account too - I guess it might not be that hard to allow for the fact that moves in a certain direction might need a tiny little bit of extra or less Z adjustment made to them to take in to account the backlash.

                My Bed is fixed - so I don't think I will be affected by backlash amounts changing depending on the weight of print on the bed - but I guess that could also be included too in a post processor - although I am guessing that printed object weight would only start to become significant when you are well above the normal bed mesh compensation layers.

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

                  @dwuk3d does your printer have the facility to make small Z adjustments independently on each head? If so, please create a feature request to support this at https://github.com/Duet3D/RepRapFirmware/issues.

                  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

                  dwuk3dundefined 1 Reply Last reply Reply Quote 0
                  • dwuk3dundefined
                    dwuk3d @dc42
                    last edited by dwuk3d

                    @dc42 Ok thanks - Yes my printer has separate Z adjustments for each print head - have raised enhancement request.

                    Referenced Multiple Motion System Mesh Adjustment and Z hopping in the same request - but could separate them out if that would be better.
                    https://github.com/Duet3D/RepRapFirmware/issues/1106

                    ukdavewood created this issue in Duet3D/RepRapFirmware

                    open [FeatureRequest]: Multiple Motion System - Micro Z Adjustment and Z Hopping #1106

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