1

Using the official Creality runout sensor, I encountered a few times that the filament entangled around something and got stuck, the printer continuing for several hours (as it didn't run out), printing mid-air aithout filament. Then I got interested in the types of filament sensors that exist such as a runout and jam sensor as those mentioned below:

The BTT filament sensor

It is supposedly able to detect both runout and jamming, which I assume uses the concept of a rotary encoder:

BTT sensor

DIY 'super simple filament jam sensor'

From printables.com, which I assume uses simple physics, although it's unclear how this works exactly.

Super simple filament jam and presence sensor.

DIY Optical Filament Sensor

This amazing-looking optical filament sensor from thingiverse.com uses a rotary encoder.

optical filament sensor

Question

I guess that a rotary encoder would be best for this purpose because it can detect actual moving filament and potentially even exactly at which speed it is moving. However, how would it account for filament retraction or paused prints (waiting for filament color change)? Is this usually done in firmware or external control software such as OctoPrint?

I would like to understand: What different types of detection mechanisms for filament jam detection exist, and how do they work exactly? Also, which is considered most reliable and why?

Bob Ortiz
  • 1,053
  • 1
  • 3
  • 29

1 Answers1

1

It's a great question, but I don't think jam detection is particularly common on hobbyist printers.

I know the Prusa MK3.9/MK4 and XL printers intend to add jam detection using the load cell that's built into the Nextruder, where it can detect the force between the extruder gear and the nozzle. It was promised in their promotional material, but is not implemented yet. (Today it uses the load cell to perform mesh bed levelling.) Jam detection using the load cell would have to be implemented in firmware.

Vector3D build a hotend tester using the same principles, and I feel his video nicely explains how the load cell would detect skipping and jamming: The Next Generation of Hot End Testing - YouTube.

I don't have any experience of using rotary encoders on a printer, so I cannot comment on how the data from the encoder is used to alert the user of a potential problem. I would hazard a guess that it's an OctoPrint plugin which require you to use serial printing (so OctoPrint knows how much filament is being extruded/retracted moment to moment). A quick search shows there is at least one such plugin: gmatocha/Filament-Watch-Octoprint-Plugin: Octoprint Plugin that monitors filament extrusion with a rotary encoder, the README lists the required parts and may be a good starting point if you want to build one yourself.

RobM
  • 324
  • 1
  • 5
  • Very interesting plugin but the section https://github.com/gmatocha/Filament-Watch-Octoprint-Plugin#using-filament-watch---reliably does raise some valid concerns. Thank you. – Bob Ortiz Dec 27 '23 at 14:24