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

    Closed loop with linear scale

    Scheduled Pinned Locked Moved
    General Discussion
    4
    7
    226
    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.
    • ralph.malanundefined
      ralph.malan
      last edited by

      Can Duet 3 6HC do closed loop stepper control using a liner scale?

      I would like to make a desktop CNC machining centre with steel frame & epoxy granite. It would be a rising gantry machine with 2 Y axis & 2 Z axis steppers.

      Ball screws come in accuracy grades of C0 to C5 as precision ground ball screws and C7 to C10 rolled ball screws.

      Commercial CNC machining centres have a accuracy/repeatability of 0.005 mm. The precision of a C7 rolled ball screw is 0.050mm per 300mm but 0.025 within one revolution. A C5 ground ball screw is 0.018 mm per 300mm but only 0.007-0.008 per revolution. (Link had to be removed)

      Typical price for a 1000 long ball screw with support bearings is $200 for rolled C7 and $1 500 for ground C5.

      Using a motor with a rotary encoder will not improve the precision above what the screw provides.
      A linear scale from China is $200 and it resolves to 0.005 mm (Link had to be removed)

      So if a Duet board can be configured to drive a stepper using the linear scale for closed loop feedback then a C7 rolled ball screw + linear scale would be $400 and have precision better than C5 ground at $1 500.

      Is this possible with a Duet board & accessories? I would be very interested if this could be discussed. Basically calculate the pulse rate to send to the stepper to achieve the desired speed, monitor the speed the linear scale is reading & adjust pulse rate accordingly. When close to the end point slow the pulse rate and continue till exactly at the end point.

      I will be extremely happy if that is possible. I know it can be done with a Galil 4080 at vast expense.

      o_lampeundefined T3P3Tonyundefined 2 Replies Last reply Reply Quote 0
      • o_lampeundefined
        o_lampe @ralph.malan
        last edited by

        @ralph-malan AFAIK you can use a linear scale as secondary device, but the closed loop sensor has to fixed to the motor shaft.
        There is also a static definition for backlash compensation, but IDK if it works for closed loop or just adds some extra steps everytime the motor direction changes...

        1 Reply Last reply Reply Quote 0
        • T3P3Tonyundefined
          T3P3Tony administrators @ralph.malan
          last edited by

          @ralph-malan you would need to use a 1HCL on each axis: https://docs.duet3d.com/en/Duet3D_hardware/Duet_3_family/Duet_3_Expansion_1HCL

          You would use a magnetic encoder board on the back of each stepper and then a linear encoder can be used on each axis.

          www.duet3d.com

          ralph.malanundefined 2 Replies Last reply Reply Quote 0
          • ralph.malanundefined
            ralph.malan @T3P3Tony
            last edited by

            @T3P3Tony . Many thanks for that. Is it not commonly done?

            o_lampeundefined 1 Reply Last reply Reply Quote 0
            • ralph.malanundefined
              ralph.malan @T3P3Tony
              last edited by

              @T3P3Tony My machining centre would have 2 Y axis & 2 Z axis ball screws. Can I run each as a separate unit & they each do their own thing?

              droftartsundefined 1 Reply Last reply Reply Quote 0
              • droftartsundefined
                droftarts administrators @ralph.malan
                last edited by

                @ralph-malan Are your 2x Y axis & 2x Z axis ball screws driven by one motor each, ie 4 motors? You need a 1HCL for each motor, so you would need 4x 1HCL if each ball screw was driven by its own motor. Unfortunately you can't just put a linear scale on the axis and read the position; for full closed loop control you need an encoder on the motor shaft as well. The 1HCL supports this, using a magnetic encoder for the motor shaft, and a linear quadrature encoder for the carriage position. See https://docs.duet3d.com/en/Duet3D_hardware/Duet_3_family/Duet_3_Expansion_1HCL#compatible-encoders

                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 1
                • o_lampeundefined
                  o_lampe @ralph.malan
                  last edited by

                  @ralph-malan said in Closed loop with linear scale:

                  Is it not commonly done?

                  IMHO, if a system needs closed loop control it isn't engineered well. Steppers shouldn't lose steps under normal conditions.
                  But in your case it's about saving money, but still get good results. I hope it pays out.

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