RefillPlease - Filament runout sensor (#544)

* Initial import of readme file

* Use mod sub directory

* Add some pictures

* Create dir

* Add pictures

* Resize images

* Update picture

* Remove old pic

* Add new one

* Trying to update pic

* Add again

* lower case image to force update

* Minor adjustments

* Wrong orientation

* Correct orientation

* Typo

* Add directory

* Add stls

* Add directory

* Add CAD

* Update Readme.md

* unnecessary tool

* Add mod RefillPlease

Filament runout sensor

* Unnecessary

* Unnecessary

* Unecessary

* Smaller holes for better screw contact

* Smaller holes for better screws contact

* Won't fit a V0 due to different extrusion size

* Add sample klipper config

* Add sample config reference

* Add somme message

* Compatible with 1.8 & trident since same extrusion specs
This commit is contained in:
splitified 2021-12-16 15:26:08 -05:00 committed by GitHub
parent 4e2693fabb
commit a648826df8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 150 additions and 0 deletions

Binary file not shown.

View File

@ -0,0 +1,93 @@
# RefillPlease
<img src="images/Overview.png" width="1080">
<img src="images/refillplease.png" width="640">
> Your mission, should you choose to accept it, is to build a simple yet cool looking filament runout sensor for your Voron printer.<br>
As always, should you or any of your printers be hurt in the process, the Secretary and myself will disavow any knowledge of your actions.<br>
This readme will not self-destruct in five seconds, cause we're not on TV.<br><br>
Good luck.
## BOM
This part is designed to replace the stock bowden tube holder, so you can reuse the M3x8 SHCS and the M3 Hammer Head T nut.
You will need :
* 1 x micro switch (body : 20x6x10mm) with a lever (search for 'SPDT 5A, 125V 250V 29mm')
* 1 x JST 2 pins female connector
* 4 x M2x10 self tapping screws
* two piece of wire (30mm length each)
And some tools :
* pair of pliers
* small Philips screwdriver
* soldering iron
* a multimeter (optional, but it makes you look smart when using it)
## What does it do, and why should I do this mod?
It is a drop in replacement for the stock bowden tube holder with the benefits of being a filament runout sensor. So you know, it will mainly tell you when your printer need a refill (hence the name).
#### Print Settings:
Standard Voron print settings are fine, ABS+ (but PLA or PETG are fine too since it will not stand in the enclosure).
* 0.4 mm Nozzle
* 0.2 mm layer height
* 30% infill
* no supports
* 4 vertical shells
* 5 solid layers top and bottom
##### What files need to be printed?
Select the *_right* parts if you want to put the filament sensor on the right of the printer, *_left* parts otherwise (when you stand in front of the printer).
You'll need:
* [a]_core__(left/right).stl
* cover_(left/right).stl
# Assembly:
<img src="images/interior90.png" width="640">
Step 1: Take a refill of coffee
Step 2: Bring out your inner artist\
Using your pliers, try to form the lever to look like the picture (cut the lever if needed).\
You may have to adjust the lever shape and length after trying to insert the filament so the switch is depressed each time the filament is inserted.
![](images/lever.png)
Step 3: Prepare the electronics\
Put the micro switch and the JST connector in the Core part
Be careful:
* the switch lever must go UP / in the oposite direction of the JST connector location.
* the JST connector notched face should go directly on the core part (you should see a matching notch)
Use this as a template to cut the piece of wires to the correct length.\
Strip the wire with pliers.
![](images/notch.png)
Step 4: Soldering\
Tin plate the JST pins and the wires.\
*You could use the printed part as a support when soldering the wires, but be carefull not to go too close to the plastic parts*\
Solder according to the picture
Step 5: Testing\
Using the multimeter in continuity mode, be sure that the current is going through when the switch is depressed.
Step 6: Close everything\
Put the cover on using the M2x10 self tapping screws, but let the top ones loose.\
Insert the PTFE tubes on each sides, and tighten the screws to block everything in place.
## Software
Sample configuration for Klipper can be found in the `/klipper` directory.
To use it, add the file `filament_runout_detection.cfg` from your UI and load it in your `printer.cfg` file using the following directive :
`[include filament_runout_detection.cfg]`.
Adapt the switch_pin according to your mcu configuration (sample file is for an Octopus mcu).
The sample config come with a M600 filament change macro provided by VintageGriffin on Discord.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

View File

@ -0,0 +1,56 @@
#####################################################################
# RefillPlease - Filament Runout Sensor
#####################################################################
[filament_switch_sensor RunoutSensor]
switch_pin: !PG12 # Pin ESTOP4 for Octopus mcu
# Without M600 macro (uncomment the line below and comment the two lines in the "With Filament change M600 macro"
# pause_on_runout: true
# With M600 Filament change macro
pause_on_runout: false
runout_gcode: M600
#####################################################################
# Filament change macro M600
#####################################################################
[gcode_macro M600]
variable_park_x: 220
variable_park_y: 10
variable_z_lift: 20
variable_velocity: 60
variable_retract: 1
gcode:
SAVE_GCODE_STATE NAME=STATE_M600
# remembers the position
# fluidd annoyingly redefines this macro to retract and park the toolhead at the rear
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}
# unload 60mm of filament
G91
G1 E-50 F3600
G1 E-10 F3600
# ask the waiter for a refill
M117 Refill please
RESTORE_GCODE_STATE NAME=STATE_M600

View File

@ -159,6 +159,7 @@ like so:
| jappaj | [V0.1 FanSaver](./jappaj/FanSaver) | A printable fix for overheating V0.1 blower fans | :heavy_check_mark: | :x: | :x: | :x: | :x:|
|jasonc |[V2.4 Z-Idler Shoulder Bolt Mod](./jasonc/Z_Idler_Shoulder_Bolt) |Modification to the idler carriers to accept a 25mm shoulder bolt. Ideal for Gates idlers. |:x: |:x: |:heavy_check_mark: |:x:|
| Jasrags | [Feed slot with filament pass-through](./Jasrags/sw_fee_slot_filament_passthrough) | A feed slot with a filament pass-through | :x: | :x: | :x: | :heavy_check_mark: |:x:|
|JD |[V2.4 Filament runout sensor](./JD/RefillPlease) | Replace the 2.4 stock bowden tube holder and add a filament runout sensor | :x: | :heavy_check_mark: | :heavy_check_mark: | :grey_question: | :heavy_check_mark: |
|jeoje |[V2.4 Z Chain Guide with Integrated Chamber Thermistor Mount](./jeoje/Z_Chain_Guide_Thermistor_Mount) | Modifies the Z chain guide to hold a chamber thermistor |:x: |:x: |:heavy_check_mark: |:x:|
| | [4.3" Touchscreen Mount](./jeoje/4.3_Inch_Touchscreen_Mount) | Mounts a [Waveshare 4.3inch Capacitive Touch Display](https://www.waveshare.com/4.3inch-dsi-lcd.htm) to v2.4 and Switchwire Vorons |:x:|:x:|:heavy_check_mark:|:heavy_check_mark:|
| | [Sturdy Handles](./jeoje/Sturdy_Handles) | Modified v2.2 handles with no panel rest and with 4 anchor points |:x: |:grey_question:|:heavy_check_mark:|:x:|