Published On Jul 25, 2022
Learn how to install a filament runout sensor and configure Klipper to make use of the Trianglelab filament runout sensor and never loose a 3d print again to runout.
Note, please don't risk blowing your electronics and don't plug devices into a powered circuit board like I did, by mistake, in this video!
This video should also be applicable for 3d printing beginners that are interested in upgrading their 1st 3d printer.
The run out sensor can be purchased at Amazon where I receive a commission that directly contributes to content creation on this site:
https://amzn.to/40IJTZX
The military green ABS and black ASA filament: https://www.paramount-3d.com/?ref=o45...
Important links:
Base script: file:///home/harry/Downloads/filament_runout_detection.cfg
STL file: https://github.com/VoronDesign/VoronU...
Fysetc Spider pinouts: https://wiki.fysetc.com/images/Spider...
My modified script used in the video:
[filament_switch_sensor RunoutSensor]
switch_pin: !PB13 # Pin ESTOP-Y for Spider mcu
pause_on_runout: false
runout_gcode: M600 # Move nozzle to a location thats easy for the user to access
#####################################################################
Filament change macro M600
#####################################################################
[gcode_macro M600]
variable_park_x: 175 # try half your bed size.
variable_park_y: 10
variable_z_lift: 50
variable_velocity: 60
variable_retract: 0.5
gcode:
SAVE_GCODE_STATE NAME=STATE_M600 # remembers the position
PAUSE_BASE
Fluidd redifines PAUSE to move the the back corner of the printer. We don't want that. This is what Fluidd renamed basic pause to.
Mainsail renames PAUSE to "BASE_PAUSE", so you should probably use that instead. If using other software, probably just use PAUSE.
safe park coords
{% set th = printer.toolhead %}
{% set park_x = [params.X|default(park_x)|int, th.axis_maximum.x-2]|min %}
{% set park_y = [params.Y|default(park_y)|int, th.axis_maximum.y-10]|min %}
{% set park_z = [th.position.z + params.Z_LIFT|default(z_lift)|int, th.axis_maximum.z]|min %}
{% set park_feedrate = params.VELOCITY|default(velocity)|int * 60 %}
retract at 50mm/sec
G91
G1 E-{retract} F3000
park toolhead
G90
G0 X{park_x} Y{park_y} Z{park_z} F{park_feedrate}
Tell user to reload filament
M117 Reload Filament
RESTORE_GCODE_STATE NAME=STATE_M600
End of gcode script
Thank you for watching!
Please subscribe today!
Instagram: / kapmansbasementworkshop