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.2k
    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

      Hello everyone,

      I know similar questions have been asked on here, but none really offer a answer for me. So I figure I could ask.

      I'm building my next printer (voron2), and I'm going all out with this one. Cost is not a very high priority, final print quality is my highest priority for this printer.

      So I have been thinking of doing a closed loop XY drive, using a single Odrive, and 2 BLDC motors. I would like to use linear encoders, that would be linked to the print head along the X axis, and linked to the gantry along the Y axis. That way I would be measuring the print head, and not the belts and pulleys. The encoder I'm looking at has 2000 lines per inch, and with a quadrature sensor, I would have 8000 pulses per inch (314.96062 per mm).

      I am fighting with myself deciding if I want to go this route or not. On one hand, high quality steppers would be a lot cheaper, and I would not have to make any modifications. But on the other hand, I would have better precision, accuracy, no missed steps, faster travel speeds (non printing).

      So I ask the forum, do you think I would notice some improvement going with a closed loop system, compared to an open loop system? And do you think the benefit of closed loop is worth the time and headaches?

      Thank you

      CNCModellerundefined 1 Reply Last reply Reply Quote 0
      • thomas_rudloffundefined
        thomas_rudloff
        last edited by

        If highest print quallity is the issue ball screws look more reasonable to me.

        Iamturbo1978undefined 1 Reply Last reply Reply Quote 0
        • Iamturbo1978undefined
          Iamturbo1978 @thomas_rudloff
          last edited by

          @thomas_rudloff I agree, but this printer is a coreXY design. So I don't think ball screws would work. If I was doing a prusa style, I would be doing ball screws with a closed loop.

          1 Reply Last reply Reply Quote 0
          • CNCModellerundefined
            CNCModeller @Iamturbo1978
            last edited by CNCModeller

            @iamturbo1978 I'm planning on using uStepper external drivers to achievejust this. I'd imagine the processing overhead for going integrated closed loop would be significant and the complexity of the real time code would be overbearing.

            Saying that it'd be a great addition and definitely a defining market differentiation feature for the Duet3D!

            Polar Duet3 Mini + 1HCL
            https://youtube.com/playlist?list=PLWjZVEdMv1BY82izahK45qKh-hp3NFkix
            Wanhao D4S: Duet2
            https://forum.duet3d.com/post/296755
            K40 Laser, Duet2
            https://forum.duet3d.com/post/312082
            Wanhao D5S
            https://www.youtube.com/CNCModellerUK

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

              Isn't the main limitation at the moment squirting hot plastic out in a controllable manner, rather than maximum head speed? You could run simulations with the duet setup with superfast speeds in the config file to justify the effort?

              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!

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

                It could justify itself if the drivers were fast enough to kill ghosting wobbles after sharp cornera.

                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!

                Iamturbo1978undefined 1 Reply Last reply Reply Quote 0
                • Vetiundefined
                  Veti
                  last edited by

                  have a look at
                  https://www.thingiverse.com/thing:2929869

                  Iamturbo1978undefined 1 Reply Last reply Reply Quote 0
                  • Iamturbo1978undefined
                    Iamturbo1978 @DocTrucker
                    last edited by

                    @doctrucker I'm not worried about the print speeds. I normally print at 60mm/s. I'm more worried about the final print quality

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

                      @doctrucker good point. Hopefully, by putting the encoders as close to the print head as I can, a good majority of the "slop" in the system could be filtered out. In theory, the closed loop should notice the wobble of the head, and make corrections.

                      1 Reply Last reply Reply Quote 1
                      • Iamturbo1978undefined
                        Iamturbo1978 @Veti
                        last edited by

                        @veti I currently have a hypercube. I might do that as an upgrade. Thanks

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

                          @iamturbo1978 fair enough. Just feeling the aims need to be a little tighter. Appreciate cost isn't as much of an issue, but all the same if you're throwing hundreds at the drive it would be nice for you to be able to have a little confidence in what you hope to achieve.

                          But on the other hand, I would have better precision, accuracy, no missed steps, faster travel speeds (non printing).

                          No missed steps aren't much of a thing. If you miss steps in a build with the extruder things can get a little messy. If you miss steps on the axis then you are going to be out of position by at least 2 physical steps. In other words, generally game over. A well set up machine won't do that unless something else has gone wrong, which is likely to be looking poop anyway.

                          Precision and accuracy are however valid aims. Stepper motor manufacturers have a state accuracy of step size in the order of a few percent of the step size. While the error will be repeatable there is currently no way to tune for and dial out these errors. encoders on the rails effectively ignore these errors. Microstep sizes when running at highest resolution for the duet2 are likely to be a fraction of the positional error of the major step.

                          Take this one: http://motechmotor.com/productDetail-0104-40.html A 200 step motor with a 5% accuracy in step position. So positioning the stepper at 1.8deg is 1.8 +/- 0.09deg. The step size of a 256 microstep is 0.007, meaning that your positional accuracy of a single microstep is within about 12 microsteps. Splitting one rotation of the motor into 12.8 microstep lumps gives 4000 steps per full rev. So, to match the level of control you have from a stepper you'd likely need in the order of 40000 pulses per rev at the motor.

                          ...but this is probably overkill when you look at the other uncontrolled errors that we have already hinted at. The wobble and surface patterns on parts can get significant before missed steps because the stepper can lag (or advance) target position by upto 2 whole steps before it snaps back or forth. So, taking that into consideration an encoder measuring the actual final axis position may only need to have the equivalent resolution of 1000 steps per revolution of the motor in order to hope to achieve better control than the current stepper systems. With a GT2 16 pulley axis on a simple machine that would be 1000 steps per 32mm.

                          Finally I think the encoder + motor system has the potential to be far more energy efficient.

                          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 1
                          • DocTruckerundefined
                            DocTrucker
                            last edited by DocTrucker

                            The stepper is only likely to lag or advance on it's actual position when you are pushing the steppers hard in terms of acceleration or max speed. So, if you were looking at guarding from missing steps then around 800 pulses per inch maybe plenty. if you are looking to be better resolution than a 256 microstep stepper system that isn't heavily loaded you'd need to get as many as you can handle, somewhere between 16,000 - 32,000.

                            Edit: Gut feeling is I'm guessing that a system based around your 8k encoder will be easier to setup than a stepper based system and generally very nice. However, there is potential for someone to tune a stepper based system to make higher detail parts.

                            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 1
                            • Phaedruxundefined
                              Phaedrux Moderator
                              last edited by

                              I think it's probably needless overkill for a Voron2. Quality steppers driven to spec and print settings tuned to the printer will be as good as the Voron frame design can provide anyway.

                              Z-Bot CoreXY Build | Thingiverse Profile

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