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

Benefits of 1HCL or 23CL over an external motor+driver ?

Scheduled Pinned Locked Moved
General Discussion
3
7
384
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
    Pit34
    last edited by 1 Dec 2023, 22:09

    Hello,

    About closed-loop motion system, what are the benefits to go with 1HCL cards or 23CL motors, over using external closed loop motors+drivers connected to step/dir signals ? Is there some firmware features only implemented through those Duet solutions ? May be multiple feedback loop, current/torque/speed loops ?
    Is it just working at driver level (error correction) without any acts of the firmware ?

    Can someone explain to me how closed loop is actually implemented on Duet boards and RRF ?

    Currently preparing an upgrade phase on my printer (BLV MGN Cube), I search information about the different solutions to maybe go in closed loop. I am familiar with the concept and already have used it on other project with position control.
    I already read 1HCL doc and 23CL doc.

    Thanks 😉

    undefined 1 Reply Last reply 3 Dec 2023, 09:12 Reply Quote 0
    • undefined
      dc42 administrators @Pit34
      last edited by 3 Dec 2023, 09:12

      @Pit34 the potential advantages of using the 1HCL or M23CL over external closed loop drivers with step/dir inputs are:

      • RRF sends these devices complete move profiles, a little in advance of when the corresponding move is due to start. This means that the driver software knows what is coming and can use feedforward to track the desired position more closely.
      • They provide continuous feedback of how closely they are achieving the desired position. This data can be collected and used to monitor performance and schedule preventive maintenance.

      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

      undefined 1 Reply Last reply 5 Dec 2023, 20:53 Reply Quote 0
      • undefined
        Pit34 @dc42
        last edited by 5 Dec 2023, 20:53

        @dc42 Thanks for those details.

        So the loop is closed at the 1HCL or M23CL board software level. Can you tell me if it is a velocity loop or a position loop ?
        A velocity loop here could be the software detecting in real time that the required speed of the running Gcode command is not reached. And so react by requiring more power to the driver, to motor reach the required speed, and catch up the theoretical position a T moment.

        A position loop could be the software checking at the end of a Gcode command if the required position is reached or not. And so react by delaying the motion execution to wait the system reach the good position, before starting the next Gcode command.
        It could be done in real time too, by checking current position in real time, and react by requiring more power to the driver too, to reduce the position error.

        Anyway, if the loop is closed in real time during Gcode command execution, this should reduce and adapt the motor current to what is really needed, and so maybe reducing MRR and VFA.

        One more thing. Is a linear encoder support could be added in future ? To check the axis carriage linear position instead of axis motor angular position ? The final idea would be to make a dual-loop system and so eliminate all possible belt / leadscrew / mechanical backlash on each axis.

        I ask those questions just by curiosity, it's an interesting domain.
        Thanks

        undefined 1 Reply Last reply 5 Dec 2023, 22:51 Reply Quote 0
        • undefined
          droftarts administrators @Pit34
          last edited by 5 Dec 2023, 22:51

          @Pit34 As far as I'm aware, it does both a position loop and a velocity loop. It will react to extra load on the axis to meet the required speed and acceleration by increasing torque. If stalled then released, it will attempt to catch up with the current position, and get back in sync with other axes. It checks position during and at the end of the loop, and will raise a driver error if there is a greater deviation than expected. Driver error response is scriptable; see https://docs.duet3d.com/en/User_manual/RepRapFirmware/Events

          Position error (and torque will be added soon) is recorded to the Object Model. The OM can be queried and data captured and recorded (we have shown a demo using RESTful API to capture data, recording to an InfluxDB time-series database), then queried (we used Grafana to graph the data), and can show if the position error (or torque) increases over time, which would highlight a need to undertake maintenance on the axis.

          Linear composite encoder are supported on the 1HCL. See https://docs.duet3d.com/Duet3D_hardware/Duet_3_family/Duet_3_Expansion_1HCL#compatible-encoders

          A linear composite encoder comprises a linear quadrature encoder that tracks position on a linear axis (for example the Renishaw LM10IA or LM10IB) and a Duet3D magnetic shaft encoder. The shaft encoder handles motor commutation, the linear encoder is used to close the loop.

          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

          undefined 1 Reply Last reply 6 Dec 2023, 07:27 Reply Quote 0
          • undefined
            Pit34 @droftarts
            last edited by 6 Dec 2023, 07:27

            @droftarts Thanks for those reply.

            Do you know if the tests of those new features have shown motor consumption reduction or MRR and VFA improvement? Maybe motor noise reduction?

            Anyway it's an impressive technology improvement. Great job !

            undefined 1 Reply Last reply 6 Dec 2023, 13:04 Reply Quote 0
            • undefined
              dc42 administrators @Pit34
              last edited by 6 Dec 2023, 13:04

              @Pit34 it's a position loop, with velocity and acceleration feedforward.

              @Pit34 said in Benefits of 1HCL or 23CL over an external motor+driver ?:

              Do you know if the tests of those new features have shown motor consumption reduction or MRR and VFA improvement? Maybe motor noise reduction?

              That depends on what you would otherwise set the motor current to and how tightly you set the PID parameters. If you use the same current in both modes, there is no constant load on the motor and you use relaxed PID settings then closed loop mode should be quieter, at least at low speeds. But if you tune the PID loop very tightly to maintain position more accurately than open loop mode would then closed loop mode may be noisier.

              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

              undefined 1 Reply Last reply 6 Dec 2023, 20:29 Reply Quote 0
              • undefined
                Pit34 @dc42
                last edited by 6 Dec 2023, 20:29

                @dc42 Ok, thanks. I think I would give it a try on my next upgrade.

                I was thinking about the closed loop this afternoon. Does Duet team have investigated the feasibility of closing the acceleration loop ? With linear composite encoder, or maybe ultra-fast sample rate accelerometer ?
                The idea would be a sort of closed loop feature merged with an input shaping feature. A sort of real time input shaping.
                Theoretically, a motion system with sufficient sample rate and response speed could compensate and remove mechanical resonance (motors, belt, frame, leadscrew, etc.) in real time. Inputs data filtering and tuning could be a nightmare, but I wonder if there is not a track to explore on this side.

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