Gibt es einen G-Code zum Warten?

20

Mein Drucker verfügt über eine automatische Nivellierungsfunktion, bei der die Bauplatte mit der Düsenspitze berührt wird.

Ich habe angefangen, eine BuildTak-Oberfläche zu verwenden, und BuildTak wird beschädigt, wenn Sie eine heiße Düse hineinschieben.

Also habe ich den Start-G-Code bearbeitet, um das automatische Nivellieren vor dem Aufheizen des Hotends durchzuführen

ABS haftet jedoch nur dann auf der Oberfläche, wenn ich das Hotend vorheize und etwa eine Minute warte.

Jetzt suche ich nach einem G-Code-Befehl, der am Ende des Start-G-Codes steht und den Drucker eine Minute warten lässt, bevor er druckt

Die Reihenfolge, nach der ich suche, ist:

  • Heizen Sie das Bett auf
  • Auto-Ebene
  • Heben Sie das Hotend ein wenig an, damit es die Bauplatte nicht berührt
  • Das Hotend aufheizen
  • Warten Sie eine Minute (das ist der einzige Teil, der fehlt, alles andere funktioniert)
  • Starten Sie den Druckvorgang

Wie kann eine Verzögerung in den G-Code eingefügt werden?

Ich verwende Cura zum Schneiden / Drucken, mein Drucker ist Robo3D R1 +

Nir
quelle
1
G4 P60000 wie hier erklärt: reprap.org/wiki/Gcode#G4:_Dwell
Lars Pötter
Hallo, @Nir! Sie möchten also die Hotend-Temperatur einstellen und warten, bis es warm ist, bevor Sie drucken (am Ende von start.gcode)? Ich bezweifle im Allgemeinen, dass Sie eine Verzögerung wirklich explizit festlegen müssen - es ist im Grunde ein Hack, um das Problem zu überwinden (nicht zu beheben)!
Tormod Haugene
@ LarsPötter Das sollte eine Antwort sein, kein Kommentar!
Tom van der Zanden
@ LarsPötter danke, wenn du deinen Kommentar als Antwort postest, akzeptiere ich ihn
Nir
1
@Nir, Oh, ich verstehe. In diesem Fall haben Sie wahrscheinlich Recht, dass das Hinzufügen einer Verzögerung oder "Verweilen" (mit G4) der richtige Weg ist. :-)
Tormod Haugene

Antworten:

19

Der zu verzögernde G-Code lautet G4.

G4 P60000werde eine Minute warten. Das Pist in Millisekunden. Einige Firmware akzeptieren auch einen SParameter, der die Sekunden hat. Wenn dies unterstützt G4 S60würde , würde dies genauso geschehen.

Die Details zu diesem und allen anderen G-Codes sind hier dokumentiert .

Lars Pötter
quelle
In meinem End-G-Code schalte ich das heiße Ende aus und warte einige Minuten, bevor ich den Lüfter ausschalte. Ich bekam Kommunikations-Timeout-Fehler und der Lüfter wurde nie vom Code abgeschaltet (bei Verwendung von Monoprice Select Mini mit Octoprint). Wenn dies für Sie vor dem Druck auftritt, wird überhaupt nicht gedruckt. Ich habe es gelöst, indem ich es einfach in eine Reihe von kürzeren Verzögerungen aufgeschlüsselt habe.
mbmcavoy
Für cncjs lautet der Befehl beispielsweise eine halbe Sekunde lang G4 P0.5. dh es ist ein Schwimmer, kein Int.
Gavin Simpson
Das P verhält sich also tatsächlich wie der S-Parameter (Sekunden statt Millisekunden). Können Sie diese Informationen auch hier einfügen
Lars Pötter
14

Eine alternative Lösung zur Verwendung einer harten Verzögerung mit dem G4-Verweilbefehl besteht darin, die Zeit zu verlängern, die die mit M109 eingestellte Temperatur gehalten werden muss, bevor sie mit dem nächsten Befehl fortgesetzt wird.

In Marlin heißt diese Einstellung TEMP_RESIDENCY_TIMEund befindet sich um die Linie 150 in Configuration.h. Standardmäßig ist dies auf 5 Sekunden festgelegt. Dies sieht folgendermaßen aus:

// Actual temperature must be close to target for this long before M109 returns success
#define TEMP_RESIDENCY_TIME 5  // (seconds)

Ob eine Erhöhung dieser Einstellung Ihr genaues Problem löst, kann ich nicht sagen, aber es könnte sich lohnen, darüber nachzudenken.

Tormod Haugene
quelle
1

Ich benutze diesen Code für meine Ausdrucke.

    G29 ; Autonivel
    M190 S35 ; set bed temperature
    G1 Z4 F240 ; lift nozzle
    M109 S195 ; wait for temperature to be reached
    G21 ; set units to millimeters
    G90 ; use absolute coordinates
    M82 ; use absolute distances for extrusion
    M104 S210 ; set temperature
    G92 E0
G1 E-1.5000 F1800
G1 Z0.225 F240

Beim M190 S35 befindet sich die Düse noch in der unteren Position (1,2 mm), geht dann auf 4 mm und wartet auf die Extrudertemperatur Bsp. 195 ° C; Wenn der Extruder 10 Sekunden lang 195 ° C erreicht, beginnt der Druckvorgang, wobei die Düse auf 0,22 mm aufgezogen wird, während die Düse die zweite Temperatur von 210 ° C erreicht. Diesmal kann ich die Düse reinigen und die Temperaturen für gute Ausdrucke normalisieren.

Hinweis: Um zu vermeiden, dass die Düse viele Zeit in der unteren Position (1,2 mm) bleibt, heize ich das Bett normalerweise auf 35 ° C vor. Manchmal dauert das Aufheizen des Bettes länger als das Aufheizen der Düse. Dies ist der Hauptgrund, warum ich den Drucker lieber vorheize.

Fernando Baltazar
quelle