this post was submitted on 10 Jan 2024
84 points (92.0% liked)

3DPrinting

15519 readers
135 users here now

3DPrinting is a place where makers of all skill levels and walks of life can learn about and discuss 3D printing and development of 3D printed parts and devices.

The r/functionalprint community is now located at: [email protected] or [email protected]

There are CAD communities available at: [email protected] or [email protected]

Rules

If you need an easy way to host pictures, https://catbox.moe may be an option. Be ethical about what you post and donate if you are able or use this a lot. It is just an individual hosting content, not a company. The image embedding syntax for Lemmy is ![](URL)

Moderation policy: Light, mostly invisible

founded 1 year ago
MODERATORS
 

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.

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 72 points 10 months ago* (last edited 10 months ago) (1 children)

Have you seen how fast printers with stepper motors can get? They print benchies in less than 3 minutes. The bottleneck is not the motion system, it's either the hot-end or the part cooling. Also stepper are super accurate and very flexible. Drivers are advanced and can tune for torque, speed, sound etc. Collision detection and skipped step detection is also a thing.

[–] [email protected] 13 points 9 months ago (4 children)

Not disputing, I want that 3 minute benchy. Where does one find this magic?

[–] towerful 14 points 9 months ago (1 children)
[–] [email protected] 7 points 9 months ago (4 children)

The print as absolute shit though. Literal garbage.

[–] [email protected] 7 points 9 months ago

Looks pretty good for the speed to me! This is an experiment. Someone will be able to build on that and make it better.

[–] [email protected] 3 points 9 months ago

Speed Benchys mostly are garbage quality.

[–] [email protected] 3 points 9 months ago (2 children)

https://youtu.be/f5OHYZbrHjs?si=LruE_T63UnlSRWa0

This is as fast as I've seen for PLA while still retaining good quality. And he probably could go faster with more powerful motors or more of them.

[–] [email protected] 5 points 9 months ago (1 children)

Honestly, there’s going to be a hard peak to how fast a 3D printer can go, because physics. Unless we start running prints in a vacuum and start tuning local gravity….

[–] [email protected] 2 points 9 months ago

There will always be limits to how fast you can go. But as long as the average printer is not even close to whats doable there is room for improvement.

[–] [email protected] 2 points 9 months ago

That’s much much nicer. I’ve been looking at the bamboo x1c, its speed and quality is pretty amazing right out the box.

[–] [email protected] 1 points 9 months ago (1 children)

This is mostly a cooling issue. Not being able to solidify the plastic fast enough after it's been deposited.

load more comments (1 replies)
[–] [email protected] 5 points 9 months ago

Tune up a coreXY like a Bambu or Voron, use all the latest features in marlin (like MPD thermal and linear advance.)(I assume other firmwares have similar.

[–] [email protected] 4 points 9 months ago (2 children)

Yeah does anyone have a link to a 3 min bench print?

[–] [email protected] 11 points 9 months ago

3 minute benchy

It's custom made printers and it makes shitty prints.
https://www.youtube.com/watch?v=IRUQBTPgon4

[–] [email protected] 53 points 9 months ago (5 children)

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.

[–] [email protected] 6 points 9 months ago (1 children)

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.

[–] [email protected] 4 points 9 months ago* (last edited 9 months ago) (2 children)

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.

load more comments (2 replies)
[–] [email protected] 6 points 9 months ago (1 children)

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?

[–] [email protected] 11 points 9 months ago (11 children)

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.

[–] [email protected] 6 points 9 months ago* (last edited 9 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.

load more comments (10 replies)
[–] [email protected] 4 points 9 months ago

Closed loop steppers exist with the benefits of both worlds.

[–] [email protected] 3 points 9 months ago* (last edited 9 months ago) (4 children)

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

[–] [email protected] 24 points 9 months ago* (last edited 9 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."

[–] [email protected] 9 points 9 months ago

The bottleneck is the extrusion and the cooling of the extrusion. Not the transport system.

[–] [email protected] 4 points 9 months ago (2 children)

2 km/s? That's almost Mach 6.

[–] [email protected] 4 points 9 months ago

Yea that's why you have to wear hearing protection in factories.

[–] [email protected] 1 points 9 months ago

Yeah that was a typo, obviously that was supposed to say mm/s

[–] [email protected] 2 points 9 months ago

What's the cost difference between the two?

[–] [email protected] 2 points 9 months ago (1 children)

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)

[–] [email protected] 2 points 9 months ago (2 children)

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)

[–] [email protected] 1 points 9 months ago

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

[–] [email protected] 1 points 9 months ago

I think you're talking about those RC servos, no?

[–] [email protected] 25 points 9 months ago (2 children)

Stepper motors are considerably easier to lock in a single location than continuous rotation servos. When they are commanded to a certain position they will STAY THERE. This makes precise positioning considerably easier vs a continuous rotation servo, which must use a sensor feedback loop to ensure it stays close to where it needs to be. And any feedback loop will involve small amounts of extremely undesirable oscillation and movement about the target point...

besides. we can already drive steppers significantly faster than any hot end can melt plastic.

[–] [email protected] 2 points 9 months ago

Yeah the big issues with servos would be that even with very good controllers you'd end up having to constantly bump to the corner 0s just to ensure you got the right location. Stepper motors can be relied upon to hold the position.

[–] [email protected] 2 points 9 months ago

Well, that's why you use a proper servo drive. Yes, technically they oscillate at standstill, but it's so little it literally does not matter. Closed loop servo control is a solved problem unless you're trying to implement it yourself.

[–] [email protected] 17 points 9 months ago

Cost is the short version, yes.

I don't know what kind of servos everyone here is talking about that are less precise than open loop steppers. Low quality hobbyist stuff, I guess? Proper servo motors & drives are the standard for good reason for robotics, industrial CNC machines, and pretty much everything else that needs powerful motors with high precision. Much higher power density, higher RPM (good for increasing torque with a gearbox), equivalent or better precision, plus closed loop control is a huge capability and safety gain.

That said, good, industrial quality servo motors are 1) expensive and 2) aren't made in small enough sizes to be comparable to the steppers on most 3D printers. Even the smallest industrial servo + drive I've seen is about 5x as big as the steppers on a personal 3D printer and costs $800ish. Obviously, both are deal breakers for a personal 3D printer.

3D printers are a fairly ideal application for steppers. The moving parts are small and light, meaning you both don't need a large motor and the danger of slippage is lower. Plus, steppers are cheap.

[–] [email protected] 9 points 9 months ago (2 children)

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.

[–] [email protected] 1 points 9 months 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.

[–] [email protected] 1 points 9 months 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.

load more comments
view more: next ›