feschentowner,
Ich glaube man bekäme das hin, mit entsprechender Vorbereitung. Will sagen, ein einfaches 'Pausieren', an beliebiger Stelle, ginge wahrscheinlich nicht, aber ein Pausieren an einer vorbestimmten Position sehr wohl, mit einigem Aufwand (vor allem GCode-Bearbeitung). Wohl gemerkt: meine Idee ist nur zum Teil, im Prinzip, bestätigt, und die Verwendung wäre auf eigene Verantwortung und meinerseits OHNE GEWÄHR.
Eine meiner Bedenken ist jedoch, dass beim Ausschalten die Keramikplatte auskühlt und daher sich das Objekt lösen könnte. Da gäbe es auch Lösungen: 2-3 Tropfen Superkleber oder 1-2 Raupen Heißkleben (rechtzeitig aufgebracht!), zum Beispiel.
Damit die Antwort, für die, die es wissen wollen, interessant bleibt, wurde es sehr lang. Daher der Spoiler, um Platz zu sparen.[spoiler]Zuerst einige Bemerkungen zu früheren Antworten:
Digibike hat geschrieben:Der Schaltet, vermute mal, um die Treiber nicht unnötig zu strapazieren, die müßen ja Permanent die Motoren auf Position blockieren und werden damit sehr heiß...,nach einiger Zeit die Motoren ab. Damit haben die Motoren Ihre Positionen verloren. Wie sollte er diese dann im Raum wiederfinden, um exakt an der Stelle, an der du gestoppt hast, wieder weiter zu drucken?
Christian/Digibike hat recht, die Motoren werden abgeschalten und 'verlieren' ihre Position. Das Finden dieser Position wird bei einer 'zufälligen Pause' schwierig, wenn nicht ganz unmöglich. Nicht jedoch, wenn man die Pausenposition vorher bestimmt hat. Bei einer vorher bestimmten Position weiß man (=der User), wo man pausiert hat. Der Drucker weiß es aber nicht. Zwei der Koordinaten bekommt man sehr leicht (und exakt) hin: Die Befehlsfolge
G28 X Y , gefolgt von
G1 X{x] Y{y} führt den Extruder exakt an die gewünschte Position, wobei {x} und {y} die Koordinaten sind, wo der Druck ursprünglich pausiert wurde. Das klappt so recht einfach, da in X und Y immer in so einem Fall 'freie Bahn' für den Extruder/das Hot End herrscht.
Die Z-Achse ist etwas schwieriger, da hier ein Verfahren in Richtung Z=0 wahrscheinlich ein Kollidieren mit dem Druckobjekt mit sich bringt.
Glücklicherweise bewegt sich, oder verändert sich die Z-Achse nicht so leicht von selbst wie die anderen zwei Achsen. Und dadurch kann man sich helfen, indem man die Z Achse auf die Soll-Höhe, jene wo pausiert wurde, zwingt. Und zwar mit
G92 Z{z}, wobei hier {z} für die gewollte Höhe steht. Das habe ich simuliert. Ich bin auf 80,80,80 gefahren, habe den Drucker ausgeschalten und 10 Sekunden später wieder eingeschalten, X, Y gehomed, zur X/Y Soll-Position fahren lassen und Z auf 80 'hingezwängt'. Die Anzeige am Drucker zeigte: "Z: 0.00", was vielleicht beunruhigend sein könnte.
Ein anschliessendes
G1 Z10 ließ den Tisch bis auf 10mm hochfahren (siehe nächsten Spoiler für die maximale Ungenauigkeit), wobei die Anzeige "Z: -70.00" zeigte, aber sonst keine Probleme bereitete.[spoiler]Die Schrittmotore arbeiten mit sog. Mikroschritten, wo ein 'mechanischer' Ganzschritt elektronisch in mehrere Unterschritte geteilt wird. Die im RF1000 verwendeten Motore haben 200 Ganzschritte pro Umdrehung. Über die Zahnriemenübersetzung und die Spindelsteigung kommen wir auf 80 Ganzschritte pro millimeter Hub, so wie es auch in der Firmware angegeben ist (
#define ZAXIS_STEPS_PER_MM long(80 * (float)RF1000_MICRO_STEPS))
Damit ist klar, dass ein Ganzschritt des Z-Achsenmotors 0.0125mm Höhenänderung entspricht. Bei den Mikroschritten kann sich der Motor irgendwo innerhalb eines Ganzschritts befinden, aber der maximale Fehler dabei ist nur ein halber Ganzschritt, entweder bewegt sich der Motor zum nächsten Ganzschritt in die eine, oder andere Richtung.
Ich vermute stark, dass sich der Motor, wenn er wieder Strom erhält, zum nächstgelegenen Ganzschritt bewegen wird. Damit ist der maximale Fehler
0.00675mm. Ob der Tisch maximal um diesen Betrag nach Oben oder Unten bewegt wird, ist dabei unbekannt. Damit könnte ich allerdings leben.[/spoiler]
Damit wären die Schritte, einen elendslangen Druck (sogar länger noch als dieser Beitrag) länger zu pausieren, die folgenden (OHNE GEWÄHR):
- Vor dem Drucken:
- Kopie des GCodes anfertigen
- Eine Kopie editieren und bestimmen, wo pausiert werden soll, vorzugsweise möglichst früh im Infill eines Layers.
- Koordinaten und E-Wert!! notieren
- Den Rest des GCodes löschen
- GCode Befehle hinzufügen, die einen Retract herbeiführen (dabei den aktuellen E-Wert beachten), das Hot End weg vom Objekt bewegen (z.B. nach X=0, Y=0) und die Heizung für das Hot End und den Tisch ausschalten
- Den erhaltenen GCode unter neuem Namen speichern (z.B. "Teil1.gcode")
- Eine Kopie des ursprünglichen GCodes in einen Editor laden.
- Die Stelle suchen, wo pausiert wird, und alles bis dorthin löschen.
- GCode Befehle am Anfang einfügen, welche
- die Extrudertemperatur vorgeben und warten, plus einer zusätzlichen Wartezeit von min. 5 Sekunden (z.B. M109 S{temp}, gefolgt von G4 S5)
- Den notierten E-Wert wiederherstellen (abzüglich eines minimalen Betrags, der das aufgetretene 'Sabbern' beim Aufheizen kompensieren soll, ABER Retract auch berücksichtigen!) mit G92 E{e}, wobei wieder {e} für den gewünschten Betrag steht.
- X und Y Homen (G28 X Y)
- Die Z-Koordinate 'erzwingen' mit G92 Z{z} wobei wieder {z} für die anfangs notierte Z-Koordinate steht.
- Zur anfangs notierten X/Y-Position fahren mit G1 X{x} Y{y}
- Den so erhaltenen GCode auch unter einem neuen Namen speichern (z.B. "Teil2.gcode").
- Die erste bearbeitete und gespeicherte GCode-Datei, "Teil1.gcode", drucken (über SD-Karte oder Repertier-Host)
- Wenn bis zur gewollten Pausenstelle gedruckt wurde, Drucker ausschalten und mit einem geeigneten Mittel das Druckobjekt auf der Keramikplatte gegen späteres verrutschen sichern.
- Um den Druck fertigzustellen, einfach die zweite Datei, "Teil2.gcode", drucken. Optional: Dabei könnte man beim Aufheizen des Hot Ends mittels Pinzette, o.Ä., den sabbernden Kunststoff von der Düse rechtzeitig entfernen, damit es den bestehenden Druck möglichst wenig verunreinigt.
Fertig ist der "Zweiteilige Druck". Der einzige Mangel ist, dass während des Druckens der zweiten Datei der angezeigte Z-Wert nicht mit dem tatsächlichen übereinstimmen wird. (Aber wer sieht bei einem problemlosen Druck schon auf den Z-Wert?)
Besonders aufmerksame werden vielleicht das Fehlen eines Befehls zur (Wieder-)Aufheizung der Keramikplatte vermissen. Nicht nötig. Beim Abkühlen der Platte hat sich vermutlich das Objekt geköst. Da hilft kein späteres Aufheizen mehr. Daher der Tipp mit Superkleber oder Heißkleber.
Ich hoffe, ich habe keine Schritte übersehen, aber meiner Meinung nach müsste es so klappen. Wer traut sich?
[/spoiler]
Zum Schluß noch eine Bemerkung zur Aussage Christians/Digibikes:
Digibike hat geschrieben:
Aber an meinem sind auch schon 16 h Drucke durch gelaufen und da war ich schlafen und arbeiten und ist Reibungslos durch gelaufen... Aber klar, ein mulmiges Gefühl, wenn man nicht weiß, was er gerade treibt... Da wäre wohl eine Webcam und Online-Steuerung nicht verkehrt..... Da gibts ja Rasberry-Lösungen und spezialisten hier im Forum oder auch fertige Lösungen A´la 3D Printbox & Co.... Da hättest das über Smartphone jederzeit im Blickfeld mit entsprechender Reaktionsfähigkeit.....
Beim Schlafen wird auch eine WebCam, oder ähnliche Lösung, nichts bringen.
Und falls man nicht gerade selbstständig ist, wirds der Chef auch nicht gerne sehen, wenn man dauernd auf das Smartphone oder eine Webseite blickt
Zugegeben, bei einem mislungenem Druck kann man damit viel an Material sparen, auch wenn man nur alle 20-30 Minuten nachsieht. Geht es aber um die Sicherheit (z.B. Brand), sind 10 Minuten oft schon genug, dass alles lichterloh in Flammen steht.
Dreimal auf Holz geklopft.
mjh11