<p>The mistake in your reasoning is assuming no microstepping. Most 3D printers use 16 microsteps, and in my experience with both cheap A4988 drivers and nice TMC2209 drivers, microstepping is quite accurate. As part of <a href="https://3dprinting.stackexchange.com/a/12075/11157">an answer to a question I asked</a>, you can see a test print showing single-microstep features. My motors have 1.8° step angle, yielding 3200 steps per rotation at 16 microsteps, or 12.5 microns of linear movement per microstep. With 0.9° step angle you could get it down to half that, and you could probably halve it again going to 32 microsteps.</p>
<p>Even if you can't get it as good as your 4 microns with stepper motors though, at 12.5 micron positioning resolution you're already to the point where extrusion error is going to play a much bigger role in dimensional accuracy than toolhead positioning error does. Going past that with FDM requires high resolution extruder axis movement, closed-loop control with a precise filament diameter sensor, direct drive with minimal distance between the extruder gear and nozzle, etc.</p>

CC BY-SA 4.0
2021-03-15T04:33:33.610Z
So with TMC drivers, you can have 256 microstepping that equals 0.3 microns. But I don't think it has enough accuracy to move by 0.003 degrees. Won't the step losses make steppers unable to perform these accurate steps? If they don't, Then why don't manufacturers say 0.3-micron accuracy instead of 40 or 20? Is that all because of extrusion and filament errors?
Mahan Lamee
CC BY-SA 4.0
2021-03-15T13:32:21.077Z
@MahanLameie: I would be very surprised if at 256 microsteps you got consistent microstep size. [This article](https://hackaday.com/2016/08/29/how-accurate-is-microstepping-really/) shows there may be considerable error (the DRV8825, which has fallen out of use, is especially bad) but most are surprisingly good at just 16.
R.. GitHub STOP HELPING ICE
CC BY-SA 4.0
2021-03-15T13:33:24.140Z
Note that [non-closed-loop] microstepping is inherently inaccurate under (variable) load, but most 3D printer designs are not actually under any load when the axis in question is at rest, only loaded by accelerating/decelerating the toolhead (thus ringing artifacts).
R.. GitHub STOP HELPING ICE
CC BY-SA 4.0
2021-03-15T13:35:45.707Z
Anyway, the reason manufacturers don't advertise what you'd get with 256 microsteps is probably a mix of (1) they don't configure the firmware that way, (2) the low-end microcontrollers they use can't handle stepping at that rate (note: this is also a reason for them not to use servos with high resolution encoders), (3) they haven't designed for or tested for accuracy at that scale, and (4) their competitors haven't either so there's no race to embellish the truth about their capabilities.
R.. GitHub STOP HELPING ICE
CC BY-SA 4.0
2021-03-15T13:41:54.823Z
So if I use encoders that have a suitable resolution, can I get a 256 microstepping resolution without any step loss and low torque problems that you mentioned? Also is there any point in doing that? Will I get better results if I have accurate 256 microstepping and 0.3-micron resolution?
Mahan Lamee
CC BY-SA 4.0
2021-03-15T14:44:56.117Z
@MahanLameie: As I said in the answer, the limiting factor for print quality is going to be extrusion accuracy. Getting positioning accuracy a few microns better is not that useful when your extrusion widths have errors of many tens of microns. If you've overcome that, I would expect a closed-loop control system positioning to give better results. This could be your encoder servo setup, or stepper motors with a stepper driver that uses feedback from the magnetic fields in the motor to correct for sub-step displacement due to load.
R.. GitHub STOP HELPING ICE
CC BY-SA 4.0
2021-03-15T14:48:43.587Z
Yeah, the extrusion accuracy will make it useless. But at least it will be good for preventing step losses and layer shiftings.
Mahan Lamee
CC BY-SA 4.0
2021-03-15T15:15:08.903Z
@MahanLameie: Yes, preventing step loss/layer shift is probably the main practical advantage of closed-loop control for FDM printers at this time. FYI there are companies selling stepper motors with integrated closed-loop control that are driven via the same step pulse interfaces normal drivers take, that can be used as "drop-in replacements" with exiting printers.
R.. GitHub STOP HELPING ICE
CC BY-SA 4.0
2021-03-15T02:14:33.760Z
2021-03-15T02:14:33.760Z
R.. GitHub STOP HELPING ICE
<p>So I was thinking about is it possible to reach higher resolutions with encoders and DC motors? I found a cheap high-resolution magnetic encoder that can be used along with a DC motor to access higher resolutions. The encoder has 8192 PPR meaning that it can measure up to 0.04 degrees if I have correctly calculated. So if for a stepper with 0.9 step angle and no micro-stepping with 20 tooth pulley and 2mm belt, the steps/mm is 10, it means every 9 degrees with this pulley and belt setup makes 1mm and so 0.04 degree makes 0.004mm movement that is about 4 microns. Is this correct and possible? If so, why don't big companies use this method?<br />
Link to the encoder:
<a href="https://www.rls.si/eng/rmb20-rotary-magnetic-module" rel="nofollow noreferrer">RLS RMB20 rotary magnetic encoder module</a></p>

<resolution><closed-loop><servo>
Is it possible to get higher resolutions by using high resolution encoders and custom firmware?
Mahan Lamee
# Is it possible to get higher resolutions by using high resolution encoders and custom firmware?

(Asked by: username_0 on 2021-03-14)

So I was thinking about is it possible to reach higher resolutions with encoders and DC motors? I found a cheap high-resolution magnetic encoder that can be used along with a DC motor to access higher resolutions. The encoder has 8192 PPR meaning that it can measure up to 0.04 degrees if I have correctly calculated. So if for a stepper with 0.9 step angle and no micro-stepping with 20 tooth pulley and 2mm belt, the steps/mm is 10, it means every 9 degrees with this pulley and belt setup makes 1mm and so 0.04 degree makes 0.004mm movement that is about 4 microns. Is this correct and possible? If so, why don't big companies use this method?  
Link to the encoder:
[RLS RMB20 rotary magnetic encoder module](https://www.rls.si/eng/rmb20-rotary-magnetic-module)

**Tags:** resolution, closed-loop, servo


---

## 1 answers

### Answer by username_1 on 2021-03-15. Score: 2 | Accepted answer

The mistake in your reasoning is assuming no microstepping. Most 3D printers use 16 microsteps, and in my experience with both cheap A4988 drivers and nice TMC2209 drivers, microstepping is quite accurate. As part of [an answer to a question I asked](https://3dprinting.stackexchange.com/a/12075/11157), you can see a test print showing single-microstep features. My motors have 1.8° step angle, yielding 3200 steps per rotation at 16 microsteps, or 12.5 microns of linear movement per microstep. With 0.9° step angle you could get it down to half that, and you could probably halve it again going to 32 microsteps.

Even if you can't get it as good as your 4 microns with stepper motors though, at 12.5 micron positioning resolution you're already to the point where extrusion error is going to play a much bigger role in dimensional accuracy than toolhead positioning error does. Going past that with FDM requires high resolution extruder axis movement, closed-loop control with a precise filament diameter sensor, direct drive with minimal distance between the extruder gear and nozzle, etc.

> **Comments:**
> **username_0**: So with TMC drivers, you can have 256 microstepping that equals 0.3 microns. But I don't think it has enough accuracy to move by 0.003 degrees. Won't the step losses make steppers unable to perform these accurate steps? If they don't, Then why don't manufacturers say 0.3-micron accuracy instead of 40 or 20? Is that all because of extrusion and filament errors?  
> **username_1**: @MahanLameie: I would be very surprised if at 256 microsteps you got consistent microstep size. [This article](https://hackaday.com/2016/08/29/how-accurate-is-microstepping-really/) shows there may be considerable error (the DRV8825, which has fallen out of use, is especially bad) but most are surprisingly good at just 16.  
> **username_1**: Note that [non-closed-loop] microstepping is inherently inaccurate under (variable) load, but most 3D printer designs are not actually under any load when the axis in question is at rest, only loaded by accelerating/decelerating the toolhead (thus ringing artifacts).  
> **username_1**: Anyway, the reason manufacturers don't advertise what you'd get with 256 microsteps is probably a mix of (1) they don't configure the firmware that way, (2) the low-end microcontrollers they use can't handle stepping at that rate (note: this is also a reason for them not to use servos with high resolution encoders), (3) they haven't designed for or tested for accuracy at that scale, and (4) their competitors haven't either so there's no race to embellish the truth about their capabilities.  
> **username_0**: So if I use encoders that have a suitable resolution, can I get a 256 microstepping resolution without any step loss and low torque problems that you mentioned? Also is there any point in doing that? Will I get better results if I have accurate 256 microstepping and 0.3-micron resolution?  
> **username_1**: @MahanLameie: As I said in the answer, the limiting factor for print quality is going to be extrusion accuracy. Getting positioning accuracy a few microns better is not that useful when your extrusion widths have errors of many tens of microns. If you've overcome that, I would expect a closed-loop control system positioning to give better results. This could be your encoder servo setup, or stepper motors with a stepper driver that uses feedback from the magnetic fields in the motor to correct for sub-step displacement due to load.  
> **username_0**: Yeah, the extrusion accuracy will make it useless. But at least it will be good for preventing step losses and layer shiftings.  
> **username_1**: @MahanLameie: Yes, preventing step loss/layer shift is probably the main practical advantage of closed-loop control for FDM printers at this time. FYI there are companies selling stepper motors with integrated closed-loop control that are driven via the same step pulse interfaces normal drivers take, that can be used as "drop-in replacements" with exiting printers.  

---

