0

I am trying to understand the concept of the encoder wheel used as a filament sensor, as shown below. It can detect if filament is moving, making it suitable for filament runout and filament jam detection, although it wouldn't be able to distinguish the two events.

DIY Filament Sensor using Encoder Wheel

Source: Thingiverse.com

Filament runout detection is easy to understand, there is no filament passing (anymore), so the wheel isn't moving when it should.

Filament jam detection, the filament is not moving when it should, but how does the firmware know when it should expect the encoder wheel to move? Does it compare some last move time with an expected move time and some threshold time?

In addition to microswitch variants, such as shown in my question How to distinguish filament runout and filament jam using a microswitch-based filament sensor in Marlin?. I think an Encoder Wheel variant does add two more types of detection that a microswitch variant can't detect:

  • Filament break detection: It is probably the only way to detect the rare case where the filament breaks (after it passed the sensor), where one or two microswitches would both possibly not be triggered (as the filament is still present in the sensor), resulting in a false-negative where the printer keeps printing when it should stop.
  • Clogged nozzle detection, a clogged nozzle would also be detected as the filament simply stops flowing.

However, I think both 'filament break' and 'glogged nozzle' detection would not be distinguishable from a 'Filament Jam' or 'Filament Runout' event for an encoder wheel sensor as in both cases, the filament simply stops running the wheel when it's expected to run.

Additionally, under a YouTube video about this particular sensor a user 'hd-be7di' commented:

This sensor could work better if it shared data with the extruder. It could act like an "error correction wheel" by comparing the extruder's parameters to the sensor's to detect very tiny under-extrusions (and over-extrusions too!) instead of acting like a simple on-off switch.

Is my understanding correct, or are there other ways these encoder wheels can be used for 3D printers? How can printer firmware use encoder wheel data, and how does the firmware know when to expect a rotating wheel (with some delay or trigger threshold, I suppose) as well as ignoring retractions?

Bob Ortiz
  • 1,053
  • 1
  • 3
  • 29
  • Filament break detection, I quote: `as the filament is still present in the sensor` not necessarily, old PLA frequently breaks at the spool, so you will experience a run-out of material. – 0scar Dec 06 '23 at 08:01
  • 1
    Ah, I wrote that from the perspective of a break after the sensor, which I experienced only once. But, a break before the sensor would indeed be detected as a runout. Thanks for pointing that out. – Bob Ortiz Dec 06 '23 at 08:35
  • No prob, especially PLA and even more the 2.85 mm variant is very brittle if not kept correctly and is prone to break near the spool. – 0scar Dec 06 '23 at 10:51

0 Answers0