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.

  • Excrubulent@slrpnk.net
    link
    fedilink
    English
    arrow-up
    9
    ·
    1 year ago

    Just to add on to this, I understand the technical benefits to steppers, but surely a stepper motor could be given some servo-like functionality by simply adding encoders to the stepper shafts. You can get rotational hall sensors with diametric magnets for a couple bucks each. Even if you weren’t using the encoders to operate the motors directly, you could use them for fault detection. An encoder with 10 bit accuracy could just about match the substeps of stepper motors for resolution.

    Now, most of the time when a stepper gets out of, well, step, it’s because something’s gone wrong and you wouldn’t necessarily want the printer to correct it directly, but simply being able to pause on a fault and record the fault’ time and direction would make a big difference to troubleshooting.

    • monotremata@kbin.social
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      Doesn’t the “missed step detection” on the Prusa printers already achieve a lot of that? I think it monitors the current to the motor and flags any abnormal behavior, without needing extra hardware on the motor.

      That’s not to knock the value of positional feedback, which is clearly superior, but just to say that I don’t think this idea has been entirely neglected.

    • KingRandomGuy@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      I think it would be a better idea to use linear encoders if you were going to add encoders to the shaft, as that way you could directly readout the position of the tool along an axis without issues like backlash that would mess up your calculated position. This is what I’ve seen on (both manual and CNC) mills and lathes.