Projektdokumentation / Projekt
Optischer Filament-Auslaufsensor mit Discord-Webhook
Ein individueller berührungsloser optischer Filament-Auslaufsensor für einen Ender 3 V2, der Drucke pausiert und Discord-Benachrichtigungen sendet.

Überblick
Kurzfassung
Eine optische Infrarot-Gabellichtschranke wurde als verschleißfreier Filament-Auslaufsensor für einen Ender 3 V2 eingesetzt. Klipper pausiert den Druck bei erkanntem Filament-Auslauf und führt ein Bash-Skript aus, das eine Discord-Webhook-Benachrichtigung sendet. Die Lösung soll Fehler durch unbeaufsichtigtes leeres Filament vermeiden.
Kernpunkte
Merkmale
- Berührungslose Infrarot-Filamenterkennung
- PTFE-Bowden-Schlauch als Filamentführung
- Über Klipper konfigurierte Druckpause
- Discord-Webhook-Benachrichtigungen
- Montage an der Extruder-Halterung
- Nutzung des EXP1-Mainboard-Ports
Eintrag 01
Aufgabe
Der Creality Ender 3 V2 verfügt serienmäßig nicht über einen Filamentsensor. Wenn eine Spule während eines langen Drucks leer wird, kann sich der Drucker weiterbewegen, ohne Material zu extrudieren. Dadurch gehen Zeit und das teilweise gedruckte Bauteil verloren. Mechanische Sensoren können Kontakt, Reibung und bewegliche Teile in den Filamentweg einbringen. Außerdem besitzt der Drucker für dieses Ereignis keine integrierte Fernbenachrichtigung.
Eintrag 02
Lösung
Eine Honeywell-HOA0865-L51-Infrarot-Gabellichtschranke wurde als berührungsloser Filament-Auslaufsensor eingesetzt. Klipper überwacht den Sensoreingang und pausiert den Druck, wenn Filament-Auslauf erkannt wird. Ein Bash-Skript sendet mit `curl` eine JSON-Payload an einen Discord-Webhook.
Eintrag 03
Architecture
Hardware
Der Sensor wird am ungenutzten EXP1-Display-Port des Creality-V4.2.2-Mainboards angeschlossen. Pin 9 stellt Masse bereit, Pin 10 versorgt die Infrarot-LED über einen 330-Ω-Serienwiderstand mit 5 V, und das Phototransistorsignal ist mit Pin 1 (`PC6`) verbunden.
Ein externer 10-kΩ-Pull-up-Widerstand legt den Logikpegel fest. Wenn das Filament den optischen Pfad blockiert, wird der Eingang auf HIGH gehalten; ohne Filament zieht der beleuchtete Phototransistor das Signal auf LOW.

Software
Klipper überwacht den Eingang über eine Konfiguration vom Typ `[filament_switch_sensor]`. Eine konfigurierte Verzögerung von drei Sekunden und eine Prüfung, ob der Drucker aktiv druckt, verringern Warnungen beim manuellen Umgang mit Filament. Die über KIAUH installierte Erweiterung `gcode_shell_command` führt das Benachrichtigungsskript aus.

Mechanik
Ein individuelles 3D-gedrucktes Gehäuse wird direkt an der Extruder-Halterung des Druckers montiert. Die Gabellichtschranke wird mithilfe von einem Einschmelzgewinde angeschraubt. Kurze PTFE-Bowden-Schlauchstücke am Ein- und Ausgang führen das Filament durch den optischen Spalt.
Eintrag 04
Implementation
Die Klipper-Konfiguration verbindet den Eingang `PC6` mit dem Filamentsensor und dem Verhalten zur Druckpause. Wird während eines Drucks Filament-Auslauf erkannt, ruft die Shell-Command-Erweiterung ein Bash-Skript auf, das mit `curl` eine Discord-Webhook-Nachricht sendet.
Eintrag 05
Größte Herausforderung
Die Höhe des optischen Spalts erforderte drei CAD-Revisionen, damit das Filament den Lichtstrahl zuverlässig blockiert. Tests zeigten außerdem, dass der interne Pull-up des Mainboards für diese Schaltung nicht zuverlässig genug war. Deshalb wurde ein eingelöteter 10-kΩ-Pull-up-Widerstand ergänzt, um einen definierten Logikpegel bereitzustellen.
Eintrag 06
Ergebnis
Der Sensor wurde am Ender 3 V2 installiert und bei einem abgeschlossenen Druck erfolgreich verwendet. Ein Test bestätigte, dass Filament-Auslauf die konfigurierte automatische Druckpause und die Discord-Webhook-Benachrichtigung ohne Probleme auslöste. Eine Langzeitzuverlässigkeit oder Fehlerquote ist nicht dokumentiert.

Werkzeuge und Plattformen
Technologien
- Honeywell HOA0865-L51
- Klipper
- Discord Webhook API
- KIAUH
- Bash
- Ender 3 V2
- curl
- Creality V4.2.2

