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.

  • $\begingroup$ 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. $\endgroup$
    – 0scar
    Dec 1 '20 at 9:38
  • $\begingroup$ 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). $\endgroup$
    – Hugoagogo
    Dec 1 '20 at 11:20
  • $\begingroup$ I guess you therefore mentioned the separate knurled feedback option? $\endgroup$
    – 0scar
    Dec 1 '20 at 12:28
  • $\begingroup$ 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. $\endgroup$
    – user77232
    Dec 1 '20 at 13:44
  • 1
    $\begingroup$ github.com/KevinOConnor/klipper/issues/2610 a possible feedback design for the extruder is discussed $\endgroup$
    – FarO
    Dec 1 '20 at 13:50

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. 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


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.