← Alle Projekte

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.

Installierte 3D-gedruckte optische Filamentsensor-Baugruppe an einem Ender 3 V2 mit sichtbarer Filamentspule und Führungskomponenten.
FIG. 01Installierter optischer Filament-Auslaufsensor am Ender 3 V2.

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.

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

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.

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.

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.

Unterseite des Sensors mit sichtbaren Verdrahtungen und Widerständen
FIG. 02Sensorverdrahtung und Widerstände

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.

Screenshot des Filamentsensors in Mainsail
FIG. 05Filamentsensor in der Mainsail-Weboberfläche

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.

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.

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.

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.

Screenshot der Discord-Benachrichtigung zum Filament-Auslauf

Technologien

  • Honeywell HOA0865-L51
  • Klipper
  • Discord Webhook API
  • KIAUH
  • Bash
  • Ender 3 V2
  • curl
  • Creality V4.2.2