Forum: Mechanik, Gehäuse, Werkzeug [3D Druck] Objekte einbetten


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Oliver S. (z0ttel)


Lesenswert?

Hallo zusammen,

ich benötige mal Euren Rat bzw. ein paar Denkanstöße: ich möchte einen 
Magneten in meinen 3D Druck einbetten. In dem Objekt ist eine 
entsprechende Aussparung modelliert. Da das Objekt sehr klein ist, muss 
der Extruder "aus dem Weg" gefahren werden.

Über den Slicer (PrusaSlicer 2.7) habe ich - in dem passenden Layer - 
folgenden G-Code eingefügt, damit ich die Gelegenheit habe, den Magneten 
in das Objekt einzulegen:
1
;Custom G-Code START
2
G91;in den relativen Modus wechseln
3
G0 Z50;Extruder um 50mm anheben
4
M0; Druck anhalten
5
G0 Z-50;Extruder um 50mm absenken (= alte Position)
6
G90;in den absoluten Modus wechseln
7
;Custom G-Code ENDE

In besagtem Layer fährt die Z-Achse nun brav 50mm in die Höhe und der 
Druckvorgang wird angehalten, bis ich den Magneten eingelegt habe und 
den Druck über Octoprint fortsetze. Die Z-Achse wird auf die alte 
Position abgesenkt und der Druck fortgesetzt, allerdings wird ab hier 
kein Filament mehr extrudiert. Der Extruder wird zwar angesteuert, 
allerdings kommt kein Filament aus der Düse.

Mir ist aufgefallen, dass bei dem Kommando "M0" irgendwo ein Lüfter 
abgeschaltet wird, ich kann aber nicht sagen, welcher. Die Temperaturen 
werden lt. Octoprint auf den alten Werten gehalten.

Ich habe nun nach Alternativen gesucht, aber die typischerweise 
empfohlenen Kommandos M600/M601 werden von meiner Druckerfirmware 
(MarlinFw 2.0.9.3) nicht unterstützt.

Daher würde mich mal interessieren, ob es weitere Wege gibt, einen Druck 
zu pausieren und danach sauber wieder fortzusetzen?


Mein Setup: Ender 3v2, MarlinFw 2.0.9.3, OctoPrint, PrusaSlicer 2.7

Besten Dank!

: Bearbeitet durch User
von Achim M. (minifloat)


Lesenswert?

Oliver S. schrieb:
> Daher würde mich mal interessieren, ob es weitere Wege gibt, einen Druck
> zu pausieren und danach sauber wieder fortzusetzen?

Du könntest einen Filamentwechsel in deinem Slicer einstellen. Dann 
macht der ebenfalls eine Pause am Rand, nach Bestätigung purge und 
weiter geht's.

Alternativ am Drucker selbst, nach Lagenzähler/z-Achse pausieren. 
Schlaue Drucker fahren da auch an den Rand.

mfg mf

: Bearbeitet durch User
von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

M600 ist der Filamentwechsel.

Das Problem könnte sein, daß evtl. durch M0 und teilweise auch M600 die 
Heizung des Extruders abgeschaltet wird. M600 ist mir z.B. in der neuen 
Marlin-Firmware viel zu weit automatisiert. Der Drucker fährt dabei das 
Filament aus dem Hotend und schaltet die Heizung ab. Wenn man das 
Filament gewechselt hat, wird das Hotend wieder eingeschaltet und das 
Hotend automatisch mit hoher Geschwindigkeit gespült. Wenn das nicht 
reicht, um die alte Farbe restlos aus der Düse bekommen oder wenn man 
nicht schnell genug die Reste des aus der Düse gespülten Material weg 
bekommt, dann gibt's Probleme.

Als Workaround könntest Du probieren, manuell eine sehr langsame 
Bewegung zu fahren, an einer Stelle, an der der Extruder nicht stört. 
Dann hättest Du evtl. 30 Sekunden oder so Zeit, den Magneten einzulegen. 
Nachteil: Du musst darauf warten.

Plan B wäre, das Teil so auszulegen, daß man den Magneten ins fertige 
Teil einclipsen kann oder so.

von Oliver S. (z0ttel)


Lesenswert?

@Achim: Hinter dem Filamentwechsel steht der G-Code M600, welcher von 
meinem Drucker nicht unterstützt wird. Ein manuelles Pausieren wollte 
ich eigentlich vermeiden, aber ich werde das mal testen um zu sehen, ob 
der Druck nach der manuellen Pause sauber weiterläuft.

@Ben: Die Heizung hatte ich auch in Verdacht, aber die Temperaturen sind 
nach dem M0 konstant geblieben. M600 wird, wie gesagt, nicht 
unterstützt.

Ich habe das M0 aus dem G-Code entfernt und fahre die Z-Achse nur noch 
langsam hoch und dann wieder runter - das Ergebnis ist aber das gleiche. 
Ich werde testweise die Umschaltung zwischen den Modis (absolut/relativ) 
entfernen und wenn das nicht funktioniert...

Plan B: Druck von SD-Karte. Hier gibt es weitere Pause-Befehle

Plan C: = Plan B von Ben

von Rüdiger B. (rbruns)


Lesenswert?

M25 - Pause SD print mal probieren.

von Oliver S. (z0ttel)


Lesenswert?

So, das Weglassen der Umschaltung der Positionierung (G91/G90) hat's 
gebracht - nach der Pause geht's es an alter Stelle mit Filament 
weiter. Der angepasste G-Code sieht damit so aus:
1
;Custom G-Code START
2
G0 Z111.60;Extruder um 100mm anheben
3
M25; Druck anhalten
4
G0 Z11.60;Extruder auf die alte Position absenken
5
;Custom G-Code ENDE


Danke Euch allen!

: Bearbeitet durch User
von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Sprich bitte nicht vom Extruder, wenn Du das Hotend meinst. Das sind 
beim 3D-Drucker zwei verschiedene Teile, der Extruder bezeichnet 
lediglich den Antrieb für den Filamentvorschub.

Was sein könnte, daß das Umschalten der Positionierung bei Deiner 
Firmware gleichzeitig die "Positionierung" des Extruders umschaltet oder 
zurücksetzt. Da sind im G-Code auch nur Fahrwege angegeben, die die 
Filamentmenge darstellen (meistens absolut). Da muss man die 
Dokumentation der Kommandos bzw. deren Interpretation durch die 
jeweilige Firmware sehr genau lesen, habe ich selbst auch schon durch 
und das ist zuweilen recht nervig.

von Achim M. (minifloat)


Lesenswert?

Ben B. schrieb:
> nur Fahrwege angegeben, die die Filamentmenge
> darstellen (meistens absolut)

Danke für den Hinweis!

Bisher bin ich für sowas ohne programmierte Pause ausgekommen, man muss 
halt auf Habacht vor dem Drucker lauern, Z-Layer abpassen, Speed auf 
10%, schnell genug sein und wieder auf 100% zurück 🤣
Definitiv nicht zu empfehlen...

mfg mf

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.