TheSpaghettiDetective / obico-server

Obico is a community-built, open-source smart 3D printing platform used by makers, enthusiasts, and tinkerers around the world.
https://obico.io
GNU Affero General Public License v3.0
1.49k stars 295 forks source link

[Feature] Detect filament not extruding #508

Open kunalgrover05 opened 3 years ago

kunalgrover05 commented 3 years ago

Is your feature request related to a problem? Please describe. On the stock Ender, I saw a lot of issues where filament stopped extruding. Those issues are solved with me upgrading to a better extruder but they still happen occasionally when printing filaments like TPU

Describe the solution you'd like TSD is at the right place to detect and pause prints if the extruder is not extruding filament. It might not work very well with a camera at an inclination but will work great at cameras which can see the nozzle.

Describe alternatives you've considered Optical filament sensors don't work very well when the filament is jammed in the extruder stepper / Bowden setup.

Additional context NA

kennethjiang commented 3 years ago

Sorry for the delay!

I'm under the impression that Prusa and some newer creality printers have filament sensors that can detect jams. Am I wrong here? A sensor will be the best option as it'll stop the print quickly enough so that you may still have a chance to salvage the print.

I don't have a printer equipped with a filament sensor so I could be wrong here. More info about these sensors will be appreciated. If it does turn out that filament sensors are not good enough for jams, we can take a swing at this.

kunalgrover05 commented 3 years ago

There are 2 kinds of sensors in the market today:

I think TSD can lie in the second bucket where it can detect all kinds of reasons for filament not extruding and pause the print.

kennethjiang commented 3 years ago

There was a good discussion in TSD's forum recently about this topic: https://discord.com/channels/614543405724205137/661327037360898063/881298295778082866

Please take a look and let me know if you don't think the sensors proposed in the forum will work for you. They would be a much easier and much faster way compared to using AI.

mrx23dot commented 3 years ago

Stall sensors are not easy to calibrate, because optimally you need extruder input to compare filament feed, otherwise if you wait long for heat up it false triggers.

It should be possible to detect gap between camera and model, if you have a white background, but if you print with white you are out of luck, also the camera has to be on same height as nozzle to move alone.

Maybe the easiest is detecting stall for 5minutes, and checking on printer every 1hr.

mrx23dot commented 3 years ago

Here is a stall sensor that compares filament demand-supply, optically, not cheap. https://www.tindie.com/products/niujl123/laser-filament-motion-sensor/

kennethjiang commented 3 years ago

@mrx23dot Thank you so much for the info! I don't have a Pursa, but I have heard Prusa can detect jammed filament. The info I found only seem to be conflicting between vouching for this claim and discrediting it. Do you have more insights about Prusa's sensor?

mrx23dot commented 3 years ago

Prusa as I know had an optical only presence detector but it wasnt reliable. They switched to roller+lever+IR gate (same as switch). https://help.prusa3d.com/en/article/ir-filament-sensor-troubleshooting-mk2-5s-mk3s_112226/ similar to https://www.thingiverse.com/thing:3063430 None of them are smart enough to consider filament demand. The only one that I have seen is the link above.

kennethjiang commented 3 years ago

Great info. Thanks again @mrx23dot .