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

    Closed loop firmware for CNC

    Scheduled Pinned Locked Moved
    CNC
    4
    7
    129
    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.
    • 3DOesteundefined
      3DOeste
      last edited by

      Hi, I'm currently modfifying a cnc router with closed loop steppers and I'm looking for control alternatives which are closed loop.
      I could only find LinuxCNC which works with mesa cards and have inputs for the motor encoders, I mean not only the drivers are closed loop but also the control board and the software (in the way professional CNC controllers are).
      By any chance do you have in development something like that aim at CNC?
      There are more options if you go the route of ethercat, but it's way more expensive.

      droftartsundefined 1 Reply Last reply Reply Quote 0
      • droftartsundefined
        droftarts administrators @3DOeste
        last edited by

        @3DOeste Duet3D produce a closed loop motor driver board, the Duet 3 Expansion 1HCL, that connects to a Duet 3 mainboard. See https://www.duet3d.com/duet-3-expansion-1hcl
        These are integrated into the Duet firmware, so you get a lot more information back than typical closed loop motor drivers.

        I'm not sure I understand what you mean by

        I mean not only the drivers are closed loop but also the control board and the software

        If you mean the spindle control and/or other tools, Duet can control these and read any feedback using RS485/Modbus, which is supported on 6HC/6XD mainboards with newer firmware versions. EtherCat is not supported.

        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

        3DOesteundefined 1 Reply Last reply Reply Quote 0
        • 3DOesteundefined
          3DOeste @droftarts
          last edited by

          @droftarts Hi droftarts, what I mean by closed loop board and software is that, aside from the closed loop driver which take care if the motor lags behind, the other motors don't take that into account. You can have closed loop drivers, but the system continue to be open loop.
          In a real closed loop CNC system, if a motor lags behind, the control board and software (path planning) will notice, trhough feedback from the encoders, and coorect the other motors to keep the syncronicity of the system.
          So for example if you are milling a part and at some point there is more matterial, some motor might lag behind, it will be corrected by the driver, but since the others motors didn't encounter that perturbance, those won't lag, and you will end with a dent in your part. In a closed loop system, that is corrected by the software and you won't end with a dent but instead with a smooth surface which is dimmensionally accurate.
          At the time of this writing, only closed loop software available (which support step and dir) is linuxCNC with mesa cards. But it would be good to have a newer alternative, without reaching the costs professional CNC controllers like fanuc.

          droftartsundefined dc42undefined 2 Replies Last reply Reply Quote 0
          • droftartsundefined
            droftarts administrators @3DOeste
            last edited by

            @3DOeste I understand. No, Duet firmware doesn't do that at the moment. I'm not sure it would be possible over CAN, there would be too much latency. Perhaps raise a feature request for this functionality here https://github.com/Duet3D/RepRapFirmware/issues and @dc42 can look into it.

            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
            • o_lampeundefined
              o_lampe
              last edited by

              AFAIK, the current closed loop strategy in RRF is to add the missed steps to the axis involved. But that could end up very bad on CNC machines.
              Slowing down the other axis' would be the safer way, but with a buffered path planner it's still not in real time.

              droftartsundefined 1 Reply Last reply Reply Quote 0
              • dc42undefined
                dc42 administrators @3DOeste
                last edited by

                @3DOeste said in Closed loop firmware for CNC:

                So for example if you are milling a part and at some point there is more matterial, some motor might lag behind, it will be corrected by the driver, but since the others motors didn't encounter that perturbance, those won't lag, and you will end with a dent in your part. In a closed loop system, that is corrected by the software and you won't end with a dent but instead with a smooth surface which is dimmensionally accurate.

                We have no plans to do that, although I can see that for a dedicated CNC controller it would be a nice feature. I think it would be hard to implement in a distributed motion control system.

                Our existing closed loop solution lets you trigger an event if the driver reports a position error greater than a threshold that you can set. This could be used to reduce the speed factor of the current operation. In the current version of RRF this speed change might take 2 seconds + 1 move to take effect, but we plan to allows for faster changes of the speed factor in RRF 3.7.

                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

                1 Reply Last reply Reply Quote 0
                • droftartsundefined
                  droftarts administrators @o_lampe
                  last edited by

                  @o_lampe said in Closed loop firmware for CNC:

                  AFAIK, the current closed loop strategy in RRF is to add the missed steps to the axis involved.

                  I don't think that is correct. RRF sends a profile of the move via CAN, not step pulses. In closed loop mode, the 1HCL moves to the position at the speed dictated by the move profile. It doesn't really use steps; it uses the feedback from the encoder to position the motor. If the motor isn't keeping position, it increases current (up to a defined limit) until the motor has enough torque to achieve position. If it still can't keep position, it raises a driver error.

                  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
                  • First post
                    Last post
                  Unless otherwise noted, all forum content is licensed under CC-BY-SA