Runout unklicky (#781)

* Runout UnKlicky Sensor

* Update runoutunklicky.cfg

* Updated Docs and sample macros
This commit is contained in:
Jonathan Michaelson 2022-08-16 18:24:34 +01:00 committed by GitHub
parent e97a8b2993
commit 12f5cb860a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
23 changed files with 54028 additions and 1 deletions

View File

@ -90,8 +90,9 @@ like so:
| Ch4rlesB | [V0 Handles Slim](./Ch4rlesB/V0_Handles_Slim) | Simple and slim handles for the V0 | :heavy_check_mark: | :x: | :x: | :x: |
| Chaoticlab | [Tool_free_tensioner](./Chaoticlab/Tool_free_tensioner) | Tool-free tensioner for Z-Axis | :x: | :x: | :heavy_check_mark: | :x: |
| ChenTheDesignMaker | [Z Belt Clip](./ChenTheDesignMaker/Z_Belt_Clip) | Simple clip to keep extra Z belts clean and away from panels | :x: | :x: | :heavy_check_mark: | :x: | :x:|
| chirpy | [V0.1 Raised Tophat](./chirpy/TipTophat) | Alternative Tophat design that uses stock panels and raises height by 30mm| :heavy_check_mark: | :x: | :x: | :x: |
| chirpy | [V0.1 Raised Tophat](./chirpy/TipTophat) | Alternative Tophat design that uses stock panels and raises height by 30mm| :heavy_check_mark: | :x: | :x: | :x: | :x: |
| | [V0.1 Nozzle Wiper](./chirpy/NozzleWiper) | Servo powered nozzle wiper and purge bucket | :heavy_check_mark: | :x: | :x: | :x: | :x: |
| | [Runout UnKlicky Sensor](./chirpy/RunoutUnklicky) | Runout UnKlicky Sensor is a filament runout sensor with mounts for 1515 and 2020 extrusions| :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| chrisrgonzales | [270° Front Panel Hinge](./chrisrgonzales/270_degree_hinge) | Hinges that have 270° of swivel, parametric CAD included | :x: | :x: | :heavy_check_mark: | :x: |
| christophmueller | [Phaetus and Zodiac Dragonfly BMO Afterburner toolheads](./christophmueller/Phaetus_Dragonfly_BMO_Afterburner) | Covers both the original Phaetus variant as well as the Zodiac one. | :x: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| chri.kai.in | [20x20mm Profile Covers](./chri.kai.in/20x20mm_Profile_Covers) | Provide overlapping and flush slot covers for 20x20mm slot6 construction profiles| :x: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,104 @@
# Runout UnKlicky Sensor
The Runout UnKlicky Sensor is a filament runout sensor that can be used to pause a print if printing filament breaks, runs out or otherwise is no longer present in the sensor.
The design uses magnets as the switch, making it easy and cheap to source BOM components.
![design](images/designtop.png)
![design](images/designall.png)
## Printing:
Components:
- 1x Pin.stl
- 1x Roller.stl
- 1x Base.stl (different options are available[*])
- 1x Top.stl (different options are available[*])
Printer:
- Use the Voron defaults and print in ABS or better
- The parts are orientated correctly in the STLs
### [*]Base and Top:
There are 3 bases and 4 tops to choose from:
Bases:
- Base.stl is the standard base with push in holes for the PTFE tubes
- Base_PC4-M6.stl which allows the use of PC4-M6 connectors for the PTFE tubes
- Base_Collet.stl which allows the use of [E3D M4 collets](https://e3d-online.com/products/embedded-bowden-collet-for-metal-1-75mm)
Tops:
- Top.stl is the standard top with no mounting options
- Top_2020.stl provides mounting to 2020 extrusions using a t-nut
- Top_1515.stl provides mounting to 1515 extrusions using an inserted nut
- Top_1515_NoNut** provides mounting to 1515 extrusions if you have no inserted nuts available
[**] The Top_1515_NoNut can be used if you don't have any free nuts. It snaps into the extrusion. If it moves or slips, you can use a M2x10mm self-tapping screw to secure the sensor to the extrusion. Do note that the screw can scratch the inside the extrusion if that might bother you.
## BOM:
- 5x M3x8mm SHCS/BHCS (2x for the wired screws, 2x for the top/base, 1x for 2020 extrusion mount)
- 2x 6x3mm neodymium magnets (for the switch)
- 1x M2x10mm (optional for 1515 extrusion mount)
- 1x M3 Hammer T-Nut (for 2020 extrusion mount)
- 2x fork connectors (optional - for attaching wires)
## Assembly:
Parts used:
![parts](images/parts.jpg)
Insert one of the magnets into the pin, push it in fully so that it shows in the groove gap:
![pin](images/pin.jpg)
Insert the corresponding pin into the base and make sure that they attract from the outside as shown:
![magnets](images/magnets.jpg)
Insert the pin into the base with the pin grooves to the sides for the screws to enter. The pin should be pushed down to the bottom by the magnet in the base. Push the pin right up to the base magnet and screw in the screws to either side of the pin:
![assembly](images/assembly.jpg)
Place the top on the base and secure with two screws:
![top](images/top.jpg)
Attach cables to each screw that goes into the pin. There is no polarity and no voltage so it doesn't matter how they are connected. I used fork connectors for ease of use. Make sure the pin screws are screwed in tightly:
![cable](images/cable.jpg)
Hook up the wires to a multimeter and put it on it's continuity test. It should show resistance (and/or beep) when there's no filament in the sensor:
![nofilament](images/nofilament.jpg)
It should show no resistance (and/or remain silent) if you fully insert some filament into the sensor. Feed the filament through a few times from each side to ensure that you do not see any resistance when filament is present, and that you do see resistance when there is none:
![filament](images/filament.jpg)
## Wiring:
Wire to an end-stop or similar pin. Do _not_ connect to voltage, _only_ to pin and GND. For example, with the BTT SKR MINI V2.0 you could use the E-STOP pin (PC15) and GND. For the BTT SKR Pico you could also use the E-STOP pin (gpio16) and GND.
## Klipper:
A simple configuration is available in this repo. Upload and include runoutunklicky.cfg in your printer.cfg and change the PIN definition to the one you chose on your MCU. The config file contains what is required to use a runout sensor, but it will only literally pause the machine and resume when prompted. To have the toolhead parked away from the print to an accessible place to change filament, implement one of the following examples in your klipper configuration:
- [AndrewEllis93](https://github.com/AndrewEllis93/Print-Tuning-Guide/blob/main/articles/useful_macros.md#my-pauseresume-macros-for-runouts-filament-swaps-and-manual-pauses)
- [Mainsail](https://docs.mainsail.xyz/configuration#pause-resume-cancel)
Test by inserting and removing filament. If it shows incorrectly in klipper add a ! in front of the PIN definition and test again.
## Credits:
Thanks to:
- [chestwood96](https://github.com/chestwood96) for inspiration from the UnKlicky probe for [SlideSwipe](https://github.com/chestwood96/SlideSwipe)
- [majarspeed](https://github.com/majarspeed/Unklicky) for the Unklicky probe
- [jlsa1](https://github.com/jlas1/Klicky-Probe/tree/main/Probes) for the Klicky and Unklicky probes
- [al3ph](https://github.com/VoronDesign/VoronUsers/tree/master/printer_mods/al3ph/filament_runout) for the "spinner" concept

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 799 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 184 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

View File

@ -0,0 +1,23 @@
# The following macros are the minimum required to use the filament runout
# sensor. This will simply pause the print until it is manually resumed.
#
# For a more comprehensive configuration, you should implement the examples
# provided by one of the following:
#
# https://github.com/AndrewEllis93/Print-Tuning-Guide/blob/main/articles/useful_macros.md#my-pauseresume-macros-for-runouts-filament-swaps-and-manual-pauses
# https://docs.mainsail.xyz/configuration#pause-resume-cancel
#
# Uncomment and set the correct value for the switch_pin below to start using this configuration
#
[pause_resume]
[gcode_macro M600]
gcode:
PAUSE
[filament_switch_sensor filament_sensor]
#switch_pin: ^PC15
pause_on_runout: TRUE
event_delay: 3.0
pause_delay: 0.5