A sensor that detects jams made of organic home-grown filament, and also runout.
The Tasty-Sensor detects if the filament gets stuck on the way to the nozzle, or if the filament ran out but didn't get jammed like it usually does.
I needed a sensor that detects when the filament runs out, but I couldn't find one that worked for me, so I designed my own. A regular runout sensor sometimes worked if the hook at the end of a spool was gentle enough to slip through the sensor, but almost always the filament got stuck on the end of the sensor and the print failed silently. Sensors that check for filament movement (such as the BTT Smart Filament Sensor) gave me too many false positives even after the recommended tuning and adjustment. The sensor that got the closest to what I wanted is the SpEye by MirageC thingiverse | docs.hevort
The SpEye introduced too much friction in the filament path to be feasible to me. The primary cause for this was the plunger binding and the filament sliding along the bearings instead of letting the bearings roll. The binding of the plunger comes from a direct plastic-to-plastic movement interface, and the spring tension acting offset from the center of rotation, causing a moment in the plunger. The SpEye needs two different stiffnesses of springs to function properly, and I didn't have two springs the right length and with different enough stiffness.
I sought to solve these issues in my design. The features of the Tasty-Sensor are as follows:
- Spring tension is aligned with the center of mass
- Only a single spring is needed
- Plunger runs on bearings to reduce friction
- TPU tires on bearings let the bearings roll instead of having the filament slide over them
The primary drawbacks of this design are:
- Needs 6 bearings instead of 3
- Needs more parts printed
- Needs more fasteners
- Spring tension cannot be tuned and needs a spring swap for switching from ABS to flexible for example
- Loading filament is slightly harder
- 2pcs M3x8 BHCS
- 5pcs M3x10 SHCS
- 2pcs M3x12 SHCS
- 2pcs M3x25 SHCS
- 6pcs M3 hex nuts
- 2pcs M3 5mmWx4mmH threaded heat inserts
- 2pcs PC4-M6 pneumatic fittings
- 1pcs Optical Sensor
- 6pcs 623zz bearings
- 6pcs 5mmOD 3mmID 0.5mmH Shims
- Print the filament guides in 0.1mm layer height.
- Print everything else in 0.2mm layer height.
- Clearances were calibrated for eSun ABS+ and Polymaker ASA. Polymaker ABS could be used but it shrinks slightly more so fitment is tighter. Other filaments are untested.
- Clearances are sensitive to EM innacuracies and elephants foot so make sure you've tuned those properly.
-
Attach the bearing with the middle filament guide onto plunger with an M3x8 BHCS
-
Place the plunger onto the vertical channel, then move the tensioner loosely into position
-
Gently push the tensioner into the plunger with your finger, then loosely tighten the set screw so that the tensioner won't back off but not so much that the plunger binds. You must maintain smooth movement.
-
Insert the spring into the plunger cutout and test to see if you still have full range of motion on the plunger. It must be able to move the same amount with the spring in as without the spring.
-
Screw on the Pneumatic tube fitments directly into the plastic
-
(Optional) Attach the tasty-sensor to your printer frame with the standoffs and M3x25 SHCS
-
Connect 5v, Signal, and Ground to the optical endstop
-
Add the following to your printer.cfg file:
[filament_switch_sensor filament_sensor]
switch_pin: !<your pin>
pause_on_runout: True
insert_gcode:
M117 Insert Detected
runout_gcode:
M117 Runout Detected