1 / 3
filament runout switch — zdjęcie 1
1 / 3

filament runout switch

Zamów wydruk tego modelu

Obliczymy ostateczną cenę na podstawie wybranego pliku. Sprawdzisz ją i zaakceptujesz przed płatnością.

Zapisane na tym urządzeniu.

this filament runout switch uses a simple end stop switch and a simple configuration

Ocena
5 / 5
Polubienia
18
Pobrania
60
Wydruki
4
Wyświetlenia
1254
Oceny
4

Aktualizacja u źródła:

Informacje o modelu

Źródło
Printables
Licencja
Creative Commons — Attribution — NoDerivatives

If you upgraded your Creality 3D printer to use an ABL system such as a BLTouch, then you probably have an unused Z limit switch laying around. I designed this model so the unused limit switch from my CR-10 Mini can be used as a filament runout sensor. The limit switch is commonly found in Creality CR-10 and Ender 3 line of printers and it consists of an SPDT switch mounted on a small PCB with a female JST XH connector.

I mounted the filament runout sensor to the top of my 3D printer's frame, right under the spool. You can use t-nuts and bolts, or zip ties. Typically, runout sensors are positioned much closer to the extruder for minimal filament waste. However, I converted my CR-10 to be direct drive and the position of the sensor makes the most sense for my setup. As an added benefit for its position, I am given a generous length of filament to fuse/melt ends together.

I use octopi with my printer, so this switch works perfectly with the GPIO pins. (I'll explain briefly below.) I'm not familiar with other setups, but considering it just a switch... I can't imagine this not being adaptable to your setup.

The design uses a 608 bearing and a custom PTFE holder to allow filament to glide through with minimal friction. I wanted to use commonly available parts and more than likely, you probably have the necessary items laying around.

.STL files:

  • Main body (58.5 x 31mm excluding mounting points)
  • PTFE holder (9 x 19 x 4mm)
  • 5mm spacer (if you need it) (88.5x11x5mm)

Parts you need:

  • Limit switch (taken off the stock mount)
  • 2x 5mm M3 screws (taken off the stock mount)
  • 20mm PTFE tubing
  • Standard 608 bearing aka skateboard bearing (you could probably even print one)
  • Wires (you can use the original cable that was plugged into the limit switch, but you would have to fish it out of the enclosure.)
  • Optional: Using connectors such as JST XH and/or dupont is super helpful for making good connections with your hardware. Otherwise, you'll have to figure out a way to make the connections.

Making the PTFE guide:

Rough up the outside of the PTFE tube using medium grit sandpaper.

Adhere PTFE tube to the holder and allow to dry. Original Super Glue worked best for me.

Using a sharp blade and while using the holder as a guide, carefully trim off the excess PTFE like shown in the pictures.

Attaching ONLY to the metal lever of the limit switch, adhere the PTFE guide with a small drop of glue. Be careful not to get glue on the switch itself!

Note: Depending on the tolerances of your limit switch, you may or may not have to file down the PTFE guide. Just make sure the switch has enough room to click and unclick.

Wiring guide:

Using the limit switch PCB as a reference, you will notice the three pins are labelled as S, G, and V. Depending on how you want to wire the switch, you can have it normally open or normally closed.

Using pins S and G will make the switch normally open.

Using Pins S and V will make the switch normally closed.

If you are using the wires that originally plugged into the switch, it is set up for normally closed.

Connecting it to your Raspberry Pi (Octopi):

Refer to my photos and https://www.raspberrypi.org/documentation/usage/gpio/

You will need to connect one wire of the switch to any GPIO labelled pin and the other wire to ground on the Raspberry Pi.

You will need to install the Filament Sensor Reloaded plugin.

Under the Filament Sensor Reloaded settings, choose the board pin you are using, the switch type, and make sure "Pause print when out of filament" is check marked. You may leave debounce time unchanged and Out of filament GCODE blank if you wish.

For my setup, I connected the switch to GPIO 23 (board pin 16) and ground on pin 14. Using "Board Mode" I entered a value of 16. My switch is normally closed.

Modify your GCODE to whatever works best for you. I only use pause/resume GCODE scripts regardless of any interruption to my prints.

Connecting via mainboard and klipper

[filament_switch_sensor fil_runout_sensor]
pause_on_runout: True
switch_pin: PE4 #ar2
#   When set to True, a PAUSE will execute immediately after a runout
#   is detected. Note that if pause_on_runout is False and the
#   runout_gcode is omitted then runout detection is disabled. Default
#   is True.
runout_gcode:
   SAVE_GCODE_STATE NAME=PAUSE_state
   BASE_PAUSE
   G91
   G1 E-5 F2100
   G1 Z10
   G90
   G1 X175 Y230 F6000

make sure to change you switch pin for your boards pin number on the skr e3v3 is PC15

Tagi