Why are 3D printers still stuck on stepper motors? Why haven’t we transitioned to servo motors with encoder feedback for positioning?

Is it just too cost prohibitive for the consumer-level? We would be able to print a lot faster and more accurately if we had position feedback on the axes. Instead we just rely blindly on the stepper not skipping any steps when we tell it to move, hoping for the best.

  • FuglyDuck@lemmy.world
    link
    fedilink
    English
    arrow-up
    55
    arrow-down
    2
    ·
    6 months ago

    In addition to the other points made… steppers maintain full torque even when it’s not moving, so it’s better at braking tool heads.

    Also? Steppers have a higher precision to a servos higher speed and torque (but torque that’s not constant.)

    Finally they have a better response time. This isn’t the speed, so much as the speed that control inputs are reflected. Imagine all the tiny wibbles a printer makes during infill, the changes in direction would be sloppier with a servo.

    • Eranziel@lemmy.world
      link
      fedilink
      English
      arrow-up
      7
      arrow-down
      1
      ·
      6 months ago

      I disagree with all your points. What kind of servos are you talking about?

      BLDC and AC servos maintain full torque at stop too, and have about 2-3× the torque of a stepper of similar size.

      The only way a stepper can rival a servo for precision is with a high degree of microstepping, which is far from guaranteed positioning with open loop control.

      I haven’t directly compared response time between steppers and servos, but I would be extremely surprised if there’s a significant enough difference to worry about. Most servo-controlled machines are larger and so are designed to accelerate slower than a printer, if that’s what you mean. This is intentional because inertia is a thing you have to worry about, not because the servo reacts to command changes slowly.

      There are valid reasons steppers are used on printers, but it’s not because they have superior performance.

      • KingRandomGuy@lemmy.world
        link
        fedilink
        English
        arrow-up
        4
        ·
        edit-2
        6 months ago

        BLDC and AC servos maintain full torque at stop too, and have about 2-3× the torque of a stepper of similar size.

        Huh, this is true about BLDCs as well? I remember seeing in a video that BLDCs tend to have very poor torque output when stopped and especially when at low speeds (due to very low efficiency requiring too high currents for drivers to supply), whereas AC motors have a pretty much flat torque curve until they get fairly fast. I’d be interested to know if this is true.

        • Eranziel@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          6 months ago

          That sounds like a problem from using too small of a drive. Every torque curve I’ve seen for brushless DC or AC servos is constant torque from 0 to about 75% rated RPM, and then starts to drop off.

          • KingRandomGuy@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            edit-2
            6 months ago

            That sounds about right. You can technically achieve full torque at 0 RPM, but the current required for that might be very high (and may not be practical for the small size, power limits, and cost of a 3D printer). I know this is a problem in Asian import mini-lathes - if you run the spindle too slow you won’t get much torque out because the driver can’t supply enough current.

    • curiousPJ@lemmy.world
      link
      fedilink
      English
      arrow-up
      6
      ·
      6 months ago

      Steppers have a higher precision to a servos higher speed and torque (but torque that’s not constant.)

      Just trying to understand this. Then how come all CNC precision machines use a servo instead of a stepper? I mean there are some ridiculously accurate machines that can position itself over and over varying under a micron (<.001mm) but the manufacturers choose servo over stepper. Is it for the sake of holding torque that servos have to be used over steppers?

      • ShepherdPie@midwest.social
        link
        fedilink
        English
        arrow-up
        11
        ·
        6 months ago

        All the DIY CNC machines I’ve seen use larger stepper motors. The commercial CNC machines I’ve seen can cost $10,000 to hundreds of thousands.

        • curiousPJ@lemmy.world
          link
          fedilink
          English
          arrow-up
          6
          ·
          edit-2
          6 months ago

          It seems like the argument is that at the lower price bracket, stepper motors offer higher performance than what a equivalently priced servo+encoder+controller combo can perform.

          I felt like what I was reading in this thread wasn’t matching up with that I see out in industry… concerns about ‘price’ didn’t come up until your post.

          Diamond turning machines are inherently low torque, low speed, AND nanoscale operations which uses servos for driving its respective axis. See precitech -youtube and in stark comparison Roeder’s 5axis optical mold machining. Wire EDM’s were all driven by servo motors until linear motors became popular. Even those famous JingDiao test samples are made on machines driven by servos.

        • DreadPotato@sopuli.xyzOP
          link
          fedilink
          English
          arrow-up
          3
          arrow-down
          5
          ·
          edit-2
          6 months ago

          That’s actually exactly my point, steppers are objectively inferior to servos when it comes to dynamic positioning (which is what 3D printing is), but servos are too expensive compared to performance gains for hobbyists.

          • Hacksaw@lemmy.ca
            link
            fedilink
            English
            arrow-up
            6
            ·
            6 months ago

            I don’t think the sentence you have is entirely accurate.

            High cost servo systems (motor, encoder, and driver) are superior to high cost strippers for dynamic positioning. Even that can be tenuous for low torque low speed applications, or nanoscale applications, etc… Certainly for 3 axis table/gantry CNC systems (router, laser, 3d print) for commercial/industrial grade applications servos are superior.

            If you’re aiming for a hobbyist price point steppers have better dynamic positioning performance than servos. You can build a $300-$1000 3d printer with servos, but especially at the low end, it’s not going to be good.

            • DreadPotato@sopuli.xyzOP
              link
              fedilink
              English
              arrow-up
              2
              arrow-down
              3
              ·
              edit-2
              6 months ago

              But that just highlights the statement/question in my OP, it’s just cost prohibitive to use servos as a hobbyist. You will as a hobbyist get a better system with (proper) servos, but not for a reasonable price point.

              • Semperverus@lemmy.world
                link
                fedilink
                English
                arrow-up
                8
                arrow-down
                1
                ·
                6 months ago

                Do you want to have a conversation, or do you want people to agree with you?

                Your post is phrased like a question, but your comments feel like the opposite.

              • Strykker@programming.dev
                link
                fedilink
                English
                arrow-up
                6
                ·
                6 months ago

                If you are buying industrial grade 1000+ dollar servos you are no longer “hobbyist” in the price range that hobby level 3D printers exist steppers are more precise than servos.

                • DreadPotato@sopuli.xyzOP
                  link
                  fedilink
                  English
                  arrow-up
                  2
                  arrow-down
                  1
                  ·
                  6 months ago

                  in the price range that hobby level 3D printers exist steppers are more precise than servos.

                  Yes that’s exactly what I’m saying…it’s the cost that’s in the way of the switch, not that steppers are the best solution. They’re only the best solution within the price constraints we have as hobbyists.

                  • ShepherdPie@midwest.social
                    link
                    fedilink
                    English
                    arrow-up
                    3
                    ·
                    edit-2
                    6 months ago

                    But how do you define “best?” Servos may be functionally better, but if you can’t sell your product to consumers because it’s so expensive, is it really the best product out there and who exactly is it the best for?

                    It’s like saying Kobe beef makes the best burgers, but if you’re trying to feed 10,000 people then wouldn’t your typical 80/20 ground beef from Walmart be the best option? I don’t think hungry patrons would appreciate paying $100 for a kobe burger over $1 for your standard burger. They just want to eat.

              • TwanHE@lemmy.world
                cake
                link
                fedilink
                English
                arrow-up
                1
                ·
                6 months ago

                You will not get a better system when using servos no matter the price point at the moment. People have tried and failed just because the software support isn’t there yet for 3d printing.

                The biggest issue I’m aware of is matching the timing between the extruder stepper and the servos that do the XY motion.

                Which isn’t apparent at lower speeds but at higher speeds you can notice they’re no longer in sync which leads to all sorts of issues and artifacts.

                I’m currently waiting on some 3 phase steppers and drivers to test to hopefully get something with less speed deviation than a normal 2 phase stepper and more reverse torque but don’t cost too much and are still easily driven by connecting a driver to your boards step/dir output.

              • Eranziel@lemmy.world
                link
                fedilink
                English
                arrow-up
                1
                ·
                6 months ago

                I don’t know why you’re getting down voted. You’re correct, steppers are used due to cost.

          • aSingularFemboyHooter@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            5
            ·
            6 months ago

            Which makes them superior, which is why they are used. Cost can’t be ignored any more than the torque or speed, speccing parts that are considerably more expensive that achieve equivalent results is bad engineering unless you have a very specific application that requires it.

            If it was ‘objectively inferior’ we wouldn’t use them. You build to your requirements, not by playing top trumps with competing technologies while ignoring the cost.

    • DreadPotato@sopuli.xyzOP
      link
      fedilink
      English
      arrow-up
      8
      arrow-down
      5
      ·
      edit-2
      6 months ago

      I mean, 3-axis robots move at 2000mm/s with 0.01mm accuracy with payloads weighing considerably more than 3D printer toolheads, using servos.

      • 7heo@lemmy.ml
        link
        fedilink
        English
        arrow-up
        24
        ·
        edit-2
        6 months ago

        Yes. 2000m/s and 0.01mm accuracy unfortunately means nothing about acceleration and control.

        Knowing your system, you can achieve that with motors that can only accelerate at 0.01m/s² and that cannot brake.

        The 2000m/s and 0.01mm accuracy say nothing about the capability of the hardware in the case of multiple sudden direction changes.

        That’s like saying “this car has a top speed of 200mph, and can reach any GPS coordinates precisely, so of course it can zigzag from side to side using 160° turns in a one way street at high speeds.”

    • rambos
      link
      fedilink
      English
      arrow-up
      2
      ·
      6 months ago

      But steppers can also be servo driven if encoder is providing feedback. Right?

      Im not expert, but afaik servo driven DC motor is more expensive and more complex to drive compared to stepper motor approch. I think we also need open source firmware that supports servo control (maybe it exists already Im not sure)

      • FuglyDuck@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        6 months ago

        back in the day before BLtouch existed, my printer used a servo to deploy a bed probe. Marlin definitely can control a servo. (That was on a ramps board with no extra shields, too)

        • cynar@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          6 months ago

          That’s a big difference between deploying a probe and handing the dynamic deceleration required for a high speed gantry move.