Filament runout detection
We calculate the final price from your selected file. You review and accept it before payment.
Saved on this device.
Finally got around to build something to deal with running out of filament when printing from Octoprint (not direct…
- Rating
- 0 / 5
- Likes
- 1
- Downloads
- 13
- Makes
- 0
- Views
- 347
- Reviews
- 0
Updated at source:
Model information
- Source
- Printables
- Category
- Other Ideas
- License
- Creative Commons — Attribution
Finally got around to build something to deal with running out of filament when printing from Octoprint (not direct from SD card) on my Ender 3 Pro.
I created this bracket to use with the following switches: https://www.amazon.com/gp/product/B00MFRMFS6/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1
I connected the two outer most connections to my raspberry pi as you can see in the pickture.
The housing for the pi is: https://www.amazon.com/gp/product/B081N3V6BH/ref=ppx_yo_dt_b_asin_image_o06_s01?ie=UTF8&psc=1
Connect it to physical pins of the pi (4B) as shown in the picture.
The wire guide STL is a nice to have if you want to guide the wire to the side of the frame.
I use the filament sensor reloaded plugin for Octoprint and have included a screenshot for the settings for the plugin.
You will also have to tell Octoprint what to do when a print is paused (for you to change filament):
{% if pause_position.x is not none %}
; relative XYZE
G91
M83
; Lower extruder temp
M104 180
; retract filament, move Z slightly upwards
G1 Z+5 E-5 F4500
; absolute XYZE
M82
G90
; move to a safe rest position
(use X0 and Y0 depending on your printer)
G1 X220 Y220
{% endif %}
And what to do when resuming a print:
{% if pause_position.x is not none %}
; relative extruder
M83
; prime nozzle
G1 E-5 F4500
G1 E5 F4500
G1 E5 F4500
; absolute E
M82
; absolute XYZ
G90
; reset E
G92 E{{ pause_position.e }}
; move back to pause position XYZ
G1 X{{ pause_position.x }} Y{{ pause_position.y }} Z{{ pause_position.z }} F4500
; reset to feed rate before pause if available
{% if pause_position.f is not none %}G1 F{{ pause_position.f }}{% endif %}
{% endif %}
You configure these settings in the GCODE Scripts section of the Octoprint settings.
It all works like a charm as can be seen from the example picture where I switch from black to grey filament. Seamless.
Print Settings
Printer Brand:
Creality
Printer:
Ender 3 Pro
Rafts:
No
Supports:
Doesn't Matter
Resolution:
0.2
Infill:
25%
Filament: eSun PLA+ Black
Notes:
I did not us supports, but if you do, make sure to use only from build plate.
Nozzle Temp: 210 Celsius
Bed Temp: 55 Celsius
How I Designed This
The holder for the switch is a remix. I added the bracket in order to attach the sensor to the upper frame, straight underneath the filament spool.
Category: 3D Printing