Frage:
Benutzerdefinierten Code zwischen G-Code-Befehlen ausführen?
user802599
2018-04-13 10:11:07 UTC
view on stackexchange narkive permalink

Ich möchte in der Lage sein, benutzerdefinierte Befehle / Skripte hinzuzufügen, die während eines Druckvorgangs ausgeführt werden sollen.

Zum Beispiel möchte ich eine Software schreiben, um eine Bildprüfung durchzuführen, bei der der Druck nicht verschoben wurde die Perle zwischen den Schichten.

Weiß jemand, ob eine der verfügbaren Software / Firmware benutzerdefinierte Skripte zulässt oder auf den Computer zurückruft, bevor er weiter druckt?

Ich bin froh, wenn jemand einen neuen Drucker bauen / kaufen kann kennt eine Steuerkarte, die diese Art von Funktion hat.

Sie können auslösen, indem Sie den Kopf an einen reservierten Ort bewegen, an dem ein Sensor aktiviert wird. Sie können abbrechen, indem Sie einen Sensor wie die Hot-End-Temperatur abfangen, der den Druck abbricht, indem Sie ein Relais oder einen Mosfet oder was auch immer verwenden
Bitte akzeptieren Sie eine Antwort, um diese Frage aus der Liste der unbeantworteten Fragen zu erhalten. Wenn die folgenden Antworten nicht Ihren Erwartungen entsprechen, formulieren Sie Ihre Frage bitte neu oder fügen Sie Kommentare hinzu, damit die Antworten geändert oder neu hinzugefügt werden können.
Drei antworten:
0scar
2018-04-13 16:01:19 UTC
view on stackexchange narkive permalink

Eine von mir verwendete Lösung umfasst einen 3D-Druckserver. Ich habe Shell-Skripte definiert, die die GPIO-Ports des Raspberry Pi adressieren, auf dem OctoPrint ausgeführt wird. OctoPrint ist ein 3D-Druckserver, auf den über Ihr Heimnetzwerk zugegriffen werden kann.

Auf der OctoPrint-Homepage:

OctoPrint ist die schnelle Weboberfläche für Ihren 3D-Drucker, mit dem Sie alle Aspekte Ihres Druckers und Ihrer Druckaufträge direkt von Ihrem Browser aus steuern und überwachen können.

Diese Druckserveranwendung ermöglicht die Angabe benutzerdefinierter Gcode-Befehle (verknüpft mit Systembefehle zum Beispiel; beachten Sie, dass dies ein Plug-In namens "GCODE Systems Commands" ist (siehe Abbildung unten).

Als Beispiel, z. OCTO100 soll das Shell-Skript fan_on.sh ausführen. Dieses Skript wiederum steuert ein Relais an, um den störenden Extruderkühllüfter zu schalten, der immer eingeschaltet ist, wenn der Drucker mit Strom versorgt wird. Diese Codes können dann in Ihrer gesamten geschnittenen Datei verwendet werden, um die gewünschten Aufgaben zu erledigen (z. B. mithilfe des TweakAtZ-Plugins von Cura). Z.B. Mein Extruderlüfter bleibt einige Minuten eingeschaltet, bevor er nach einem erfolgreichen Druck über OCTO110, auf dem das Skript fan_off.sh ausgeführt wird, ausgeschaltet wird.

enter image description here

Die Skripte aus der Abbildung können so eingerichtet werden, dass sie etwas planen, z fan_on.sh steuert ein Relais über Port 22 des GPIO des Raspberry PI:

  #! / bin / bashgpio export 22 outgpio -g write 22 0  

Um den Lüfter zu deaktivieren, müsste fan_off.sh wie folgt lauten:

  #! / bin / bashgpio export 22 outgpio -g write 22 1  
schönes Beispiel für die OctoPi-Interaktion
@professor79 danke, dies ist nur ein Beispiel, ich plane auch die LED-Leuchten und kann den Drucker auch ein- und ausschalten. Sie können auch benutzerdefinierte Menüelemente hinzufügen, sodass alle Skripte auch über die GUI (Menü) von OctoPrint aktiviert werden können
profesor79
2018-04-13 13:34:46 UTC
view on stackexchange narkive permalink

Eine der Lösungen könnte darin bestehen, ein Layer-Change-Skript hinzuzufügen (simplifi3d hat das sofort einsatzbereit) und dann mithilfe der Marlin-Firmware einen Wert für den digitalen Pin festzulegen, der externe Aktionen auslösen kann.

Layer Change G-Code: Ich persönlich musste dies nicht verwenden, aber ich bin mir sicher, dass es einige hervorragende Gründe / Ideen dafür gibt. Wenn Sie möchten, dass ein G-Code-Skript zwischen die einzelnen Ebenen eingefügt wird, können Sie es einfach auf dieser Registerkarte platzieren. Eine interessante Verwendung davon ist, dass beim FlashForge Dreamer die Lichter zwischen den einzelnen Ebenen blinken, was jedoch manchmal etwas zu viel sein kann!

Die Syntax für den Befehl M42 lautet: M42 S (Wert, der in Pin geschrieben werden soll) P (Pin-Nummer), z. Um den digitalen Pin 30 hoch einzustellen, verwenden Sie M42 S1 P30

Mit der MARLIN-Firmware können Sie den Status / die Schreibwerte für keinen der Pins in ändern Verwendung für Dinge wie Heizungen, Thermistoren, Endanschläge usw. Mit diesem Befehl können Sie andere Werte als 0 und 1 an alle Pins senden, die analoge Werte ausgeben können. (0-255)

Fernando Baltazar
2018-04-14 05:24:53 UTC
view on stackexchange narkive permalink

Ich habe dies vor 3 Jahren gesehen. Dies ist eine Regelung. Ich denke, es ist besser, ein Foto aufzunehmen, als es mit einer Art optischer Erkennungssoftware zu analysieren, die einige mögliche Fehler benötigt.

Das Video enthält auch den Link für die zusätzlichen Ressourcen, die der 3D-Drucker laut seinem Autor benötigt.



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...