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

    Closed loop for X and Y

    Scheduled Pinned Locked Moved
    General Discussion
    closed loop odrive
    11
    26
    3.3k
    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.
    • Iamturbo1978undefined
      Iamturbo1978
      last edited by

      Thank you everyone for your insight. Because of your input, I think I am going to go forward with doing a closed loop system for a couple reasons... One, to add one more example of using a closed loop system on a FFF printer. Two, move out of my personal comfort zone doing the designing and planning.

      Phaedruxundefined deckingmanundefined 2 Replies Last reply Reply Quote 1
      • Phaedruxundefined
        Phaedrux Moderator @Iamturbo1978
        last edited by

        @iamturbo1978 keep us updated. I'm interested to see how it goes.

        Z-Bot CoreXY Build | Thingiverse Profile

        1 Reply Last reply Reply Quote 0
        • deckingmanundefined
          deckingman @Iamturbo1978
          last edited by

          @iamturbo1978 Those are two eminently sound reasons for going ahead. Even if the end result shows no advantages, you will have gained knowledge along the way, which is never a bad thing. As @Phaedrux said, keep us posted.

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

          1 Reply Last reply Reply Quote 0
          • DocTruckerundefined
            DocTrucker
            last edited by

            Other thing is the torque characteristics of BLDC motors, and perhaps lower inertia may be beneficial to the systems.

            Don't get me wrong, I'm not trying to put you off the idea, merely trying to help develop it and ensure your idea of how the system will perform is not at a level that is setting yourself up for a fall.

            Keep an eye on inertia ratios to give yourself an easier ride to begin with. It's taken me a while to start getting my head around them but it is definately not just can the motor deliver the required torque.

            Running 3 P3Steel with Duet 2. Duet 3 on the shelf looking for a suitable machine. One first generation Duet in a Logo/Turtle style robot!

            1 Reply Last reply Reply Quote 0
            • Urbanundefined
              Urban
              last edited by

              @iamturbo1978 You could check out this:
              SimplexMotion
              They use Out-runners and Hall sensors to read the magnetic field instead of encoders. Contact them directly with a project description if you are interested. I do not think they support linear encoders for position feedback.

              One advantage with a servo is that you can use a stiffer Polyurethane belt to get a stiffer system with better response and accuracy. The downside is the tuning of the servo that can be time consuming.

              In my experience from industrial servo application with linear encoders, the inner loop is the encoder in the rotating servo and the outer loop is from the linear encoder. I think it would be difficult to control a servo with only the linear encoder.

              I have build a screw based system that can go fast (1m/s) and accurate and the limiting factor I found was the extruder (with gear) that has difficulties providing a smooth flow during accelerations, specially with pressure advance that creates higher pressure. The effect is similar to ghosting, so it took a while to figure out the cause. I print at 150mm/s (limited by the melting of plastic) and with conservative values for acceleration.

              DocTruckerundefined 1 Reply Last reply Reply Quote 0
              • DocTruckerundefined
                DocTrucker @Urban
                last edited by DocTrucker

                @urban said in Closed loop for X and Y:

                In my experience from industrial servo application with linear encoders, the inner loop is the encoder in the rotating servo and the outer loop is from the linear encoder. I think it would be difficult to control a servo with only the linear encoder.

                BLDC motors can run sensor less, however yes, I think it is far easier to get the timing of energising the coils correct and at an appropriate advance or retard with an encoder on the motor.

                Running 3 P3Steel with Duet 2. Duet 3 on the shelf looking for a suitable machine. One first generation Duet in a Logo/Turtle style robot!

                Danalundefined 1 Reply Last reply Reply Quote 1
                • Iamturbo1978undefined
                  Iamturbo1978
                  last edited by

                  Thank you for the encouragement, and the additional advice. I did a quick check into SimplexMotion, there are no distributors in the US at this time. I will contact them to see what options they can do.

                  1 Reply Last reply Reply Quote 0
                  • Danalundefined
                    Danal @DocTrucker
                    last edited by

                    @doctrucker said in Closed loop for X and Y:

                    BLDC motors can run sensor less, however yes, I think it is far easier to get the timing of energising the coils correct and at an appropriate advance or retard with an encoder on the motor.

                    The keyword being "run". Sensorless is based on back EMF from the un-energized phase. No motion, no back EMF. Small motion, not enough EMF to (properly) sense. Not a great thing for start/stop tracking of rotor position. Very un-suitable for stepper alternative, regardless of "closed" or "open" tracking of position over time.

                    Delta / Kossel printer fanatic

                    DocTruckerundefined dc42undefined 2 Replies Last reply Reply Quote 1
                    • DocTruckerundefined
                      DocTrucker @Danal
                      last edited by

                      This project looks interesting:

                      https://odriverobotics.com/

                      ...and it's statement about most industrial motion being done by brushless servos.

                      Neatly it looks like this is likely to have CAN support soon, which will mean not masses of work to get it to play ball with duet3, or maybe with earleir duets with a bit more hardware since CAN is on Arduino Due.

                      @danal more-or-less an expansion of what I said? Hence 'can run'.

                      The rotor position encoder doesn't have to be particually high resolution to achieve decent start control. You could also send signals through one of the coils which won't move the rotor, but allow you to locate it.

                      The sensorless techniques result in a vague knowledge of true rotor position when in use, much like only knowing a stepper rotors position is within two physical steps of that assumed. This is acceleration/instant speed tuning come in. Essentially a patch on open loop control.

                      The downside of using BLDC like this is a 'lost step' would result in a larger angular displacement, but equally you'd need a greater torque to cause this. You could also slap an encoder on a stepper, but by that point you've lost most of the cost benefits of a stepper system.

                      Running 3 P3Steel with Duet 2. Duet 3 on the shelf looking for a suitable machine. One first generation Duet in a Logo/Turtle style robot!

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

                        @danal said in Closed loop for X and Y:

                        @doctrucker said in Closed loop for X and Y:

                        BLDC motors can run sensor less, however yes, I think it is far easier to get the timing of energising the coils correct and at an appropriate advance or retard with an encoder on the motor.

                        The keyword being "run". Sensorless is based on back EMF from the un-energized phase. No motion, no back EMF. Small motion, not enough EMF to (properly) sense. Not a great thing for start/stop tracking of rotor position. Very un-suitable for stepper alternative, regardless of "closed" or "open" tracking of position over time.

                        Exactly. Running BLDC motor sensorless is great in drones and similar applications where the motors always run fast, but in 3D printers and similar applications you must have a position sensor that works at speeds down to zero. You could possibly use a combination of a BLDC using sensorless commutation, gearbox (because BLDCs are suited to higher speeds than we need in 3D printers), and an encoder after the gearbox.

                        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 1
                        • Maboverundefined
                          Mabover
                          last edited by

                          I always cringe a little bit when I see people using hobby/rc bldc motors for moto in control, as dc42 points out they are designed for high rpm operation, and not the low rpm position control a cnc machine needs, but I will say I am impressed people make it work as I have seen with the odrive.
                          There are low cost industrial options emerging for bldc motors from some of the same suppliers as stepper motors, they even cone in standard NEMA motor frame sizes.
                          Here is an example motor
                          https://www.omc-stepperonline.com/bldc-motor/24v-4000rpm-0185nm-775w-48a-42x42x80mm-brushless-dc-motor-42bls80-24-01.html
                          combined with an encoder such as
                          https://www.omc-stepperonline.com/encoder/1000-cpr-optical-rotary-encoder-ab-2-channel-id-5mm-w-shielded-cable-hkt30.html
                          Or
                          https://www.cui.com/product/motion/rotary-encoders/incremental/modular/amt10-series
                          And all you need is a drive of some sort.

                          If the demand grows for these motors due to support by a future duet 3 expansion boards and support from other boards in the market the price will likely drop just like they have with steppers.
                          Perhaps vendors will even sell the motors with an encoder attached saving the trouble of sourcing and mounting one.

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

                            On Duet 3 we're also looking at supporting stepper drivers with encoders, such as these https://www.aliexpress.com/store/group/stepper-servo-motor/5053149_515433734.html?spm=a2g0o.detail.0.0.133274b9HAWpmu. We think we can drive them from the existing 3-drive expansion board, using a small adapter PCB to connect the encoder outputs of 3 motors to 3 of the I/O connectors on the expansion board.

                            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

                            Maboverundefined 1 Reply Last reply Reply Quote 0
                            • Maboverundefined
                              Mabover @dc42
                              last edited by

                              @dc42 that would be awsome, I am guessing that the encoder will be used primarily for position/movement verification.
                              I have a stepper driver that supports the use of an encoder for position verification and commutating the stepper motor as high pole count bldc to run a control loop on the curent of being applied to maintain rotor position. It can help quite the stepper down versus the standard noisier position verification mode but I don't think there is much to be gained over the existing silent nature of the trinamic drivers using that approach. One advantage it does provide is the ability to momentarily over drive the motor to overcome a high torque demand that would normally cause a stepped to miss a step.

                              All in all really exciting news

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