sparklab Feed-Sensor

Was wäre, wenn man sein Filament bis zum letzten Meter aufbrauchen könnte, ohne den Drucker permanent beaufsichtigen zu müssen? Wenn der Drucker erkennt, dass die Düse beginnt sich zu verstopfen? Wenn er erkennen könnte, wann die Leistungsgrenze des Extruders erreicht ist, um auftretende Fehler automatisch zu korrigieren?
Seit einiger Zeit beschäftigen wir uns nun, in Zusammenarbeit mit Roland Littwin (http://www.repetier.com/), mit diesen Fragen. Gemeinsam entwickeln wir ein zukunftsweisendes Filament-tracking-System, welches uns völlig neue Möglichkeiten offen hält.

Unsere Antwort: der sparklab Feed-Sensor
sparklabfilasensor

In der Praxis:

Mithilfe des sparklab Feed-Sensor lässt sich nicht nur der Drucker pausieren, wenn das Filament leer ist oder die Düse verstopft. Vielmehr kann nun der sparkcube beispielsweise beim Erkennen von leichtem Schlupf, welchen man mit bloßen Auge noch nicht erkennen kann, automatisch die Geschwindigkeit drosseln und so aktiv einem Filament-Stau vorbeugen. Dies ermöglicht uns einen wesentlich detaillierteren Einblick in den Extrusionsvorgang. Fertig eingestellt, liefert die Firmware Werte zur aktuellen Auslastung, etc. Der sparklab Feed-Sensor ist eine neue und effektive Art, die Grenzwerte des Extruders zu ermitteln, und der nächste Schritt in Richtung eines intelligenteren Druckers.

Funktionsweise des sparklab Feed-Sensors

Die beiden Kugelgelagerten Gummirollen laufen reibungslos und mit genug Grip am Filament um der Firmware zuverlässige Werte zum Filament Feed zu senden.
Die Sensorelektronik lässt sich direkt an einem freien Endschalter Port anschließen. Kompatibel zu allen gängigen Elektroniken (3,3v und 5V kompatibel)

Funktionsweise der Firmware

Ab 0.92.3 unterstützt die Repetier Firmware nun „jam“ und „out of filament“ Sensoren. Diese arbeiten wie folgt:
Das Filament läuft durch den Sensor hindurch, und streift ein Mitnehmer-Rädchen. Das Drehen dieses Rädchens sendet ein bool’sches Signal (0 oder 1) an einem Schalter. Der Schalter könnte sowohl mechanischer, als auch kontaktloser Natur sein, wobei kontaktlose Schalter, wie beispielsweise ein „Hall Sensor“ zu bevorzugen sind.

Nun zählt die Firmware die Schritte des Extruders, wobei jeder 0/1-Zyklus nun annähernd die gleiche Anzahl von Extruder-Schritten (JAM_STEPS) brauchen sollte, und damit einen Wert liefert, der Rückschluss auf das „Schlupf-Verhalten“ gibt.
Kommt das Signal in zu kurzer Zeit mehrmals, löst das keinen jam aus. Hierzu ist der Wert „JAM_MIN_STEPS“ festzulegen.
Beginnt der Extruder einen Schlupf auszubilden, braucht es mehr Extruder-Schritte für den Umlauf des Filament-Rädchens, und die Firmware bekommt das Signal, dass ein Problem vorliegt.
Hierbei unterscheidet die Firmware 2 Zustände:

Bei einem leichten Anstieg der Extruder-Schritte (> JAM_SLOWDOWN_STEPS) wird die Extrusion des Materials zäher, oder die Haftung am Filament-Rädchen sinkt. In diesem Fall wird der „speed multiplier“ auf einen gewünschten Wert (JAM_SLOWDOWN_TO) gesetzt.

Werden jedoch mehr Schritte benötigt, als in „JAM_ERROR_STEPS“ definiert, wird angenommen, dass ein Problem vorliegt, welches nicht mehr durch das Reduzieren der Geschwindigkeit behoben werden kann. In diesem Fall wird die Aktion „JAM_ACTION“ ausgeführt.

Action 0 gibt eine Warnung auf dem LCD des Druckers aus, sowie ein Akustisches Signal.
Action 1 blockiert die Kommunikation mit dem Host, um weiteres Drucken zu verhindern. Außerdem bewegt sich der Extruder zum Filament-Wechselpunkt, schaltet alle Heater und Motoren aus, und wartet auf eine Reaktion des Nutzers. Nach Abschluss der Routine kann der Drucker ein homing durchführen, und den Druck fortsetzen.
Action 2 startet die Pause-Routine.

Um die neuen Funktionen zu handhaben, wurden folgende Befehle in Repetier implementiert:

M513 – setzt das jam signal zurück
M601 S1 – pausiert und schaltet Extruder-Temperatur aus
M601 S0 – stellt Extruder-Temperatur vor Pause wieder ein
M602 S<1/0> P<1/0> – für jam debugging (S), oder um das jam control zu deaktivieren (P)
Bei aktiviertem debugging wird die Firmware keine Aktionen ausführen. Sie wird lediglich die Signal-Schritte und Prozentwerte in den Host-Log schreiben. Auf diesem Wege kann man den gewünschten 100%-Wert festlegen. Weiterhin kann so festgestellt werden, wann die Kräfte im Extruder zu hoch werden, sodass ein Schlupf entsteht.

Einrichtung [ToDo]

1. Firmware konfigurieren
2. Hostausgabe analysieren
3. Werte in Firmware eintragen
4. fertig

Wenn alle Tests abgeschlossen sind, stellen wir die Dateien zum Nachbauen im Downloadbereich zur Verfügung.
Sei live dabei: facebook.com/thesparklab // twitter.com/sparklabDE

10 Kommentare
  1. BlogLaus
    BlogLaus says:

    Super Sache!
    Ich hab mir die BOM zu dem Projekt angeschaut und scheitere an den von Euch verwendeten Gummipuffer. Die Puffer in M4 sind mit einem Durchmesser von 10mm. Woher habt ihr Eure Gummipuffer?

    Gruß,
    BlogLaus

  2. Cannux
    Cannux says:

    Hey,
    die Idee mit dem Feed-Sensor ist echt gut. Könnt ihr aber noch sagen mit welcher Auflösung bzw. Genauigkeit das abrollende Filament gemessen wird?
    Viele Grüße

    • vincent
      vincent says:

      Im Grunde hängt die theoretische Auflösung von den Steps/mm im Extruder ab. Da wir jeden Step registrieren haben wir bei 128 Steps und dem sparklab Extruder eine Auflösung von ca. 0,0006 mm, allerdings wird der Wert immer nur dann ausgegeben, wenn der FTS das Signal sendet, was immer nach ca. 5mm Filamentbewegung der Fall ist.

      vincent.

    • vincent
      vincent says:

      Hallo Marcel,
      der FTS kommt korrekt vormontiert. Wir haben dazu einen Referenzmagneten, der uns anzeigt wie die anderen ausgerichtet sind. Ohne Hilfsmittel baust du alles ein, schließt die Elektronik an und beobachtest ob die LED beim drehen blinkt. Falls nicht, musst du den Magneten um 90° drehen.

Dein Kommentar

Want to join the discussion?
Feel free to contribute!

Schreibe einen Kommentar