Klipper GCodes: Unterschied zwischen den Versionen

Aus RF1000 Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „Kategorie:GCode == Einleitung == Im folgenden findet ihr eine Auflistung der GCodes, wie sie in den Klipper Dateien dokumentiert sind. Das Q: zeigt immer a…“)
 
 
(15 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Kategorie:GCode]]
[[Kategorie:Klipper]]
== Einleitung ==
== Einleitung ==
Im folgenden findet ihr eine Auflistung der GCodes, wie sie in den Klipper Dateien dokumentiert sind. Das Q: zeigt immer an, in welcher Datei der Befehl zu finden ist. Als Vorlage habe ich die Struktur der vorhanden GCodes Übersicht genommen.
Im folgenden findet ihr eine Auflistung der GCodes, wie sie in den Klipper Dateien dokumentiert sind. Das Q: zeigt immer an, in welcher Datei der Befehl zu finden ist. Als Vorlage habe ich die Struktur der vorhanden GCodes Übersicht genommen.
Zeile 27: Zeile 27:
'''Q:gcode_move.py'''
'''Q:gcode_move.py'''
----
----
=== G4 - Dwell ===
'''Parameter'''
:P<milliseconds>
'''Q:'''


=== G20 - Einheiten der Bewegungsbefehle (G0-G3) sind in Zoll ===
=== G20 - Einheiten der Bewegungsbefehle (G0-G3) sind in Zoll ===
Zeile 77: Zeile 84:
'''Q:gcode_move.py'''
'''Q:gcode_move.py'''
----
----
== G-Codes die aktiviert werden müssen ==


== M-Codes ==
== M-Codes ==
=== Generelle M-Codes ===
=== M18 oder M84 Ausschalten Motore ===
Ausschalten Motore
 
'''Parameter'''
:??
 
'''Q:'''
----
 
=== M82 - Interpretiere Extrusion Koordinaten als absolut ===
=== M82 - Interpretiere Extrusion Koordinaten als absolut ===
Interpretiere Extrusion Koordinaten als absolut
Interpretiere Extrusion Koordinaten als absolut
'''Parameter'''
'''Parameter'''
:keine
:keine
Zeile 95: Zeile 114:
'''Q:gcode_move.py'''
'''Q:gcode_move.py'''
----
----
=== M104 - Setzt Extrudertemperatur ===
Setzt die Temperatur des angegebenen Extruders
'''Parameter'''
:[T,S]
T: Index des Extruders
S: Temperatur
'''Q:'''
----
=== M105 - Liest Extrudertemperatur ===
Liest die Temperaturen der Extruder
'''Parameter'''
:keine
'''Q:'''
----
=== M106 - Setzt Lüftergeschwindigkeit ===
Setzt die Geschwindigkeit des Lüfters
'''Parameter'''
:[S]
S: Geschwindigkeit
'''Q:'''
----
=== M109 - Setzt Extrudertemperatur und wartet auf Erreichen ===
Setzt die Temperatur des angegebenen Extruders und wartet auf das Erreichen der Temperatur
'''Parameter'''
:[T,S]
T: Index des Extruders
S: Temperatur
'''Q:'''
----
=== M112 - NOTSTOP ===
Führt einen Emergency Stop = Notstop durch
'''Parameter'''
:keine
'''Q:'''
----


=== M114 - Zeigt aktuelle Koordinate(n) ===
=== M114 - Zeigt aktuelle Koordinate(n) ===
Zeile 103: Zeile 173:


'''Q:gcode_move.py'''
'''Q:gcode_move.py'''
----
=== M115 - Zeigt aktuelle Firmwarversion an ===
Zeigt aktuelle Firmwarversion an
'''Parameter'''
:keine
'''Q:'''
----
=== M140 - Setzt Betttemperatur ===
Setzt die Temperatur des Bettes
'''Parameter'''
:[S]
S: Temperatur
'''Q:'''
----
=== M190 - Setzt Betttemperatur und wartet auf Erreichen ===
Setzt die Temperatur des Bettes und wartet auf das Erreichen der Temperatur
'''Parameter'''
:[S]
S: Temperatur
'''Q:'''
----
=== M204 - Setze Beschleunigung ===
Setzt die Beschleunigung
'''Parameter'''
:S
oder
'''Parameter'''
:P T
Wenn S nicht spezifiziert ist und P und T beide spezifiziert sind, so wird die Beschleunigung auf das Minimum von P und T gesetzt. Ist nur P oder T angegeben, so hat das Kommando keine Auswirkungen.
'''Q:?'''
----
----


Zeile 123: Zeile 238:
----
----


== Text-Codes ==
== Erweiterte G-Codes ==
=== Generelle Text-Codes ===
Klipper verwendet auch erweiterte GCodes für generelle Konfiguration und Status. Sie folgen immer dem gleichen Schema sie starten mit einem Kommandonamen und werden nötigenfalls mit einem oder mehreren Parametern erweitert. Hier in der Übersicht werden diese erweiterten Kommandos in Großschrift dargestellt, können aber beliebig geschrieben werden.


=== SET_GCODE_OFFSET Setzt einen virtuellen Offset zum GCode ===
=== SET_GCODE_OFFSET Setzt einen virtuellen Offset zum GCode ===
Zeile 137: Zeile 252:
'''Q:gcode_move.py'''
'''Q:gcode_move.py'''
----
----
=== SET_GCODE_STATE Speichert den aktuellen GCode Koordinaten Status ===
Setzt einen virtuellen Offset zum GCode
'''Parameter'''
:NAMEN default
Man kann einen Namen vergeben, Standard ist hier '''default'''
'''Q:gcode_move.py'''
----
=== RESTORE_GCODE_STATE Ladet den aktuellen GCode Koordinaten Status ===
Ladet einen virtuellen Offset zum GCode
'''Parameter'''
:NAMEN default
Man kann einen Namen vergeben, Standard ist hier '''default'''
'''Q:gcode_move.py'''
----
=== GET_POSITION Zeigt die Informationen zur Position an ===
Zeigt Informationen zu den verschiedenen Koordinatensystemen an.
'''Parameter'''
:keiner
'''Q:gcode_move.py'''
----
=== Z_SENSE_OFFSET aktuelle Z offset bestimmen ===
Im G-Code sollte man dann vor dem ersten Layer aber nach etwagigen Start-Maden etc. den Befehl Z_SENSE_OFFSET einfügen. Dem Befehl kann man auch noch mal die beiden Parameter mitgeben (Beispiel Z_SENSE_OFFSET FORCE_THRESHOLD=1800 MAX_Z_OFFSET=0.2). Der Algorithmus sollte identisch sein zu dem in der Community-Repetier-Firmware.
In der Konfiguration muss das mit
<pre>[z_sense_offset]
force_threshold: 1800
max_z_offset: 0.2
</pre>
freigeschalten werden
'''Parameter'''
:[FORCE_THRESHOLD,MAX_Z_OFFSET]
Hinweis: RFx000 Mod
'''Q:z_sense_offset.py'''
----
== Erweiterte G-Codes für Einstellungszwecke ==
Erweiterte GCodes in Klipper die für das Ausrichten des Heatbed und für die grundlegende Einrichtung des Druckers verwendet werden
=== SAVE_CONFIG Speichert geänderte Daten in der printer.cfg ===
Speichert die aktuellen Änderungen in der printer.cfg. Zuvor wird eine Backup mit einem Zeitstempel erstellt. Die Daten werdem am Ende der Datei eingetragen und sollten nicht händisch geändert werden.
<pre>#*# <---------------------- SAVE_CONFIG ---------------------->
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
#*#</pre>
'''Parameter'''
:keine
'''Q:'''
----
=== Z_OFFSET_SCAN Z Offset Scan durchführen ===
Es wird an der aktuellen Stelle ein Z Offset Scan durchgeführt. Man muss daher zuerst auf die gewünschte Stelle hinfahren. Speichern der Daten erfolgt mit SAVE_CONFIG (löst Restart von Klipper aus um die Konfiguration neu zu lesen)
'''Parameter'''
:keiner
Hinweis: RFx000 Mod
'''Q:z_offset_scan.py'''
----
=== BED_MESH_CALIBRATE Bed Mesh Kalibrierung ===
Es wird ein eine Bed Mesh Kalibrierung entsprechend den Einstellungen in der Konfiguration durchgeführt. Speichern der Daten erfolgt mit SAVE_CONFIG (löst Restart von Klipper aus um die Konfiguration neu zu lesen). Siehe auch [[Klipper]]
Beispiel in printer.cfg für eine RF2000V2 single:
<pre>
[bed_mesh]
speed: 30
horizontal_move_z: 2
mesh_min: 10,50
mesh_max: 200,230
algorithm:lagrange
probe_count: 5,5
fade_start: 1.0
fade_end: 10.0
</pre>
'''Parameter'''
:[Diverse laut Klipper Dokumentation möglich]
'''Q:bed_mesh.py'''
----
=== BED_MESH_OUTPUT Bed Mesh Ausgabe der Daten ===
Es werden die Daten des aktuellen Mesh ausgegeben. Siehe auch auch [[Klipper]]
'''Parameter'''
:?
'''Q:bed_mesh.py'''
----
=== BED_MESH_CLEAR Lösch Bed Mesh Daten ===
Es werden die Daten des aktuellen Mesh gelöscht ( auf 0 gesetzt). Siehe auch auch [[Klipper]]
'''Parameter'''
:?
'''Q:bed_mesh.py'''
----
=== BED_MESH_PROFILE Bed Mesh Daten speichern, laden oder löschen ===
Es werden die Daten des Mesh geladen, gespeichert oder gelöscht. Siehe auch auch [[Klipper]]
'''Parameter'''
:LOAD=<name> oder SAVE=<name> oder REMOVE=<name>
'''Q:bed_mesh.py'''
----
=== PROBE_ACCURACY Z-Probing durchführen ===
Das führt dann an der aktuellen XY Position 10 mal einen Z-Scan durch und bestimmt Mittelwert und Standardabweichung etc. Siehe auch auch [[Klipper]]
'''Parameter'''
:keiner
'''Q:'''
----
=== PROBE Probing durchführen ===
Das führt dann an der aktuellen Position einen Scan in der angegeben Richtung durch.
'''Parameter'''
:[XYZ]
default ist Z minus
'''Hinweis'''
<pre>Recv:15:22:00.917: // Fit result: m = 0.000731, b = 2.004566, r = 0.992392, sm = 0.000052, sb = 0.001124
Recv:15:22:00.918: // FINISHED result = 2.004566</pre>
Das Ergebnis von Probe ist der Wert der die Position vom Toolhead ausgibt, Nicht vom GCode Koordinatensystem.
'''Q:load_cell_probe.py'''
----
=== READ_LOAD_CELL Liest die Werte der DMS ===
Das führt dann an der aktuellen Position einen Scan in der angegeben Richtung durch.
'''Parameter'''
:keine
'''Q:load_cell_probe.py'''
----
=== COMPENSATE_LOAD_CELL Setzt kompensations Wert ===
Das setzt den aktuellen Wert als kompensation, damit wird der bei READ_LOAD_CELL ausgeben Wert entsprechend kompensiert.
Wird bei PROBE ebenso duchgeführt um Abweichungen auszugleichen.
'''Parameter'''
:keine
'''Q:load_cell_probe.py'''
----
=== PID_CALIBRATE Autotuning der Heizung mit PID ===
PID_CALIBRATE HEATER=heater TARGET=temp
Führt für die unter Target bezeichnete Heizung einen Autotuning Zyklus durch. Durch Aufheizen und Abkühlen werden die Parameter für die PID ermittelt
'''Parameter'''
heater: Die Heizung mit PID Regler für die das Autotuning durchgeführt wird (Bsp: heater_bed)
temp: Die Temperatur für die das Autotuning durchgeführt wird (z.B. 80)
'''Q:'''
----
== G-Codes für den Fräs-Betrieb ==
Achtung: Der Fräs-Betrieb mit Klipper wurde noch nicht gut getestet. Der Workflow ist auch noch umständlich und ggf. gar nicht klar.
Die Befehle zum Kanten Antasten benötigen sowohl das load_cell_probe als auch das workpart_edge_touch Modul. Letzteres muss folgendermaßen in der Config angelegt werden:
<pre>
[workpart_edge_touch]
tool_radius: 1.5
</pre>
Der tool_radius muss entsprechend dem verwendeten Werkzeug angepasst werden.
=== PROBE Kanten und Oberflächen antasten ===
Es wird an der aktuellen Position ein Scan in der angegebenen Richtung durchgeführt. Wenn die Kontakt-Position gefunden wurde, bleibt das Tool an der Kontakt-Position stehen. Es bietet sich an, anschließend:
* falls in Z-Richtung gescannt wird: SET_KINEMATIC_POSITION Z=0 auszuführen, um den Z-Achse zu nullen, bzw.
* falls in X/Y-Richtung gescannt wird: EDGE_TOUCH mit dem selben DIRECTION Parameter auszuführen.
'''Parameter'''
* DIRECTION kann folgende Werte annehmen: X+, X-, Y+, Y-, Z-. Default: Z-
=== EDGE_TOUCH Messpunkt nach Antasten aufnehmen ===
Es wird die aktuelle Position als Messpunkt aufgenommen. Die aufgenommenen Messpunkte werden später mittels COMPUTE_WORKPART verrechnet.
'''Parameter'''
* DIRECTION kann folgende Werte annehmen: X+, X-, Y+, Y-
Hinweis: Aufgenommene Messpunkte können mit SAVE_CONFIG abgespeichert werden, um sie mehrfach zu verwenden. Leider geht bei SAVE_CONFIG das Homing verloren, wodurch anschließend Ungenauigkeiten auftreten können. Deshalb ist das nur bedingt empfehlenswert.
=== COMPUTE_WORKPART Rohteil-Lage in X/Y berechnen und Transformation anwenden ===
Alle vorher mittels EDGE_TOUCH aufgenommenen Messpunkte werden benutzt, um die Lage des angetasteten Rohteils zu bestimmen und daraus eine Koordinaten-Transformation zu berechnen. Es müssen in beiden Achsen jeweils mindestens zwei Messpunkte vorhanden sein (künftig wird es ggf. möglich sein, mit insgesamt nur drei Messpunkten auszukommen, aktuell geht das noch nicht). Für jede Achse müssen alle Messpunkte das selbe Vorzeichen haben. Es ist also nicht möglich, X+ mit X- zu kombinieren, wohl aber X+ mit Y-, usw.
'''Parameter'''
* keine
Hinweis: Die Transformation wird nicht in der Config abgespeichert. Sollen abgespeicherte Messpunkte nach einem Neustart wieder benutzt werden, muss COMPUTE_WORKPART erneut ausgeführt werden.
Achtung: Nach dem Ausführen von COMPUTE_WORKPART verändert sich die logische Position des Toolheads, während die tatsächliche Position erhalten bleibt. Werden anschließend Bewegungen mit fehlenden Koordinaten ausgeführt (z.B. G1 X42), so fährt der Toolhead ggf. an eine unerwartete Position. Auf COMPUTE_WORKPART sollte daher immer ein G0/G1 mit sowohl X als auch Y Koordinate folgen.
=== CLEAR_WORKPART Messpunkte und Transformation löschen ===
Alle mit EDGE_TOUCH aufgenommenene Messpunkte sowie die mit COMPUTE_WORKPART berechnete Transformation werden gelöscht.
'''Parameter'''
* keine
Achtung: Nach dem Ausführen von CLEAR_WORKPART verändert sich die logische Position des Toolheads, während die tatsächliche Position erhalten bleibt. Werden anschließend Bewegungen mit fehlenden Koordinaten ausgeführt (z.B. G1 X42), so fährt der Toolhead ggf. an eine unerwartete Position. Auf CLEAR_WORKPART sollte daher immer ein G0/G1 mit sowohl X als auch Y Koordinate folgen.
=== CLEAR_WORKPART_TRANSFORM Nur Transformation löschen ===
Wie CLEAR_WORKPART, allerdings bleiben die aufgenommenen Messpunkte erhalten. Mit COMPUTE_WORKPART kann die Transformation erneut berechnet werden.
'''Parameter'''
* keine
Achtung: Nach dem Ausführen von CLEAR_WORKPART_TRANSFORM verändert sich die logische Position des Toolheads, während die tatsächliche Position erhalten bleibt. Werden anschließend Bewegungen mit fehlenden Koordinaten ausgeführt (z.B. G1 X42), so fährt der Toolhead ggf. an eine unerwartete Position. Auf CLEAR_WORKPART_TRANSFORM sollte daher immer ein G0/G1 mit sowohl X als auch Y Koordinate folgen.

Aktuelle Version vom 8. Juni 2022, 05:43 Uhr

Einleitung

Im folgenden findet ihr eine Auflistung der GCodes, wie sie in den Klipper Dateien dokumentiert sind. Das Q: zeigt immer an, in welcher Datei der Befehl zu finden ist. Als Vorlage habe ich die Struktur der vorhanden GCodes Übersicht genommen.


Der Strichpunkt ( ";" )
Der Strichpunkt wird im GCode dazu verwendet, Kommentare hinzu zu fügen. Der Strichpunkt gilt immer nur für eine Zeile des GCodes. Alles in der selben Zeile nach einem Strichpunkt wird vom Drucker (von der Firmware) ignoriert.


Alle Angaben ohne Gewähr!!

G-Codes

G0 - Schnelle lineare Bewegung

siehe G1, G0 wird intern auf G1 umgeleitet.

Q:gcode_move.py


G1 - Koordinierte Bewegung entlang einer oder mehrerer Achsen

Parameter

[X] [Y] [Z] [E] [F]
E gibt vor wieviel Filament entlang der angegebenen Strecke gefördert werden soll
F ist dabei die geforderte Verfahrgeschwindigkeit

Q:gcode_move.py


G4 - Dwell

Parameter

P<milliseconds>

Q:

G20 - Einheiten der Bewegungsbefehle (G0-G3) sind in Zoll

nicht unterstützt. Erzeugt einen gcmd Error

Q:gcode_move.py


G21 - Einheiten der Bewegungsbefehle (G0-G3) sind in Millimeter

Parameter

Keine

Q:gcode_move.py


G28 - Fahre alle Achsen (oder die bezeichnete(n)) zum Ursprung

Parameter

[X Y Z] ... optional. Wird keine Achse angegeben, werden alle Achsen zum Ursprung gefahren.

Beispiel

"G28 Y0 Z0" fährt nur in Y und Z auf "0"

Q:gcode_move.py


G90 - Interpretiere Koordinaten als absolut

Parameter

Keine

Q:gcode_move.py


G91 - Interpretiere Koordinaten als relativ

Parameter

Keine

Q:gcode_move.py


G92 - Setze die Koordinate(n) der aktuellen Position auf den vorgegebenen Wert

Setze die Koordinate(n) der aktuellen Position auf den vorgegebenen Wert

Parameter

[X<value> Y<value> Z<value> E<value>]

Bemerkung

Wird z.B. für die "E"-Koordinate häufig so verwendet: "G92 E0"

Q:gcode_move.py


G-Codes die aktiviert werden müssen

M-Codes

M18 oder M84 Ausschalten Motore

Ausschalten Motore

Parameter

??

Q:


M82 - Interpretiere Extrusion Koordinaten als absolut

Interpretiere Extrusion Koordinaten als absolut

Parameter

keine

Q:gcode_move.py


M83 - Interpretiere Extrusion Koordinaten als relatic

Interpretiere Extrusion Koordinaten als relativ Parameter

keine

Q:gcode_move.py


M104 - Setzt Extrudertemperatur

Setzt die Temperatur des angegebenen Extruders

Parameter

[T,S]

T: Index des Extruders S: Temperatur

Q:


M105 - Liest Extrudertemperatur

Liest die Temperaturen der Extruder

Parameter

keine

Q:


M106 - Setzt Lüftergeschwindigkeit

Setzt die Geschwindigkeit des Lüfters

Parameter

[S]

S: Geschwindigkeit

Q:


M109 - Setzt Extrudertemperatur und wartet auf Erreichen

Setzt die Temperatur des angegebenen Extruders und wartet auf das Erreichen der Temperatur

Parameter

[T,S]

T: Index des Extruders S: Temperatur

Q:


M112 - NOTSTOP

Führt einen Emergency Stop = Notstop durch

Parameter

keine

Q:



M114 - Zeigt aktuelle Koordinate(n)

Zeigt aktuelle Koordinate(n)

Parameter

keine

Q:gcode_move.py


M115 - Zeigt aktuelle Firmwarversion an

Zeigt aktuelle Firmwarversion an

Parameter

keine

Q:


M140 - Setzt Betttemperatur

Setzt die Temperatur des Bettes

Parameter

[S]

S: Temperatur

Q:


M190 - Setzt Betttemperatur und wartet auf Erreichen

Setzt die Temperatur des Bettes und wartet auf das Erreichen der Temperatur

Parameter

[S]

S: Temperatur

Q:


M204 - Setze Beschleunigung

Setzt die Beschleunigung

Parameter

S

oder Parameter

P T

Wenn S nicht spezifiziert ist und P und T beide spezifiziert sind, so wird die Beschleunigung auf das Minimum von P und T gesetzt. Ist nur P oder T angegeben, so hat das Kommando keine Auswirkungen.

Q:?


M220 - Setze Geschwindigkeitsfaktor override (Prozent)

Setze Geschwindigkeitsfaktor override in Prozent

Parameter

S ... Standard ist 100, muss größer 0 sein.

Q:gcode_move.py


M221 - Setze Extrusionsfaktor override (Prozent)

Setze Extrusionsfaktor override in Prozent

Parameter

S ... Standard ist 100, muss größer 0 sein.

Q:gcode_move.py


Erweiterte G-Codes

Klipper verwendet auch erweiterte GCodes für generelle Konfiguration und Status. Sie folgen immer dem gleichen Schema sie starten mit einem Kommandonamen und werden nötigenfalls mit einem oder mehreren Parametern erweitert. Hier in der Übersicht werden diese erweiterten Kommandos in Großschrift dargestellt, können aber beliebig geschrieben werden.

SET_GCODE_OFFSET Setzt einen virtuellen Offset zum GCode

Setzt einen virtuellen Offset zum GCode

Parameter

[X,Y,Z,E,MOVE]

Bei X,Y,Z und E wird dieser Offset bei jedem GCode Kommando aufgeschlagen. Bei MOVE bewegt den Kopf sofort um den gewüschten Offset

Q:gcode_move.py


SET_GCODE_STATE Speichert den aktuellen GCode Koordinaten Status

Setzt einen virtuellen Offset zum GCode

Parameter

NAMEN default

Man kann einen Namen vergeben, Standard ist hier default

Q:gcode_move.py


RESTORE_GCODE_STATE Ladet den aktuellen GCode Koordinaten Status

Ladet einen virtuellen Offset zum GCode

Parameter

NAMEN default

Man kann einen Namen vergeben, Standard ist hier default

Q:gcode_move.py


GET_POSITION Zeigt die Informationen zur Position an

Zeigt Informationen zu den verschiedenen Koordinatensystemen an.

Parameter

keiner

Q:gcode_move.py


Z_SENSE_OFFSET aktuelle Z offset bestimmen

Im G-Code sollte man dann vor dem ersten Layer aber nach etwagigen Start-Maden etc. den Befehl Z_SENSE_OFFSET einfügen. Dem Befehl kann man auch noch mal die beiden Parameter mitgeben (Beispiel Z_SENSE_OFFSET FORCE_THRESHOLD=1800 MAX_Z_OFFSET=0.2). Der Algorithmus sollte identisch sein zu dem in der Community-Repetier-Firmware.

In der Konfiguration muss das mit

[z_sense_offset]
force_threshold: 1800
max_z_offset: 0.2

freigeschalten werden

Parameter

[FORCE_THRESHOLD,MAX_Z_OFFSET]

Hinweis: RFx000 Mod Q:z_sense_offset.py


Erweiterte G-Codes für Einstellungszwecke

Erweiterte GCodes in Klipper die für das Ausrichten des Heatbed und für die grundlegende Einrichtung des Druckers verwendet werden

SAVE_CONFIG Speichert geänderte Daten in der printer.cfg

Speichert die aktuellen Änderungen in der printer.cfg. Zuvor wird eine Backup mit einem Zeitstempel erstellt. Die Daten werdem am Ende der Datei eingetragen und sollten nicht händisch geändert werden.

#*# <---------------------- SAVE_CONFIG ---------------------->
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
#*#

Parameter

keine

Q:


Z_OFFSET_SCAN Z Offset Scan durchführen

Es wird an der aktuellen Stelle ein Z Offset Scan durchgeführt. Man muss daher zuerst auf die gewünschte Stelle hinfahren. Speichern der Daten erfolgt mit SAVE_CONFIG (löst Restart von Klipper aus um die Konfiguration neu zu lesen)

Parameter

keiner

Hinweis: RFx000 Mod Q:z_offset_scan.py


BED_MESH_CALIBRATE Bed Mesh Kalibrierung

Es wird ein eine Bed Mesh Kalibrierung entsprechend den Einstellungen in der Konfiguration durchgeführt. Speichern der Daten erfolgt mit SAVE_CONFIG (löst Restart von Klipper aus um die Konfiguration neu zu lesen). Siehe auch Klipper

Beispiel in printer.cfg für eine RF2000V2 single:

[bed_mesh]
speed: 30
horizontal_move_z: 2
mesh_min: 10,50
mesh_max: 200,230
algorithm:lagrange
probe_count: 5,5
fade_start: 1.0
fade_end: 10.0

Parameter

[Diverse laut Klipper Dokumentation möglich]


Q:bed_mesh.py


BED_MESH_OUTPUT Bed Mesh Ausgabe der Daten

Es werden die Daten des aktuellen Mesh ausgegeben. Siehe auch auch Klipper

Parameter

?

Q:bed_mesh.py


BED_MESH_CLEAR Lösch Bed Mesh Daten

Es werden die Daten des aktuellen Mesh gelöscht ( auf 0 gesetzt). Siehe auch auch Klipper

Parameter

?

Q:bed_mesh.py


BED_MESH_PROFILE Bed Mesh Daten speichern, laden oder löschen

Es werden die Daten des Mesh geladen, gespeichert oder gelöscht. Siehe auch auch Klipper

Parameter

LOAD=<name> oder SAVE=<name> oder REMOVE=<name>

Q:bed_mesh.py


PROBE_ACCURACY Z-Probing durchführen

Das führt dann an der aktuellen XY Position 10 mal einen Z-Scan durch und bestimmt Mittelwert und Standardabweichung etc. Siehe auch auch Klipper

Parameter

keiner

Q:


PROBE Probing durchführen

Das führt dann an der aktuellen Position einen Scan in der angegeben Richtung durch.

Parameter

[XYZ]

default ist Z minus

Hinweis

Recv:15:22:00.917: // Fit result: m = 0.000731, b = 2.004566, r = 0.992392, sm = 0.000052, sb = 0.001124
Recv:15:22:00.918: // FINISHED result = 2.004566

Das Ergebnis von Probe ist der Wert der die Position vom Toolhead ausgibt, Nicht vom GCode Koordinatensystem.

Q:load_cell_probe.py


READ_LOAD_CELL Liest die Werte der DMS

Das führt dann an der aktuellen Position einen Scan in der angegeben Richtung durch. Parameter

keine

Q:load_cell_probe.py


COMPENSATE_LOAD_CELL Setzt kompensations Wert

Das setzt den aktuellen Wert als kompensation, damit wird der bei READ_LOAD_CELL ausgeben Wert entsprechend kompensiert. Wird bei PROBE ebenso duchgeführt um Abweichungen auszugleichen.

Parameter

keine

Q:load_cell_probe.py


PID_CALIBRATE Autotuning der Heizung mit PID

PID_CALIBRATE HEATER=heater TARGET=temp

Führt für die unter Target bezeichnete Heizung einen Autotuning Zyklus durch. Durch Aufheizen und Abkühlen werden die Parameter für die PID ermittelt

Parameter

heater: Die Heizung mit PID Regler für die das Autotuning durchgeführt wird (Bsp: heater_bed)

temp: Die Temperatur für die das Autotuning durchgeführt wird (z.B. 80)

Q:


G-Codes für den Fräs-Betrieb

Achtung: Der Fräs-Betrieb mit Klipper wurde noch nicht gut getestet. Der Workflow ist auch noch umständlich und ggf. gar nicht klar.

Die Befehle zum Kanten Antasten benötigen sowohl das load_cell_probe als auch das workpart_edge_touch Modul. Letzteres muss folgendermaßen in der Config angelegt werden:

[workpart_edge_touch]
tool_radius: 1.5

Der tool_radius muss entsprechend dem verwendeten Werkzeug angepasst werden.

PROBE Kanten und Oberflächen antasten

Es wird an der aktuellen Position ein Scan in der angegebenen Richtung durchgeführt. Wenn die Kontakt-Position gefunden wurde, bleibt das Tool an der Kontakt-Position stehen. Es bietet sich an, anschließend:

  • falls in Z-Richtung gescannt wird: SET_KINEMATIC_POSITION Z=0 auszuführen, um den Z-Achse zu nullen, bzw.
  • falls in X/Y-Richtung gescannt wird: EDGE_TOUCH mit dem selben DIRECTION Parameter auszuführen.

Parameter

  • DIRECTION kann folgende Werte annehmen: X+, X-, Y+, Y-, Z-. Default: Z-

EDGE_TOUCH Messpunkt nach Antasten aufnehmen

Es wird die aktuelle Position als Messpunkt aufgenommen. Die aufgenommenen Messpunkte werden später mittels COMPUTE_WORKPART verrechnet.

Parameter

  • DIRECTION kann folgende Werte annehmen: X+, X-, Y+, Y-

Hinweis: Aufgenommene Messpunkte können mit SAVE_CONFIG abgespeichert werden, um sie mehrfach zu verwenden. Leider geht bei SAVE_CONFIG das Homing verloren, wodurch anschließend Ungenauigkeiten auftreten können. Deshalb ist das nur bedingt empfehlenswert.

COMPUTE_WORKPART Rohteil-Lage in X/Y berechnen und Transformation anwenden

Alle vorher mittels EDGE_TOUCH aufgenommenen Messpunkte werden benutzt, um die Lage des angetasteten Rohteils zu bestimmen und daraus eine Koordinaten-Transformation zu berechnen. Es müssen in beiden Achsen jeweils mindestens zwei Messpunkte vorhanden sein (künftig wird es ggf. möglich sein, mit insgesamt nur drei Messpunkten auszukommen, aktuell geht das noch nicht). Für jede Achse müssen alle Messpunkte das selbe Vorzeichen haben. Es ist also nicht möglich, X+ mit X- zu kombinieren, wohl aber X+ mit Y-, usw.

Parameter

  • keine

Hinweis: Die Transformation wird nicht in der Config abgespeichert. Sollen abgespeicherte Messpunkte nach einem Neustart wieder benutzt werden, muss COMPUTE_WORKPART erneut ausgeführt werden.

Achtung: Nach dem Ausführen von COMPUTE_WORKPART verändert sich die logische Position des Toolheads, während die tatsächliche Position erhalten bleibt. Werden anschließend Bewegungen mit fehlenden Koordinaten ausgeführt (z.B. G1 X42), so fährt der Toolhead ggf. an eine unerwartete Position. Auf COMPUTE_WORKPART sollte daher immer ein G0/G1 mit sowohl X als auch Y Koordinate folgen.

CLEAR_WORKPART Messpunkte und Transformation löschen

Alle mit EDGE_TOUCH aufgenommenene Messpunkte sowie die mit COMPUTE_WORKPART berechnete Transformation werden gelöscht.

Parameter

  • keine

Achtung: Nach dem Ausführen von CLEAR_WORKPART verändert sich die logische Position des Toolheads, während die tatsächliche Position erhalten bleibt. Werden anschließend Bewegungen mit fehlenden Koordinaten ausgeführt (z.B. G1 X42), so fährt der Toolhead ggf. an eine unerwartete Position. Auf CLEAR_WORKPART sollte daher immer ein G0/G1 mit sowohl X als auch Y Koordinate folgen.


CLEAR_WORKPART_TRANSFORM Nur Transformation löschen

Wie CLEAR_WORKPART, allerdings bleiben die aufgenommenen Messpunkte erhalten. Mit COMPUTE_WORKPART kann die Transformation erneut berechnet werden.

Parameter

  • keine

Achtung: Nach dem Ausführen von CLEAR_WORKPART_TRANSFORM verändert sich die logische Position des Toolheads, während die tatsächliche Position erhalten bleibt. Werden anschließend Bewegungen mit fehlenden Koordinaten ausgeführt (z.B. G1 X42), so fährt der Toolhead ggf. an eine unerwartete Position. Auf CLEAR_WORKPART_TRANSFORM sollte daher immer ein G0/G1 mit sowohl X als auch Y Koordinate folgen.