<p>Closed loop steppers like S42B are becoming popular for the spatial axes because compensating for skipped steps is the correct way to recover for those axes. For example, if the nozzle knocks into a warped corner of a print and skips, the right thing to do is compensate, commanding additional steps necessary to get to the commanded location.</p>
<p>This is less valuable for extruder, since displacement is not necessarily the target we want to recover, but nozzle pressure. Extruder skip usually occurs when nozzle pressure exceeds the motors ability to drive the filament. Correcting for the skipped steps may result in overcompensating, attempting to drive nozzle pressure up over a longer period of time, since the problem won't clear itself as quickly as it does for the spatial axes. Compensating for skipped steps doesn't recover E errors like they do for X,Y, or Z, since skipped E steps tend to be driven by persistent problems, like low nozzle temp or hotend restrictions, where spatial errors tend to be transient, e.g. hitting a 'speed bump' on the print.</p>
<p>An alternative is filament flow sensors like <a href="https://www.biqu.equipment/products/btt-sfs-v1-0-smart-filament-sensor-detection-stuck-blocking-filament-module" rel="nofollow noreferrer">this BTT Smart Filament Sensor.</a> It uses a similar feedback mechanism like you suggest. It uses a driven wheel and encoder to send pulses to mainboard. When mainboard stopped getting pulses during commanded moves, it pauses print. Instead of trying to correct in a closed loop fashion, its a human-in-the-loop solution</p>

CC BY-SA 4.0
2020-12-03T16:39:20.513Z
2020-12-04T20:58:19.750Z
2020-12-04T20:58:19.750Z
swordfish45
<p>I am relatively new to 3D printing, but have some background in industrial equipment and test machines.</p>
<p>An important part of printer setup is getting the extruder mm/step rate configured correctly.</p>
<p>I was wondering if anybody has done any research into closed loop drive of the filament where the feedback to close the loop comes from a knurled idler on the filament.</p>
<p>This would mean factors such as drive slippage and different material stiffness could be automatically compensated for.</p>
<p>Going one step further the feedback wheel could be placed at the hotend of Bowden extruder systems negating the need to tune in retract settings for different materials as the closed loop system can just pull back however much material is required to get 1-2 mm as measured at the hot end.</p>
<p>I have seen there are readily available steppers with drive boards built in for closed loop control, I would imagine it would be a relatively simple task to remove the hall effect sensor from one of these boards and mount it remotely to read off a measuring wheel instead of the drive shaft.</p>
<p>I had a bit of a search but couldn't find anything on this topic online, is this something that has already been looked into and if it hasn't are there any significant reasons why this shouldn't work to improve performance and/or reduce manual tweaking and calibration required.</p>

CC BY-SA 4.0
2020-12-01T09:38:59.797Z
I'm wondering if thus would be useful, if an extruder skips, there could be a fundamental issue that isn't solved with monitoring the steps.
0scar
CC BY-SA 4.0
2020-12-01T11:20:13.040Z
Skipping resistance is more a side benefit, as skipping comes with its own issues such as chewing into the filament. The benefits were more calibration (where different spring forces or filament hardness results in a different effective drive gear diameter).
Hugoagogo
CC BY-SA 4.0
2020-12-01T12:28:00.330Z
I guess you therefore mentioned the separate knurled feedback option?
0scar
CC BY-SA 4.0
2020-12-01T13:44:08.750Z
The cost of the encoder for the closed-loop is more than just turning up the power on the stepper motor. In practice, a well-tuned machine never slips.
user77232
CC BY-SA 4.0
2020-12-01T13:45:47.313Z
As per before the benifit is not having to calibrate e-steps as well as having automatic compensation for Bowden tube elasticity.
Hugoagogo
CC BY-SA 4.0
2020-12-01T13:50:45.703Z
https://github.com/KevinOConnor/klipper/issues/2610 a possible feedback design for the extruder is discussed
FarO
CC BY-SA 4.0
2020-12-01T14:07:32.927Z
Looks interesting, I might have to play around with a custom hot end design to test it.
Hugoagogo
<extruder><stepper-driver><stepper><closed-loop>
Can closed loop steppers be used for extruders?
Hugoagogo
# Can closed loop steppers be used for extruders?

(Asked by: username_0 on 2020-12-01)

I am relatively new to 3D printing, but have some background in industrial equipment and test machines.

An important part of printer setup is getting the extruder mm/step rate configured correctly.

I was wondering if anybody has done any research into closed loop drive of the filament where the feedback to close the loop comes from a knurled idler on the filament.

This would mean factors such as drive slippage and different material stiffness could be automatically compensated for.

Going one step further the feedback wheel could be placed at the hotend of Bowden extruder systems negating the need to tune in retract settings for different materials as the closed loop system can just pull back however much material is required to get 1-2 mm as measured at the hot end.

I have seen there are readily available steppers with drive boards built in for closed loop control, I would imagine it would be a relatively simple task to remove the hall effect sensor from one of these boards and mount it remotely to read off a measuring wheel instead of the drive shaft.

I had a bit of a search but couldn't find anything on this topic online, is this something that has already been looked into and if it hasn't are there any significant reasons why this shouldn't work to improve performance and/or reduce manual tweaking and calibration required.

**Tags:** extruder, stepper-driver, stepper, closed-loop

> **Comments:**
> **username_1**: I'm wondering if thus would be useful, if an extruder skips, there could be a fundamental issue that isn't solved with monitoring the steps.  
> **username_0**: Skipping resistance is more a side benefit, as skipping comes with its own issues such as chewing into the filament. The benefits were more calibration (where different spring forces or filament hardness results in a different effective drive gear diameter).  
> **username_1**: I guess you therefore mentioned the separate knurled feedback option?  
> **username_2**: The cost of the encoder for the closed-loop is more than just turning up the power on the stepper motor. In practice, a well-tuned machine never slips.  
> **username_0**: As per before the benifit is not having to calibrate e-steps as well as having automatic compensation for Bowden tube elasticity.  
> **username_3**: https://github.com/KevinOConnor/klipper/issues/2610 a possible feedback design for the extruder is discussed  
> **username_0**: Looks interesting, I might have to play around with a custom hot end design to test it.  

---

## 1 answers

### Answer by username_4 on 2020-12-03. Score: 4 | Accepted answer

Closed loop steppers like S42B are becoming popular for the spatial axes because compensating for skipped steps is the correct way to recover for those axes. For example, if the nozzle knocks into a warped corner of a print and skips, the right thing to do is compensate, commanding additional steps necessary to get to the commanded location.

This is less valuable for extruder, since displacement is not necessarily the target we want to recover, but nozzle pressure. Extruder skip usually occurs when nozzle pressure exceeds the motors ability to drive the filament. Correcting for the skipped steps may result in overcompensating, attempting to drive nozzle pressure up over a longer period of time, since the problem won't clear itself as quickly as it does for the spatial axes. Compensating for skipped steps doesn't recover E errors like they do for X,Y, or Z, since skipped E steps tend to be driven by persistent problems, like low nozzle temp or hotend restrictions, where spatial errors tend to be transient, e.g. hitting a 'speed bump' on the print.

An alternative is filament flow sensors like [this BTT Smart Filament Sensor.](https://www.biqu.equipment/products/btt-sfs-v1-0-smart-filament-sensor-detection-stuck-blocking-filament-module) It uses a similar feedback mechanism like you suggest. It uses a driven wheel and encoder to send pulses to mainboard. When mainboard stopped getting pulses during commanded moves, it pauses print. Instead of trying to correct in a closed loop fashion, its a human-in-the-loop solution


---

