Seite 1 von 1

GCode Editor Einlegeteil einlegen

Verfasst: So 1. Mär 2015, 12:37
von 3DBauer
Hallo,
ich habe den Drucker erst seit einer Woche u. verwende Repitier-Host nun habe ich ein Problem mit dem Einfügen einer Pause u. Wiederstarten des gcode-Programms.
Drucken tue ich von SD-Karte
1. Habe M3070 versucht - keine Pause / Drucker hat nicht darauf reagiert
2. M25 - Drucker hat angehalten, Tisch nach unten wurde nicht ausgeführt und konnte auch nicht mehr gestartet werden

Ich möchte bei eine bestimmten Z-Wert eine Pause einlegen dabei soll der Tisch nach unten fahren um z.B. Mutter einlegen
und dan durch Play wieder weiter drucken.

Re: GCode Editor Einlegeteil einlegen

Verfasst: So 1. Mär 2015, 14:08
von R3D3
Hmmm - wenig Erfahrung damit bis jetzt, aber das erinnert mich irgendwie an WolfKarst's Anleitung in diesem Thread über eine Pause für Filamentwechsel, siehe Zitat unten. M.E. könnte man den Code übernehmen, vielleicht ohne die Zeile für's Luft ausblasen, und mit einem Kommando für Tisch runter (manuell oder aber auch über G-code).

Hoffe, dies hilft weiter.


wolfkarst hat geschrieben:Mit folgenden Zeilen könnt Ihr den Druck im G-Code anhalten um das Filament zu wechseln (wirkt wie das Drücken auf die Pause-Taste am Gerät) :

Fahre auf Position X40 Y5 (vor die Bauplatte) und zieht schon mal etwas Filament zurück

Code: Alles auswählen

G1 X40 Y5 E-100 F800
Senke die Temperatur des Extruders auf 180°C für PLA (genug um zu wechseln, aber nicht zu viel, damit es nicht zu stark tropft)

Code: Alles auswählen

M104 S180
Pause-Befehl - Es wird dann Piepen

Code: Alles auswählen

M3070 S0
Hier kann über die Tastatur am Gerät das restliche Filament entfernt werden und das neue wieder eingeschoben werden. So weit reinschieben, bis unten wieder ein Faden rauskommt.

Dummer Fahrbefehl, da die Pause nicht auf andere M-Befehle wirkt

Code: Alles auswählen

G1 X5 Y5
Warte bis die Extrudertemperatur wieder Arbeitstemperatur erreicht hat (215°C bei PLA und bei mir - bitte anpassen)

Code: Alles auswählen

M109 S215
Dumme Fahrt mit Extrusion in der Luft, um die Restliche Luft aus dem Extruder zu entfernen

Code: Alles auswählen

G1 X40 Y5 E20 F800
Positionierung innerhalb des G-Codes:
Am besten beim Layerwechsel vor dem Befehl G92 E0, der den Extruderfortschritt nullt

Beispiel:

Code: Alles auswählen

G1 X121.387 Y97.824 E10.33019
G1 X119.303 Y97.824 E10.34317
G1 X119.858 Y98.096 F9000.000
G1 X120.980 Y98.096 E10.35016 F3300.000
G1 X120.536 Y98.367 E10.35340
G1 X120.450 Y98.367 E10.35394
G1 F2100.000 E8.35394
;===============================================
; Pause für Filamentwechsel
G1 X40 Y5 E-100 F800
M104 S180
M3070 S0
G1 X5 Y5
M109 S215
G1 X40 Y5 E20 F800
; Ende Pause
;===============================================
G92 E0
; Layer 9
G1 Z1.450 F9000.000
G1 X89.484 Y67.980 F9000.000
G1 Z1.350 F9000.000
G1 E2.00000 F2100.000
G1 X155.049 Y67.980 E2.45291 F3300.000
G1 X155.049 Y201.436 E3.37479
G1 X89.484 Y201.436 E3.82770
G1 X89.484 Y68.025 E4.74927
Ich hoffe, Ihr könnt damit etwas anfangen ...
Gruss Karsten

Re: GCode Editor Einlegeteil einlegen

Verfasst: So 1. Mär 2015, 14:36
von 3DBauer
hatte ich schon versucht aber M3070 s0 wurde nicht ausgeführt

Re: GCode Editor Einlegeteil einlegen

Verfasst: So 1. Mär 2015, 16:04
von rf1k_mjh11
3DBauer,

Ich bin mir nicht sicher ob der Befehl M3070 einen Parameter verlangt (' s0 '). Eventuell ignoriert der Drucker einen ihm unbekannten Befehl/Syntax.
Eine mögliche Alternative wäre M3071 (ab v0.91.49). Da sollte der Beschreibung nach der Drucker auf ein "Continue" (="Weiter") warten -- wäre im Endeffekt dasselbe wie eine Pause.

Falls du diese Pausenfunktion immer wieder für Mutter-Einlegen verwenden willst, könntest/müsstest du entsprechende "Ausweichbewegungen" mittels M3105 Befehl angeben. Die Einheit wäre in Millimeter anzugeben. Als Beispiel, Bett 10mm nach unten, Extruder 30mm nach links und Bett 40mm nach vorne: M3105 X-30 Y40 Z10 Ich weiss nicht, wie der Drucker reagiert, falls einer dieser Werte dazu führt, dass der Drucker ausserhalb seiner mechanischen Grenzen fährt - Auf jeden Fall einmal im "Trockenlauf" durchspielen.

Ansonsten ist aber der von Karsten/R3D3 zitierte Ansatz auch möglich.
Im Endeffekt musst du wissen, bei welcher Z-Höhe man pausieren muss. Dann kann man im GCode danach suchen und manuell die entsprechenden Befehle eingeben. Da eignet sich auch eine G4 und M300 Kombination gut. Da piepst der Drucker, wenn es soweit ist, damit man es nicht übersieht. Wieder ein Beispiel:

Code: Alles auswählen

....
....
M300 S1200 P100   ; spiele Ton, 0.1 Sekunde lang
G4 P500    ; halbe Sekunde Pause
M300 S2400 P200   ; spiele höheren Ton, 0.2 Sekunde lang
M117 Mutter einlegen ...  ; Meldung im Display ausgeben
M3070       ; pausiere,  Zeit zum Mutter einlegen
.....
.....

NACHTRAG:

Habe eben selbst einen Trockenlauf versucht. Bei mir blieb der Drucker auch nicht bei M3070 oder M3070 S0 stehen. Bei M3071 aber sehr wohl. (Ich habe aber keine Positionsänderungen mittels M3105 eingegeben).
Ob jetzt aber der M3071 Befehl auch Positionsänderungen unterstützt, weiss ich nicht.

mjh11

Re: GCode Editor Einlegeteil einlegen

Verfasst: So 1. Mär 2015, 16:57
von rf1k_mjh11
OK jetzt habe ich ein bisschen rumgefummelt.

Wahrscheinlich brauchen wir für den (nichtfunktionierenden?) M3070 Befehl die hilfe vom RF1000.
Jetzt ist mir im Trockenlauf das Pausieren gelungen.

Folgende Angaben OHNE GEWÄHR:

Ich hatte einen Versatz mittels M3105 vor der Pause definiert.
[code:5r9280vt]M3105 X-190 Y190 Z12[/code:5r9280vt]
Ich benutzte M3070 mit dem parameter S0 um eine Pause herbeizuführen
[code:5r9280vt]M3070 S0[/code:5r9280vt]

Der Drucker pausierte, aber es fand [color=#ff0000:5r9280vt]kein[/color:5r9280vt] Versatz statt. [color=#ff0000:5r9280vt]ABER!![/color:5r9280vt], ein nochmaliges drücken der Pause-Taste am Drucker führte zum Verfahren um den definierten Versatz, wobei es scheinbar kein Problem ist falls der Versatz den Drucker ausserhalb des theor. Bauraums führt. Wenn man meine Versatzwerte ansieht (X-190, Y190) würde jeder Versatz von irgendwo aus der mitte des Heizbettes zu weit führen, tut es aber nicht.

Danach nur mehr wieder die "Play"-Taste gedrückt und der Druck geht wie erwartet, an der korrekten Stelle weiter.

mjh11

Re: GCode Editor Einlegeteil einlegen

Verfasst: So 1. Mär 2015, 22:44
von 3DBauer
Vielen Dank für deine Hilfe werde es morgen gleich testen !!!!

Re: GCode Editor Einlegeteil einlegen

Verfasst: Mo 2. Mär 2015, 10:44
von rf1k_mjh11
3DBauer,

Zwecks der Übung hänge ich mein Trockenlauf-GCode bei. 'Runtersaugen', in '*.gcode' umbenennen, in Repetier laden & probieren.

In Repetier, unter der "Preview"-Lasche, in der "G-Code Editor"-Lasche siehst du den Kode.

In Zeile 29 fahre ich sicherheitshalber das Bett um 2mm nach unten (ich weiß nicht wie dein Z-Endstop eingestellt ist).
Alle Temperaturen sind deaktiviert ---> folglich wird kein Material extrudiert (ist ein Sicherheitsfeature der Firmware - unter 160°(?), wird nicht extrudiert).
Die Pausengaudi beginnt in Zeile 147.

Bastell ruhig damit herum. Da kannst deine geplanten "Mutter-Einlage-Befehle" recht gefahrlos ausprobieren.

Da kannst die Suche nach dem erforderlichen Z-Wert auch üben, und dort eine Pause einfügen.

GCode: (hoffentlich klappts jetzt)

Wie üblich, alle Angaben ohne langläufige Feuerwaffen, also "Ohne Gewähr".

mjh11

Re: GCode Editor Einlegeteil einlegen

Verfasst: Di 3. Mär 2015, 21:30
von 3DBauer
Habe es getestet, funktioniert gut
Vielen Dank noch mal !!!

Re: GCode Editor Einlegeteil einlegen

Verfasst: Mi 18. Mär 2015, 16:43
von rf1k_mjh11
3DBauer,

Habe gerade in einer Antwort (in einem anderen Thread) von RF1000 erfahren, dass die Syntax zum M3070-Befehl einen Parameter zwingend erwartet.

"M3070 S1" (oder auch "S0") - pausiere den Druck und bleibe an der Stelle stehen
"M3070 S2" (oder mehr als "2") - fahre zur 'Standard-Pause-Position', oder zur vordefinierten Position (mittels M3105-Befehl definiert) und bleibe stehen (pausiere).

Ein paar Trockenläufe haben das bei mir bestätigt. Siehe Thread hier und hier

Das nur der Vollständigkeit halber ...

mjh11