diff --git a/printer_mods/JD/RefillPlease/CAD/RefillPlease_v20.f3d b/printer_mods/JD/RefillPlease/CAD/RefillPlease_v20.f3d new file mode 100644 index 000000000..96d004a58 Binary files /dev/null and b/printer_mods/JD/RefillPlease/CAD/RefillPlease_v20.f3d differ diff --git a/printer_mods/JD/RefillPlease/Readme.md b/printer_mods/JD/RefillPlease/Readme.md new file mode 100644 index 000000000..774cbb42a --- /dev/null +++ b/printer_mods/JD/RefillPlease/Readme.md @@ -0,0 +1,93 @@ +# RefillPlease + + + + + +> Your mission, should you choose to accept it, is to build a simple yet cool looking filament runout sensor for your Voron printer.
+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.
+This readme will not self-destruct in five seconds, cause we're not on TV.

+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: + + + +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. diff --git a/printer_mods/JD/RefillPlease/STLs/[a]core_left.stl b/printer_mods/JD/RefillPlease/STLs/[a]core_left.stl new file mode 100644 index 000000000..1dd1a4b10 Binary files /dev/null and b/printer_mods/JD/RefillPlease/STLs/[a]core_left.stl differ diff --git a/printer_mods/JD/RefillPlease/STLs/[a]core_right.stl b/printer_mods/JD/RefillPlease/STLs/[a]core_right.stl new file mode 100644 index 000000000..3b70470a8 Binary files /dev/null and b/printer_mods/JD/RefillPlease/STLs/[a]core_right.stl differ diff --git a/printer_mods/JD/RefillPlease/STLs/cover_left.stl b/printer_mods/JD/RefillPlease/STLs/cover_left.stl new file mode 100644 index 000000000..11bf5bfab Binary files /dev/null and b/printer_mods/JD/RefillPlease/STLs/cover_left.stl differ diff --git a/printer_mods/JD/RefillPlease/STLs/cover_right.stl b/printer_mods/JD/RefillPlease/STLs/cover_right.stl new file mode 100644 index 000000000..51e84b65f Binary files /dev/null and b/printer_mods/JD/RefillPlease/STLs/cover_right.stl differ diff --git a/printer_mods/JD/RefillPlease/images/Overview.png b/printer_mods/JD/RefillPlease/images/Overview.png new file mode 100644 index 000000000..9c859894f Binary files /dev/null and b/printer_mods/JD/RefillPlease/images/Overview.png differ diff --git a/printer_mods/JD/RefillPlease/images/interior90.png b/printer_mods/JD/RefillPlease/images/interior90.png new file mode 100644 index 000000000..80fa33424 Binary files /dev/null and b/printer_mods/JD/RefillPlease/images/interior90.png differ diff --git a/printer_mods/JD/RefillPlease/images/lever.png b/printer_mods/JD/RefillPlease/images/lever.png new file mode 100644 index 000000000..6e4b01c43 Binary files /dev/null and b/printer_mods/JD/RefillPlease/images/lever.png differ diff --git a/printer_mods/JD/RefillPlease/images/notch.png b/printer_mods/JD/RefillPlease/images/notch.png new file mode 100644 index 000000000..c9576ab0b Binary files /dev/null and b/printer_mods/JD/RefillPlease/images/notch.png differ diff --git a/printer_mods/JD/RefillPlease/images/refillplease.png b/printer_mods/JD/RefillPlease/images/refillplease.png new file mode 100644 index 000000000..7f6a2e89d Binary files /dev/null and b/printer_mods/JD/RefillPlease/images/refillplease.png differ diff --git a/printer_mods/JD/RefillPlease/klipper/filament_runout_detection.cfg b/printer_mods/JD/RefillPlease/klipper/filament_runout_detection.cfg new file mode 100644 index 000000000..ed9a47fda --- /dev/null +++ b/printer_mods/JD/RefillPlease/klipper/filament_runout_detection.cfg @@ -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 diff --git a/printer_mods/README.md b/printer_mods/README.md index 059d2ae6b..155b52ba1 100644 --- a/printer_mods/README.md +++ b/printer_mods/README.md @@ -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:|