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

    Compensate for incorrect lead screw in dual motor axis

    Scheduled Pinned Locked Moved
    CNC
    cnc setup
    4
    6
    329
    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.
    • sh54undefined
      sh54
      last edited by

      I recently assembled one of the WorkBee CNC derivatives. The Y axis uses two motors. The Low X side of the Y axis seems to be very accurate. The High X side of the Y axis looks to be off due to what I measure to be a slightly stretched out lead screw. Every 400 mm the High X side moves one extra mm. I am going to replace the lead screw. In the mean time I was wondering if it was possible to compensate for this in the config? No commands are jumping out at me. If I could get the motor on the High X side of the Y axis to step just a bit slower than the other one then I would have a workaround

      The relevant part of my config.g:

      ; Drives
      M569 P0.0 S1                   ; physical drive 0.0 goes forwards
      M569 P0.1 S0                   ; physical drive 0.1 goes backwards
      M569 P0.2 S0                   ; physical drive 0.2 goes backwards
      M569 P0.3 S1                   ; physical drive 0.3 goes forwards
      M584 X0.0 Y0.1:0.2 Z0.3        ; set drive mapping
      M350 X16 Y16 Z16 I1            ; configure microstepping with interpolation
      M92 X400.00 Y400.00 Z400.00    ; set steps per mm
      M566 X900.00 Y900.00 Z300.00   ; set maximum instantaneous speed changes (mm/min)
      M203 X6000.0 Y3000.0 Z2000.0   ; set maximum speeds (mm/min)
      M201 X500.00 Y250.00 Z100.00   ; set accelerations (mm/s^2)
      M906 X2400 Y2400 Z2400 I30     ; set motor currents (mA) and motor idle factor in per cent
      M84 S30                        ; Set idle timeout
      
      o_lampeundefined 1 Reply Last reply Reply Quote 0
      • o_lampeundefined
        o_lampe @sh54
        last edited by o_lampe

        @sh54 Can you see the difference, when you put the screws side_by_side?
        Maybe it's just the left side loosing steps, due to higher friction?

        AFAIK, there is no way to compensate. Maybe you can try to define a separate axis for the second screw and write your own kinematic matrix to couple them...

        @dc42 maybe the matrix would be the easiest place to implement this? Instead of boolean -1, 0, 1 we could set -0.nn or 1.nn for compensation.

        sh54undefined 1 Reply Last reply Reply Quote 0
        • sh54undefined
          sh54 @o_lampe
          last edited by

          @o_lampe I first just checked against a ruler and saw that over distance the bad lead screw threads were not lining up to the ruler over a longer distance. A CAD model was available for the lead screw. I generated the "negative" of it and 3d printed out a 200 mm segment. As I expected it snapped right on all my good lead screws but if I tried to snap it on to the bad lead screw it did not work and I can easily visually verify that falls out of alignment. I feel this is enough proof for me.

          I am rather sure that one side is not loosing steps. This would be the good side and it looks to be very accurate. I think I will wait for a replacement lead screw. While it would be nice to be able to compensate for this I can see it being a low priority feature! Best for me to start with the right hardware.

          deckingmanundefined droftartsundefined 2 Replies Last reply Reply Quote 0
          • deckingmanundefined
            deckingman @sh54
            last edited by

            @sh54 My best guess is that you have one odd imperial lead screw and the others are metric. Your config.g shows that you are using 400 steps per mm with 16X micro stepping which would be correct for an 8mm lead screw. Now 8mm is 0.314961 inches. That's very close to 5/16ths of an inch which is 0.3125 inches. So you might have a mixture of metric screws with 8mm lead and imperial with 5/16" lead.

            Ian
            https://somei3deas.wordpress.com/
            https://www.youtube.com/@deckingman

            sh54undefined 1 Reply Last reply Reply Quote 1
            • droftartsundefined
              droftarts administrators @sh54
              last edited by

              @sh54 As a workaround, if the X and Y axis leadscrews are the same length, you could swap the inaccurate Y axis leadscrew onto the X axis, and adjust the X axis steps per mm. Otherwise, it sounds like the supplier has sent you one imperial leadscrew, as @deckingman suggests.

              Ian

              Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

              1 Reply Last reply Reply Quote 0
              • sh54undefined
                sh54 @deckingman
                last edited by

                @deckingman Yes this could well be it.

                @droftarts Nice idea but unfortunately the Y axis is longer than the X axis in machine.

                I will get myself a new lead screw.

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