Optical Filament Sensor v2.1 with Drive Gear - for 1.75mm filament
We calculate the final price from your selected file. You review and accept it before payment.
Saved on this device.
This is version 2.1 of my previous design. It was prepared in cooperation with @dragonn
- Rating
- 0 / 5
- Likes
- 3
- Downloads
- 27
- Makes
- 0
- Views
- 730
- Reviews
- 0
Updated at source:
Model information
- Source
- Printables
- Category
- Other Printer Parts & Upgrades
- License
- Creative Commons — Attribution — Noncommercial
Comparision between versions
On the pictures you can see designed versions of sensor. All are printed in draft mode. From left V1.0, V2.0, V2.1




Bom
- 3x 619/5 bearings
- spring (I used one from a ballpen)
- end stop optical sensor
- MK8 drive gear
- M5x16 shaft - you could cut M5 bolt
- M3x40 - for idler tension
- M3x20 - for mounting idler to body
- M3x10 - for optical sensor mount
- M3 nut
- M5x35 (M5x30 should also fit)
- M5 nut
Assembly



Source
https://cad.onshape.com/documents/bc431172d582a5a54b3b58ac/w/c4ffc497b40e3855d881f07f/e/8e35b674b9538da00cfbcf5f?renderMode=0&uiState=61d3477ddf0e5e300b92c53c
Calibration.
General good information how to calibrate this sensor is here https://duet3d.dozuki.com/Wiki/Duet3dFilamentMonitor_RotatingMagnetVersion#Section_Calibration
Sensor is supported by:
RepRap firmware - https://duet3d.dozuki.com/Wiki/Duet3dFilamentMonitor_RotatingMagnetVersion
smoothieware - http://smoothieware.org/filament-detector
Marlin - find in configuration.h FILAMENT_MOTION_SENSOR
Klipper https://www.klipper3d.org/Config_Reference.html?h=filament#filament_motion_sensor - note that klipper required filament change between two high states so calculation is value = 21mm / (tooth_no) * 3 (mm per status change) - multiple by 3 to increase accuracy and lower mean error
Calculation of value.
To calculate use formula
value = 21mm / (tooth_no *2) (mm per status change)
Example for klipper:
[filament_motion_sensor filament_sensor]
detection_length: 1.43181818182
extruder: extruder
switch_pin: ^PD10
pause_on_runout: TrueExample for RRF:
For my configuration with 44T wheel I used this command:M591 D0 P7 C"e0stop" S1 R50:800 L0.239 E2.64 A1
Example output of checks:
M98 P"0:/macros/Extruder/Check filament sensor"
Pulse-type filament monitor on pin e0stop, enabled, sensitivity 0.528mm/pulse,
allowed movement 50% to 800%, check every 6.3mm, measured sensitivity 0.566mm/pulse,
measured minimum 89%, maximum 101% over 1259.5mmThose values have some offset due to fast printing with a lot of retraction and enabled PA. 50% is a margin when hot end get clogging. Also could be increased to get it faster.