
Filament Progression and Runout sensor (Optical Endstop and Encoder Wheel)
thingiverse
IMPORTANT - V1.2 UPDATE It has been observed that on some duet setups the simple optical endstop may cause reading inconsistencies due to the analog nature of the signal sent from the IR sensor. The addition of a Schmitt trigger fixed the issue, cleaning up the signal to the extent of allowing less than +/-5% reading inaccuracy. I therefore highly recommend using the V1.2 housing and axles, along with this type of Arduino speed sensor: https://www.aliexpress.com/item/4000010517311.html The TPU wheel stays compatible, or if you'd prefer not to print flexible material feel free to try out this awesome remix from JPWhite that allows using an o-ring/rubber band for grip. https://www.thingiverse.com/thing:4687041 The duet code remains mostly unchanged, except you can try tightening the allowed deviation if you got a quality encoder wheel. Default is: M591 D0 P7 C"io6.in" S0 E51 L2.1 R50:150 Where "io6.in" is your sensor input and S0 sets it on "don't do anything" is triggered so you can test it out by launching a print, then entering M591 D0 to check status before committing to S1, enabling pause when detecting variation. Hope that improves your results, cheers! The scope of this project was to build a filament sensor that not only tracks runout (like a simple switch would do) but also the progression in order to detect jams. Current options are either unreliable (laser sensors don't work well with transparent filaments) or expensive and finicky (Duet magnetic filament monitor) So my idea was to use a $0.50 optical end-stop to sense pulses through an encoder wheel, just like the good old ball mouses did. In the purest RepRap fashion, it was also designed to use as many printed parts as possible. Here's all the hardware you will need: 1x Optical End Stop (the long, red type with the plug on the opposite side to the sensor; example: https://amzn.to/3cOSfGq or Aliexpress) 2x MR105 Bearings (5mm ID x 10mm OD x 4mm) 6x M3 x 6mm screw Some 4mm PTFE tube Start by printing all the included parts. They should all print without supports at 0.2mm layer height. The wheel should be printed in a soft material; TPU or TPE. Then use the cutting tool to trim the slot on the PTFE tube. Check assembly in the body. Next, assemble the Axle_A into Axle_B. Should be a tight fit, don't hesitate gently hammering it down. (Fellow Railcore users will have the privilege to use their panel corner holes) The wheel then goes on the hex area of the Axle_B, and finish up by assembling the bearings on each end. Text fit the axle sub-assembly in the body, it should move freely. If no, check again that the axle is moving freely by inserting a piece of filament and look if the encoder wheel is spinning. If so you're almost done! Assemble the sensor in the slot with the remaining 2 screws, slide the mount in the dovetail, and cut the extra Teflon tubing if you want it neat. That's it! So far only tested on Reprap Firmware, please tell me how you set it up on your board: Duet3 / RRF3: M591 D0 P7 C"io6.in" S1 E50 L1.2 R50:150 A1; Pulse-type filament monitor on pin io6.in, enabled, sensitivity 1.20mm/pulse, allowed movement 50% to 150%, check every 50.0mm (Where io6 can be replaced by wherever you chose to plug yours) Calibration: I would recommend setting it to S0 first, doing a test print and entering M591 D0 to get the actually measured sensitivity from the console I hope you find it useful! Revision History: V1.0 - 2020-06-11 - Initial release V1.1 - 2020-10-14 - Added 8 and 12 slots encoder wheels for easier print V1.2 - 2021-02-18 - Major update - Replaced sensor by schmitt-trigger equipped Adruino style IR sensor, extended and exposed axles to visually check good rotation, and extended output side boden guide
With this file you will be able to print Filament Progression and Runout sensor (Optical Endstop and Encoder Wheel) with your 3D printer. Click on the button and save the file on your computer to work, edit or customize your design. You can also find more 3D designs for printers on Filament Progression and Runout sensor (Optical Endstop and Encoder Wheel).