GCodes: Unterschied zwischen den Versionen
(→M92 - Stelle Schritte pro mm für die angegebene(n) Achse ein: - Hinweis hinzu - mjh11) |
(→M251 - Messe Anzahl der Z-Schritte vom Homing-Stop: - Hinweis hinzu - mjh11) |
||
Zeile 606: | Zeile 606: | ||
'''Bemerkung''' | '''Bemerkung''' | ||
:'''NUR FÜR DELTA-DRUCKER''' | :'''NUR FÜR DELTA-DRUCKER''' | ||
'''Hinweis:''' | |||
:<span style="color: red;">Wird ab Version 0.91.53 nicht mehr unterstützt</span> | |||
---- | ---- | ||
==== M280 - Setze "Ditto"-Druckmodus ==== | ==== M280 - Setze "Ditto"-Druckmodus ==== | ||
Version vom 14. März 2016, 20:10 Uhr
Einleitung
Im folgenden findet ihr eine Auflistung der GCodes, wie sie in den RF1000 Firmware Dateien dokumentiert sind.
Deutsche Übersetzung durch mjh11
Alle Angaben ohne Gewähr!!
G-Codes
G0 - Schnelle lineare Bewegung
Parameter
- [X] [Y] [Z] [E]
Siehe auch G1
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
G2 - Kreisbogen im Uhrzeigersinn
Parameter
- [X] [Y] [I] [J] [E] [F]
- X: Endposition, die auf der X-Achse angefahren werden soll
- Y: Endposition, die auf der Y-Achse angefahren werden soll
- Innn: X-Koordinate des Kreismittelpunkts
- Jnnn: Y-Koordinate des Kreismittelpunkts
- E: the amount to extrude btw start pt & end pt // Extrusionslänge entlang des Kreisbogens, in mm
- F: the feedrate per minute of move btw start pt and end pt (if supplied) // Verfahrgeschwindigkeit, wobei E und F optional sind - {allerdings, ein Kreisbogen zu fahren, OHNE Extrusion, ist sinnlos})
G3 - Kreisbogen gegen den Uhrzeigersinn
Parameter
- [X Y I J E F]
- siehe G2
G4 - Verzögerung / Pause
Parameter
- S<Sekunden> oder P<Millisekunden>
G20 - Einheiten der Bewegungsbefehle (G0-G3) sind in Zoll
Parameter
- Keine
G21 - Einheiten der Bewegungsbefehle (G0-G3) sind in Millimeter
Parameter
- Keine
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"
G29 - Messe Z-Höhe an den 3 vordefinierten Punkten
Parameter
- S<0..2>
- S = 1 messe durchschn. zHöhe
- S = 2 speichere durchschn. zHöhe
- Hinweis:
- Der Befehl dient normalerweise zur Ausrichtung des Druckbetts. Da ein RFx000-Drucker eine andere Methode verwendet, funktioniert dieser Befehl beim RFx000 nicht. Der Befehl gehört aber zum Standard-Befehlssatz der Repetier- Firmware.
G30 - Messe Z-Höhe an der aktuellen Position
Parameter
- P<0..3>
- P = 1 erste Messung
- P = 2 letzte Messung
- P = 0 oder 3 erste und letzte Messung
- Hinweis:
- Der Befehl dient normalerweise zur Ausrichtung des Druckbetts. Da ein RFx000-Drucker eine andere Methode verwendet, funktioniert dieser Befehl beim RFx000 nicht. Der Befehl gehört aber zum Standard-Befehlssatz der Repetier- Firmware.
G31 - Speichere Wert des Z-Höhentasters
Parameter
- Keine
- Hinweis:
- Der Befehl dient normalerweise zur Ausrichtung des Druckbetts. Da ein RFx000-Drucker eine andere Methode verwendet, funktioniert dieser Befehl beim RFx000 nicht. Der Befehl gehört aber zum Standard-Befehlssatz der Repetier- Firmware.
G32 - Automatische Bettausrichtung
Parameter
- S<0..2> P<0..1>
- S = 1 messe zHöhe
- S = 2 messe und speichere neue zHöhe
Bemerkung
- Entspricht in etwa "M3010" beim RF1000
- Hinweis:
- Der Befehl dient normalerweise zur Ausrichtung des Druckbetts. Da ein RFx000-Drucker eine andere Methode verwendet, funktioniert dieser Befehl beim RFx000 nicht. Der Befehl gehört aber zum Standard-Befehlssatz der Repetier- Firmware.
G90 - Interpretiere Koordinaten als absolut
Parameter
- Keine
G91 - Interpretiere Koordinaten als relativ
Parameter
- Keine
G92 - Setze die Koordinate(n) der aktuellen Position auf den vorgegebenen Wert
Set current position to cordinates given / Setze die angegebene Koordinate(n) auf den vorgegebenen Wert
- Vorschlag: 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"
G131 - Extruderoffset auf 0 setzen
set extruder offset position to 0 - needed for calibration with G132
Parameter
- Keine
Bemerkung
- G131 und G132 haben vermutlich was mit Schnellwechselextruder, oder Ähnliches, zu tun, wo man die Position der Extruderdüse nach einem Wechsel neu kalibrieren muss
G132 - Kalibriere Endpunkte (Schnellwechselextruder)
calibrate endstop positions. Call this, after calling G131 and after centering the extruder holder.
Parameter
- Keine
Bemerkung
- G131 und G132 haben vermutlich was mit Schnellwechselextruder, oder Ähnliches, zu tun, wo man die Position der Extruderdüse nach einem Wechsel neu kalibrieren muss
M-Codes
Generelle M-Codes (RepRap)
M104 - Setze Extrudertemperatur
Parameter
- <Snnn>
Bemerkung
- Hier wird nicht gewartet. Die nächsten Befehle werden unmittelbar danach abgearbeitet
M105 - Melde aktuelle Extrudertemperatur
Parameter
- <Snnn>
- Hinweis
M106 - Schalte Lüfter ein
Parameter
- <Sxxx>
Bemerkung
- Parameter S von 0-255 zulässig (0 = 0% ... 255 = 100%)
M107 - Schalte Lüfter aus
Parameter
- Keine
Bemerkung
- Entspricht "M106 S0"
M109 - Setze Extrudertemperatur und warte
Parameter
- <Snnn>
Bemerkung
- Hier WIRD gewartet. Die nächsten Befehle werden erst NACH erreichen der Temperatur abgearbeitet
M111 - Setze Debug Level
Parameter
- S<0....15>
Bemerkung
- Mittels Setzen eines Bits können verschiedene Informationen übermittelt werden (z.B. ins Log)
- Bit 1 (=1): Echo - damit werden alle gesendeten Befehle dokumentiert
- Bit 2 (=2): zusätzliche Informationen (welche es sind, ist noch offen)
- Bit 3 (=4): Fehler werden angezeigt, z.B Kommunikationsfehler
- Bit 4 (=8): Speziell für Repetier-Firmware, der "Dry-Run"-Modus - hier werden alle Extrusionsbefehle ignoriert und nur die Koordinaten abgefahren
- Die Bit-Werte lassen sich beliebig addieren, um Kombinationen zu ermöglichen, z.B. Bit 1 & Bit 3 ergeben 5. Damit würde "M111 S5" zur Folge haben, dass alle Befehle und Fehler angezeigt werden, aber keine Zusatzinformationen.
- Die Funktion der Bits lässt sich in Repetier-Host an den Debug-Optionen auf der "Manual Control" Lasche, unten, schön im Log verfolgen.
M114 - Zeige Koordinaten der augenblicklichen Position
Parameter
- Keine
Bemerkung
- Berücksichtigt G92!!
Spezielle M-Codes (Repetier)
M20 - Liste Inhalt der SD Karte
Parameter
- Keine
M21 - SD Karte initialisieren
Parameter
- Keine
Bemerkung
- mounten - ist nicht dasselbe wie formatieren
M22 - SD Karte freigeben
Parameter
- Keine
Bemerkung
- Damit kann die SD Karte gefahrlos aus dem Drucker entnommen werden
M23 - Wähle Datei auf der SD Karte aus
Parameter
- <Dateiname>
Beispiel
- "M23 filename.g"
M24 - Starte Druck von der SD-Karte, oder fahre mit Druck wieder fort
Parameter
- Keine
M25 - Druck von der SD Karte pausieren
Parameter
- Keine
M26 - Setze Zeiger-Position innerhalb der gewählten SD Datei in Bytes
Parameter
- Snnnnn
Beispiel
- "M26 S12345"
Hinweis:
- Wird ab Version 0.91.53 nicht mehr unterstützt
M27 - Melde Status des Drucks von der SD Karte
Parameter
- Keine
M28 - Schreibe Datei auf SD Karte
Parameter
- <Dateiname>
Beispiel
- "M23 filename.g"
M29 - Beende Schreibvorgang auf der SD Karte
Parameter
- Keine
M30 - Lösche Datei von der SD Karte
Parameter
- <Dateiname>
Beispiel
- "M30 filename.g"
M32 - Erstelle Ordner/Unterordner auf der SD Karte
Parameter
- <Ordnername>
Beispiel
- "M30 dirname"
M42 - Ändere Zustand des Pins P auf den Wert S
Parameter
- P<pin nummer>
- S<wert 0..255>
Bemerkung
- Funktioniert nur auf gewissen Pins
Hinweis:
- Wird ab Version 0.91.53 nicht mehr unterstützt
M80 - Netzteil einschalten
Parameter
- Keine
Bemerkung
- Funktioniert nicht beim RF1000
M81 - Netzteil ausschalten
Parameter
- Keine
Bemerkung
- Funktioniert nicht beim RF1000
M82 - Interpretiere Werte für den Extruder (=E-Werte) als absolute Werte
Parameter
- Keine
Bemerkung
- Standardeinstellung
M83 - Interpretiere Werte für den Extruder als relativ, auch im absoluten Koordinaten-Modus (G90)
Parameter
- Keine
M84 - Schrittmotore bis zur nächsten Bewegung oder nach Inaktivität ausschalten (stromlos setzen)
Parameter
- S<Sekunden>
Bemerkung
- Mittels S<Sekunden> kann ein Zeitfenster definiert werden - findet innerhalb dieser Zeit keine Bewegung statt, schalten die Motore ab. Neuerliche Eingabe mit S0 deaktiviert das Zeitfenster wieder.
M85 - Setzt Zeitfenster, in Sekunden, ab dem die Motore abgeschaltet werden
Parameter
- S<Sekunden>
Bemerkung
- S0 deaktiviert das Zeitfenster wieder (S0 ist Standardeinstellung)
M92 - Stelle Schritte pro mm für die angegebene(n) Achse ein
Parameter
- [X<Wert> Y<Wert> Z<Wert> E<Wert>]
Bemerkung
- Schreibweise wie bei G92
- Verwendung sollte nicht notwendig sein (wirklich nur für Sonderfälle, zum Beispiel bei einer vorhandenen GCode-Datei, die skaliert werden muss.)
Hinweis:
- Wird ab Version 0.91.53 nicht mehr unterstützt
M99 - Schalte angegebene(n) Motor(en) für S-Sekunden ab
Parameter
- S<verzInSek> X0 Y0 Z0
Bemerkung
- Standardeinstellung 10 Sek.
M104 - Setze Extrudertemperatur, ohne Warten
Parameter
- S<temp> T<extruder> [P1 F1]
- S: Temperatur
- T: Extruder
- P1: Warte bis alle vorhergehenden Bewegungen abgeschlossen sind
- F1: Piepse wenn die vorgegebene Temperatur erstmals erreicht wurde
Bemerkung
- In einem Single-Extruder System wird der Extruder mit T0 angesprochen, das Bett mit T1 !!. (Bei einem Dual-System wird das Bett vermutlich zu T2, da der zweite Extruder T1 ist.)
M105 - Melde Temperatur
Parameter
- [X0]
Bemerkung
- X0 = zeige auch die nicht-umgerechneten digitalen Werte. Scheinbar nicht durch RF1000 unterstützt (JoBo: Worauf bezieht sich letzte Bemerkung?)
- Hinweis
M112 - Not-Abschaltung
Parameter
- Keine
M115 - Schreibe Firmware-String
Parameter
- Keine
Bemerkung
- Zeigt Firmware-Infos an
- Siehe auch M3060, wo ebenfalls die Firmware-Version ausgegeben wird.
M116 - Warte bis alle angegebenen Temperaturen innerhalb von +/- 1° sind
Parameter
- Keine
M117 - Schreibe Nachricht in die Statuszeile des Displays
Parameter
- <message>
Bemerkung
- Zeigt <message> (kurz halten!) im Display
M119 - Melde Endschalterstatus
Parameter
- Keine
Bemerkung
- Nicht-betätigter Schalter wird als "L" gemeldet ("L"= low), betätigter Schalter meldet "H" (high).
M140 - Setze Betttemperatur OHNE Warten
Parameter
- S<temp> [F1]
- <temp>: Temperatur
- F1: Piepse beim ersten Erreichen der Temperatur
M190 - Setze Betttemperatur MIT Warten
Parameter
- S<temp>
- <temp>: Temperatur
M201 - Setze max. Beschleunigungswerte in Einheiten/s² für Druckbewegungen
Parameter
- [Xnn Ynn Znn]
- X: Beschleunigung in X-Richtung
- Y: Beschleunigung in Y-Richtung
- Z: Beschleunigung in Z-Richtung
Beispiel
- "M201 X1000 Y1000"
M202 - Setze max. Beschleunigungswerte in Einheiten/s² für Leerfahrten ohne Extrusion
Parameter
- [Xnn Ynn Znn]
- X: Beschleunigung in X-Richtung
- Y: Beschleunigung in Y-Richtung
- Z: Beschleunigung in Z-Richtung
Beispiel
- "M202 X1000 Y1000"
M203 - Temperaturüberwachung einschalten
Parameter
- S<Temp>
Bemerkung
- Konnte beim RF1k keine Wirkung feststellen (mjh11)
M204 - Setze PID Parameter
Parameter
- Xn Yn Zn [S<extruder>]
- X: Kp
- Y: Ki
- Z: Kd
- <extruder>: Standardmäßig wird der aktive Extruder angesprochen, NUM_EXTRUDER (Vorgabe in configuration.h) entspricht Heizbett
Beispiel "M204 X3752 Y1000 Z3518 S0"
Bemerkung
- Siehe auch M303, wo die PID-Werte automatisch ermittelt werden können
M205 - EEPROM Werte ausgeben
Parameter
- Keine
Bemerkung
- Hierfür muss der EEPROM Support in der Configuration.h eingeschalten werden
M206 - Schreibe Wert ins EEPROM
Parameter
- T[type] P[pos] [Sint(long)] [Xfloat]
Bemerkung
- Dazu muss man wissen welche Werte wo abgespeichert sind. EEPROM Support in der Firmware vermutlich ebenfalls nötig.
Beispiel
- "M206 T3 P31 X200.00" stellt die Geschwindigkeit, mit der in Y gegen 0 gefahren wird ('ge-homed' wird), auf 200mm/s
M207 - Ändere die aktuellen Werte für das 'Ruckeln' (jerk), aber speichere sie nicht im EEPROM
Parameter
- X<XY jerk> Z<Z Jerk> E<ExtruderJerk>
Bemerkung
- Das 'Ruckeln' (jerk) entsteht durch sehr rasche, abwechselnde Bewegungen, die den Drucker aufschaukeln können. Mit Hilfe dieses Befehls schränkt man die Geschwindigkeit der raschen Abfolge ein.
- Die neuen, angegebenen Werte sind temporär, sie werden NICHT im EEPROM gespeichert.
- Der RF1000, mit seiner soliden Bauweise, ist hier nicht sehr anfällig.
- Beim RF1000 ist der voreingestellte Wert für XY 10mm/s, für Z 20mm/s.
M220 - Multiplikator für die Verfahrgeschwindigkeit
Parameter
- S<prozent>
Beispiel
- "M220 S50" halbiert die Verfahrgeschwindigkeit
M221 - Multiplikator für die Extrusionsmenge
Parameter
- S<prozent>
Beispiel
- "M221 S50" halbiert die Extrusionsmenge
M231 - Stelle das Standard-Verhalten für Retract-Vorgänge ein
Parameter
- S<OPS_MODE> X<Min_Distance> Y<Retract> Z<Backlash> F<ReatrctMove>
Bemerkung
- Sollte beim RF1000 nicht notwendig sein
- Hinweis:
M232 - Lese max. 'Vorlaufdruck'-Wert aus und setze es wieder auf 0
Parameter
- Keine
Bemerkung
- Der 'Vorlaufdruck' ist ähnlich wie die 'Vorzündung' beim Otto-Motor. Da baut der Extruder vorzeitig Druck auf, damit der Druck rechtzeitig vorhanden ist.
- Der RF1000 hat standardmässig 0 eingestellt
M233 - Stellt temporäre Werte zur Vorlaufdrucksteuerung ein
Parameter
- X<AdvanceK> Y<AdvanceL>
Bemerkung
- Siehe auch M232
M251 - Messe Anzahl der Z-Schritte vom Homing-Stop
Parameter
- S<n>
- S0 - Setze zurück
- S1 - Drucke
- S2 - Speiche nach Z Höhe (auch ins EEPROM sofern eingeschaltet)
Bemerkung
- NUR FÜR DELTA-DRUCKER
Hinweis:
- Wird ab Version 0.91.53 nicht mehr unterstützt
M280 - Setze "Ditto"-Druckmodus
Parameter
- S<mode>
- S0 - Aus
- S1 - An
Bemerkung
- Der "Ditto"-Druckmodus ist für Drucker interessant, die 2 Extruder haben
- Arbeitet ein solcher Drucker im Ditto-Modus, wird ein Objekt von beiden Extrudern gleichzeitig (parallel) gedruckt
M300 - Piepston am Lautsprecher ausgeben
Parameter
- S<Frequenz> - in Herz
- P<Dauer> - in Millisekunden
Bemerkung
- "M300 S440 P500" gibt den Kammerton "A" eine halbe Sekunde lang aus.
M303 - Automatisches Programm um PID-Werte zu ermitteln
- Startet ein automatisches Programm, wo die PID-Werte für den Extruder oder das Bett, bei der angegebenen Temperatur, ermittelt werden.
Parameter
- P<Extruder/Bett> .. Nummer, die bestimmt welche Heizung verwendet werden soll (wobei, bei Single-Extruder P0 der Extruder ist, und P1 das Bett)
- S<sollTemperatur> ...auf welche Temperatur soll geheizt werden (die übliche Arbeitstemperatur verwenden)
- X0 ... Ermittelten Werte ins EEPROM schreiben
Bemerkung
- X0 benötigt evtl. EEPROM Support in der Configuration.h.
- Test bei Zimmertemperatur beginnen!!
- Siehe auch M204 für das manuelle Setzen der PID-Werte
M320 - Aktiviere automatische Bettausrichtung
Parameter
- Keine
- Hinweis:
- Der Befehl aktiviert normalerweise die automatische Ausrichtung des Druckbetts. Da ein RFx000-Drucker eine andere Methode verwendet, funktioniert dieser Befehl beim RFx000 nicht. Der Befehl gehört aber zum Standard-Befehlssatz der Repetier- Firmware.
- Beim RFx000 Drucker wird stattdessen "M3001" verwendet.
M321 - Automatische Bettausrichtung ausschalten
Parameter
- Keine
- Hinweis:
- Der Befehl deaktiviert normalerweise die automatische Ausrichtung des Druckbetts. Da ein RFx000-Drucker eine andere Methode verwendet, funktioniert dieser Befehl beim RFx000 nicht. Der Befehl gehört aber zum Standard-Befehlssatz der Repetier- Firmware.
- Beim RFx000 Drucker wird stattdessen "M3000" verwendet.
M322 - Matrix für Bettausrichten löschen/zurücksetzen
Parameter
- Keine
- Hinweis:
- Der Befehl löscht normalerweise die gespeicherte Matrix zur automatischen Ausrichtung des Druckbetts. Da ein RFx000-Drucker eine andere Methode verwendet, funktioniert dieser Befehl beim RFx000 nicht. Der Befehl gehört aber zum Standard-Befehlssatz der Repetier- Firmware.
- Beim RFx000 Drucker wird stattdessen "M3011" verwendet.
M340 - Externes Servo ansteuern
Parameter
- P<n> ... Nummer von 0-3, die dem angesprochenen Servo entspricht (bis zu 4 Servos ansprechbar)
- S<PulsLänge> .... Zahl die den Ausschlag des Servos bestimmt, von 500-2500 (1500 entspricht der Mittelstellung)
Bemerkung
- Eine PulsLänge von 0 schaltet das entsprechende Servo aus.
- Die Hauptplatine des RF1000 hat von Hause aus nur 3 Servoanschlüsse!
- Bei Tests zum Betrieb eines DGlass Dualextruders ist aufgefallen, dass der Servo anfangen kann zu 'zittern'.
- Eine Überprüfung mit dem Oszilloskop hat gezeigt, dass das Signal teilweise Ausreißer von ca. 30 µs aufweist.
- Desweiteren ist bei der Verwendung zu beachten, dass die Pins definiert werden müssen. Dies sollte vorzugsweise
- in der configuration.h erfolgen. Negativbeispiel ist die Definition der Servo-Pins für das RAMBO-Board in der
- configuration.h (Vers. 0.91.48 und 0.91.59). Dies überschreibt euch u.U. eure Pin-Definition!
- Update: In Version RF.01.10 sind die Pins in pins.h definiert und die RAMBO-Definition aus der Configuration.h gelöscht.
M350 - Mikro-Schritte Einstellen (RAMBO-Board)
Parameter
- S<MkrSchritteAlle> X<MkrSchritteX> Y<MkrSchritteY> Z<MkrSchritteZ> E<MkrSchritteE0> P<MkrSchritteE1>
Bemerkung
- Gilt NUR FÜR RAMBO Hauptplatine!! Nicht für RFx000 Drucker.
M400 - Warte bis alle gepufferten Befehle abgearbeitet wurden
Parameter
- Keine
Bemerkung
- Kann bei zeitkritischen Operationen nützlich sein.
M401 - Speichere die aktuellen X, Y und Z Koordinaten
Parameter
- Keine
Bemerkung
- Man kann danach, mittels M402, zur gespeicherten Position zurückfahren.
M402 - Gehe zur gespeicherten Position.
Parameter
- [X Y Z] ... keine, eine oder mehrere Achsen
- [F] ... damit kann die Verfahrgeschwindigkeit für diese eine Bewegung definiert werden.
Bemerkung
- Falls eine oder mehrere Achsen angegeben wurden, werden nur diese Koordinaten verwendet, sonst werden alle Koordinaten angefahren.
- Diese Koordinaten müssen zuvor mittels M401 gespeichert worden sein.
M500 - Speichere alle EEPROM-relevanten Werte ins EEPROM
Parameter
- Keine
Bemerkung
- EEPROM Support muss in der Configuration.h gesetzt worden sein, damit der Befehl funktioniert.
M501 - Lade alle EEPROM-Werte
Parameter
- Keine
Bemerkung
- Eventuell geänderte Werte werden damit wieder auf die EEPROM-Werte zurückgesetzt.
- EEPROM Support muss in der Configuration.h gesetzt worden sein, damit der Befehl funktioniert.
M502 - Konfigurations-Werte auf Configuration.h-Werte ändern
Parameter
- Keine
Bemerkung
- Eventuell abweichende EEPROM-Werte werden vorübergehend auf jene aus der Configuration.h geändert, aber nicht gespeichert. (Um diese im EEPROM zu speichern, sollte M500 verwendet werden)
- EEPROM Support muss in der Configuration.h gesetzt worden sein, damit der Befehl funktioniert.
M908 - Schrittmotorstrom ändern (nur RAMBO Board)
Parameter
- P<Addresse> S<Wert> ... legt Strom für Schrittmotor fest
Bemerkung
- Gilt NUR FÜR RAMBO Hauptplatine!! Nicht für RFx000 Drucker.
Spezielle M Codes nur für RFx000 Drucker
M3000 - Z-Kompensation ausschalten
Parameter
- Keine
Bemerkung
- Ist die Z-Kompensation nicht eingeschaltet, entspricht der Auslösepunkt des Z-Endschalters Z=0.
M3001 - Z-Kompensation einschalten
Parameter
- Keine
Bemerkung
- Die Z-Kompensation gleicht etwaige Unebenheiten oder Schieflagen des Druckbetts aus. Dazu wird mittels einer Abtastung (siehe M3010) eine Matrix erstellt, die der Kompensation als Grundlage dient. Diese Kompensation ist nur die ersten Millimeter aktiv (in Z), danach hört die Kompensation auf (Z<=3mm, außer in der Configuration.h anders definiert).
M3002 - Unterste Schrittgrenze für Z-Kompensation festlegen
Parameter
- S<Schritte> ...Anzahl der Mikroschritte, unter der nicht mehr kompensiert wird (Nachprüfung nötig)
Bemerkung
- Falls weniger Schritte notwendig wären, werden diese einfach nicht ausgeführt. (Nachprüfung nötig)
- mjh11: Meiner Interpretation nach heißt das, dass ein Fehler nicht mehr korrigiert wird, falls es weniger als die angegebenen Schritte ausmachen würde. (Nachprüfung nötig)
- Andererseits: Basierend auf die Zeile
#define HEAT_BED_Z_COMPENSATION_MIN_STEPS
könnte es sich auf die Höhe beziehen, ab der die Kompensation läuft (darunter wird bloß parallel zum Bett gefahren, um eine gute Haftung des ersten Layers zu gewährleisten). (Nachprüfung nötig)
M3003 - Maximale Schrittgrenze für Z-Kompensation setzen
Parameter
- S<Mikroschritte> ...Anzahl der Mikroschritte, die maximal auf einmal kompensiert werden (Nachprüfung nötig)
Bemerkung
- Falls mehr Schritte notwendig wären, werden trotzdem nur so viele gemacht. Ist das richtig?
- mjh11: Meiner Interpretation nach heißt das, dass ein Fehler, der mehr Schritte verlangen würde, trotzdem nur mit der angegebenen Anzahl der Schritte kompensiert wird, nicht mehr.
- Andererseits: Basierend auf die Zeile
#define HEAT_BED_Z_COMPENSATION_MAX_STEPS
könnte es sich auf die maximale Höhe beziehen, ab der keine Kompensation mehr durchgeführt wird. LautConfiguration.h ist diese Höhe bei '3mm X Schritte/mm'. (Nachprüfung nötig)
M3004 - Manueller Z-Offset
Parameter
- S<Mikroschritte>
Bemerkung
- Bis v.0.91.48, danach ersetzt durch M3006
- In späteren Firmwareversionen wird der Befehl nicht mehr akzeptiert und gibt eine entsprechende Fehlermeldung aus.
M3005 - Spezielle Debug-Ausgaben einschalten (veraltet)
Parameter
- Unbekannt Vermutlich S<n> ... wobei es keinerlei Dokumentation bzgl. der möglichen Werte, oder deren Auswirkung gibt.
- Hinweis
M3006 - Manueller/Statischer Z-Offset
Parameter
- S<µm>
Bemerkung
- Neu in v.0.91.49, davor gab es nur M3004.
- Benötigt M3001! (Anmerkung (JoBo): Bedeutet, dass Z-Kopmensation eingeschaltet sein muss, sonst hat der Befehl keine Wirkung.)
- Positive S-Werte erhöhen den Düsenabstand (das Bett bewegt sich nach unten)
M3007 - Minimale Höhe für Z-Kompensation festlegen
Parameter
- S<µm>
Bemerkung
- Neu in v.0.91.49. Ähnlich wie M3002, nur werden hier µm angegeben.
- Andererseits: Basierend auf die Zeile
#define HEAT_BED_Z_COMPENSATION_MIN_MM
könnte es sich auf die Höhe beziehen, ab der die Kompensation läuft (darunter wird bloß parallel zum Bett gefahren, um eine gute Haftung des ersten Layers zu gewährleisten). Laut Configuration.h wäre diese Höhe 0.2mm. (Nachprüfung nötig)
M3008 - Maximale Z-Kompensationshöhe festlegen
Parameter
- S<µm>
Bemerkung
- Neu in v.0.91.49. Ähnlich wie M3003, nur werden hier µm angegeben, statt Mikroschritte
- Andererseits: Basierend auf die Zeile
#define HEAT_BED_Z_COMPENSATION_MAX_MM
könnte es sich auf die Höhe beziehen, ab der keine Kompensation mehr stattfindet. Laut Configuration.h wäre diese Höhe 3mm. (Nachprüfung nötig)
M3010 - Heat Bed Scan (HBS) Starten/Abbrechen
Parameter
- Keine
Bemerkung
- Startet einen Heat Bed Scan (HBS). Dabei wird die Oberfläche des Betts abgetastet und die Lage/Form der Bettoberfläche als Matrix für später gespeichert.
- Mittels M3001 wird die Z-Kompensation aktiviert, die anhand der Matrix Unebenheiten/Schieflage des Betts kompensiert.
- Ein zweiter Aufruf des Befehls bricht einen laufenden Scan ab.
M3011 - Die unter M3010 erhaltene Matrix aus dem EEPROM löschen
Parameter
- Keine
Bemerkung
- Hier ist KEIN EEPROM Support in der Configuration.h notwendig!! Ich habe gerade beim Testen des Befehls meine Matrix gelöscht!
- Nach der Ausführung des Befehls werden alle Matrixwerte ohne Sicherheits-Nachfrage auf "0" gesetzt. Danach ist ein neuer HBS notwendig (siehe dazu M3010)
M3012 - Die Standard-HBS-Parameter wieder herstellen
Parameter
- Keine
Bemerkung
- Damit kann man die Heat-Bed-Scan-Parameter (HBS-Parameter) wieder auf die Standardwerte zurücksetzen, falls diese mittels einen der Befehle (M3020 bis M3050) verändert wurden.
M3013 - Die aktuelle Matrix des HBS ausgeben
Parameter
- Keine
Bemerkung
- Die durch den Heat Bed Scan (HBS) erstellte Matrix (siehe M3010) wird durch diesen Befehl ausgegeben, und wird, z.B. im Log-Bereich von Repetier-Host angezeigt.
M3020 - X-Startpunkt für HBS festlegen
Parameter
- S<mm>
Bemerkung
- Legt den Startpunkt HBS in X-Richtung mit 'mm' in Millimeter fest
M3021 - Y-Startpunkt für HBS festlegen
Parameter
- S<mm>
Bemerkung
- Legt den Startpunkt HBS in Y-Richtung mit 'mm' in Millimeter fest
M3022 - X-Schrittweite für HBS festlegen
Parameter
- S<mm>
Bemerkung
- Legt die Schrittweite des HBS in X-Richtung mit 'mm' in Millimeter fest
M3023 - Y-Schrittweite für HBS festlegen
Parameter
- S<mm>
Bemerkung
- Legt die Schrittweite des HBS in Y-Richtung mit 'mm' in Millimeter fest
M3024 - X-Endpunkt für HBS festlegen
Parameter
- S<mm>
Bemerkung
- Legt den Endpunkt des HBS in X-Richtung mit 'mm' in Millimeter fest
M3025 - Y-Endpunkt für HBS festlegen
Parameter
- S<mm>
Bemerkung
- Legt den Endpunkt des HBS in Y-Richtung mit 'mm' in Millimeter fest
M3030 - Vertikale Schrittweite für HBS festlegen, Schnellgang, nach Oben
Parameter S<Mikroschritte>
Bemerkung
- <Mikroschritte> muss zw. 1 und 50 liegen, ansonsten wird 1 bzw. 50 gesetzt.
- Definiert die vertikale Schrittweite, wo das Bett beim HBS noch im Schnellgang Richtung Düse fährt. (Geprüft)
- In der Configuration.h ist der Wert 64 (v0.91.53).
M3031 - Vertikale Schrittweite für HBS festlegen, Langsamgang, nach Oben
Parameter S<Mikroschritte>
Bemerkung
- <Mikroschritte> muss zw. 1 und 50 liegen, ansonsten wird 1 bzw. 50 gesetzt.
- Definiert die vertikale Schrittweite, wo das Bett beim HBS im langsam-Gang Richtung Düse fährt. (Geprüft)
- In der Configuration.h ist der Wert 12.8 (v0.91.53).
M3032 - Vertikale Schrittweite für HBS festlegen, Schnellgang, nach Unten
Parameter S<Mikroschritte>
Bemerkung
- Definiert vermutlich die vertikale Schrittweite, wo das Bett beim HBS im Schnellgang von der Düse wegfährt. (Nachprüfung nötig)
- In der Configuration.h ist der Wert 640 (v0.91.53).
M3033 - Vertikale Schrittweite für HBS festlegen, Langsamgang, nach Unten
Parameter S<Mikroschritte>
Bemerkung
- Definiert vermutlich die vertikale Schrittweite, wo das Bett beim HBS im langsam-Gang von der Düse wegfährt. (Nachprüfung nötig)
- In der Configuration.h ist der Wert 80 (v0.91.53).
M3040 - Konfiguriere die Verzögerung (in ms) zw. zwei schnellen Bewegungen während des HBS
Paramater
- S<ms>
M3041 - Konfiguriere die Verzögerung (in ms) zw. zwei langsamen Bewegungen während des HBS
Paramater
- S<ms>
M3042 - Konfiguriere die Verzögerung (in ms) zw. Erreichen einer neuen x/y Position und Prüfung des Leerlaufdrucks
Parameter
- S<ms>
M3050 - Konfiguriere die Kontakttdruckdifferenz (in Digits)
Parameter
- S<digits>
M3051 - Konfiguriere die Wiederholdruckdifferenz (in digits)
Parameter
- S<digits>
M3052 - Konfiguriere die Leerlaufdrucktoleranz (in Digits)
Parameter
- S<digits>
M3053 - Konfiguriere die Anzahl, wie oft der A/D-Wandler während der Druckmessung gelesen werden soll
Parameter
- S<n>
M3054 - Konfiguriere die Verzögerung (in ms) zwischen zwei A/D-Wandler-Abfragen
Parameter
- S<ms>
M3055 - Konfiguriere die Drucktoleranz (in Digits) je Druckmessung
Parameter
- S<digits>
M3060 - Druckertyp und Firmwareversion ausgeben
Parameter
- Keine
Bemerkung
- Ab Version RF.01.10 gültig
M3070 - Druck pausieren (als ob Pause-Taste gedrückt wurde)
Parameter
- S1|S2
Bemerkung
- Ein Parameter ist notwendig.
- Dabei gilt:
- S1 : pausiere an der augenblicklichen Position
- S2 : fahre zur vordefinierten Position (Standardposition oder mittels M3105 definierter Position) und pausiere
- Ohne Parameterübergabe wird nicht pausiert !!
- Der Drucker bestätigt das Pausieren mit einem Dreifach-pieps. (Das Drücken der Weiter-Taste, danach, wird mit einem Doppel-pieps akustisch bestätigt).
M3071 - Warte mit der Abarbeitung, bis die Weiter-taste ('Play'-Taste) gedrückt wurde
Parameter
- Keine
Bemerkung
- Befehl neu ab v0.91.49
- Der Befehl wirkt zusammen mit M3070, wobei auch mit dem Abarbeiten weiterer GCodes gewartet wird, solange der Drucker im pausierten Zustand ist. Ohne den Befehl würden gewisse, ungepufferte Befehle weiterhin abgearbeitet werden.
M3075 - Minimal- und Maximalkräfte für Notaus definieren
Parameter
- S<nnn> P<nnn>
Bemerkung
- Damit kann man den Auslösepunkt vom Notaus definieren, der bei Überschreiten der Kräfte auf den Wägezellen aktiviert wird.
- Genaue Parametersynatx noch offen
- Ab Version RF.01.10 gültig
M3079 - Druckobjekt 'ausgeben'
Parameter
- Keine
Bemerkung
- AB v0.91.48: Druckbett wird zu einer vordefinierten Position gefahren. Diese Position wird in der Firmware definiert, als Befehls-String unter
#define OUTPUT_OBJECT_SCRIPT_PRINT
- In früheren Versionen konnte man die Position mittels M3104 definieren.
M3080 - Drucker in Parkposition fahren
Parameter
- Keine
Bemerkung
- Parkposition definiert mittels M3103
M3090 - Watchdog Timer testen
Parameter
- Keine
Bemerkung
- Hierbei wird die Firmware zurückgesetzt
M3091 - Lösche externes EEPROM
Parameter
- Keine
M3100 - Einstellen, wie viele Mikroschritte sich das Bett bewegt, wenn "Bett auf" oder "Bett ab" Taste am Drucker betätigt wurde
Parameter
- S<n>
Bemerkung
- n gibt die Anzahl der Microschritte an
M3101 - Einstellen, wie viele Mikroschritte sich der Extruderschrittmotor bewegt, wenn eine der Tasten am Drucker betätigt wird
Parameter
- S<n>
Bemerkung
- n gibt die Anzahl der Mikroschritte an
M3102 - Konfiguriere Versatz, wenn die 'Pause' Taste gedrückt wird
Parameter
- [X<n>][Y<n>][Z<n>][E<n>]
Bemerkung
- n gibt jeweils die Anzahl der Mikroschritte an
- Konfiguriert den Versatz, wo der Extruder hinfahren soll, wenn die 'Pause' Taste gedrückt wird (ähnlich wie M3105)
- Voraussetzung: FEATURE_PAUSE_PRINTING muss in der configuration.h aktiviert sein (standardmäßig aktiviert).
M3103 - Parkposition festlegen
Parameter
- [Xnnn Ynnn Znnn]
Bemerkung
- Legt die Parkposition fest. Angaben nnn sind in Millimetern. Siehe auch M3080.
- Voraussetzung: FEATURE_PARK muss in der configuration.h aktiviert sein (standardmäßig NICHT aktiviert).
M3104 - Objektausgabeposition definieren - Gelöscht ab v0.91.48
Parameter
- X Y Z ... Koordinaten der Ausgabeposition
Bemerkung
- Dieser Befehl ist nur in Versionen vor v0.91.48 anwendbar. Der Befehl wurde gelöscht, da die Funktionalität durch das
OUTPUT_OBJECT_SCRIPT
in der Configuration.h (Firmware) ersetzt wurde. Siehe dazu auch M3079
M3105 - Konfiguriere Versatz in X-, Y- und Z-Richtung sowie Extruder Retract, wenn Pause gedrückt wurde
Parameter
- [x<nnn>][Y<nnn>][Z<nnn>][E<nnn>]
Bemerkung
- Angaben nnn sind in Millimetern.
- Voraussetzung: FEATURE_PAUSE_PRINTING muss in der configuration.h aktiviert sein (standardmäßig aktiviert).
- Diese Position wird auch angefahren, wenn der Befehl "M3070 S2" ausgeführt wird.
M3110 - Aktuellen Statustext 'einfrieren'
Parameter
- Keine
M3115 - X- und Y-Koordinaten der aktuellen Position auf Null setzen
Parameter
- Keine
Bemerkung
- Ab Version RF.01.10 gültig
M3120 - Gehäuse-Lüfter einschalten
Parameter
- Keine
Bemerkung
- Mit "Gehäuse-Lüfter" ist bei Vollmetallextrudern der Lüfter gemeint, der das "Extrudergehäuse" kühlt
M3121 - Gehäuse-Lüfter ausschalten
Parameter
- Keine
Bemerkung
- Mit "Gehäuse-Lüfter" ist bei Vollmetallextrudern der Lüfter gemeint, der das "Extrudergehäuse" kühlt
Die folgenden M-Codes sind für den Werkstück-Scan in der Betriebsart "Fräsen"
M3130 - Starte/Stoppe die Suche nach dem z-Ursprung
Parameter
- Keine
M3140 - Schalte die Z-Kompensation aus
Parameter
- Keine
M3141 - Schalte die Z-Kompensation ein
Parameter
- Keine
M3146 - Setze / Konfiguriere statischen Z-Offset
Patameter
- S<µm>
M3149 - Hole/Wähle die aktive Werkstück-Z-Kompensations Matrix
Parameter
- S<n>
Bemerkung
- Liefert einen Fehler zurück, wenn n < 1 oder n > EEPROM_MAX_WORK_PART_SECTORS ist.
- Mit dem Parameter kann man gezielt eine Speicherstelle für einen nachfolgenden Scan (mittels M3150) auswählen. Wird kein neuerlicher Scan durchgeführt, wird die bereits gespeicherte Matrix an der Speicherstelle für die Z-Kompensation (im Fräsmodus) verwendet.
- (Vermutlich bleibt die Speicherstelle bis zum Ausschalten oder Neuauswahl ausgewählt. Die Matrixdaten, selbst, bleiben auch nach dem Ausschalten bestehen, da sie im EEPROM gespeichert werden).
M3150 - Werkstück-Scan starten/abbrechen
Parameter
- S<n> Hier sind nur 0 oder 1 zulässig.
Bemerkung
Mit n kann anscheinend ein Scan nummeriert werden.Mit n kann diese Matrix später gezielt mittels M3149 geladen werden- Ohne Parameter, bzw. mit Parameter "S0" wird vor dem Scan KEIN Homing durchgeführt. Mit "S1" wird vor dem Scan ein Homing durchgeführt. (Edit, basierend auf diesen Beitrag)
M3151 - Lösche die spezifizierte Z-Kompensations Matrix aus dem EEPROM
Parameter
- S<n>
Bemerkung
- Löscht die mit n spezifizierte Matrix aus dem EEPROM.
- Liefert einen Fehler zurück wenn n < 1 oder n > EEPROM_MAX_WORK_PART_SECTORS ist.
M3152 - Stelle die Standard Scan Parameter wieder her
Parameter
- Keine
M3153 - Gib die spezifizierte Werkstück-Z-Kompensations Matrix aus
Parameter
- S<n>
Bemerkung
- Gibt die mit n spezifizierte Matrix aus
M3160 - Setze / Konfiguriere die X Startposition für den Werkstück-Scan
Parameter
- S<mm>
Bemerkung
- Legt die X Startposition mit 'mm' fest
M3161 - Setze / Konfiguriere die Y Startposition für den Werkstück-Scan
Parameter
- S<mm>
Bemerkung
- Legt die Y Startposition mit 'mm' fest.
M3162 - Setze / Konfiguriere die X Schrittweite für den Werkstück-Scan
Parameter
- S<mm>
Bemerkung
- Legt fest wie weit in mm die Scanpunkte in X-Richtung auseinanderliegen.
M3163 - Setze / Konfiguriere die Y Schrittweite für den Werkstück-Scan
Parameter
- S<mm>
Bemerkung
- Legt fest wie weit in mm die Scanpunkte in Y-Richtung auseinanderliegen.
M3164 - Setze / Konfiguriere die X Endposition für den Werkstück-Scan
Parameter
- S<mm>
Bemerkung
- Legt die X Endposition mit 'mm' fest
M3165 - Setze / Konfiguriere die Y Endposition für den Werkstück-Scan
Parameter
- S<mm>
Bemerkung
- Legt die Y Endposition mit 'mm' fest
Andere M-Codes
M3200 - Reserviert für Testzwecke und Fehlersuche
Parameter
- P<n> S<m>
Bemerkung
- P1: Speicherausgaben
- P2: Ausgabe Homing Geschwindigkeiten
- P3: Ausgabe Piepser - Unterschiedlich je nach S1 bis S10
- P4: Simuliert Blockade der Z-Achse
- P5: Simuliert einen Temperatursensor-Fehler
- P6: Diverse Kompensationsausgaben
- P7: Ausgabe Ursprung (inkl. statischer Z-Kompensation)
- P8: Ausgabe aktueller Befehl
- P9: Ausgabe Debug-Level
- P10: Ausgabe Betriebsmodus und diverse Endstopp-Angaben
Spezielle M-Codes, nur für den RF2000
- Die folgenden Befehle werden nur vom RF2000 akzeptiert, da dabei eine Funktion/Hardware angesprochen wird, die beim RF1000 standardmäßig fehlt.
M3300 - Konfigurieren der 24V FET-Ausgänge (Ein/Aus)
Parameter
- Dzt unbekannt
Bemerkung
- Ab Version RF.01.10 gültig
M3301 - Konfigurieren des 220V Ausgangs (Ein/Aus)
Parameter
- Dzt unbekannt
Bemerkung
- Ab Version RF.01.10 gültig
M3303 - Konfigurieren des RGB-Lichteffekts beim Heizen
Parameter
- Dzt unbekannt
Bemerkung
- Ab Version RF.01.10 gültig
M3304 - Konfigurieren des RGB-Lichteffekts beim Drucken
Parameter
- Dzt unbekannt
Bemerkung
- Ab Version RF.01.10 gültig
M3305 - Konfigurieren des RGB-Lichteffekts beim Abkühlen
Parameter
- Dzt unbekannt
Bemerkung
- Ab Version RF.01.10 gültig
M3306 - Konfigurieren des RGB-Lichteffekts im Leerlauf
Parameter
- Dzt unbekannt
Bemerkung
- Ab Version RF.01.10 gültig
M3306 - Konfigurieren der RGB-Lichterfarben
Parameter
- Dzt unbekannt
Bemerkung
- Ab Version RF.01.10 gültig
M3308 - RGB-Lichtmodus konfigurieren
Parameter
- Dzt unbekannt
Bemerkung
- Ab Version RF.01.10 gültig
T-Codes
Tn - Werkzeug (=Extruder) auswählen
Parameter
- [n] ... eine Ganzzahl, die 'Extrudernummer minus 1' entspricht
Beispiel
- T1 ... wählt den zweiten Extruder aus, damit werden alle folgenden Temperatur- und Extrusionsanforderungen an den zweiten Extruder gerichtet. T0 wechselt wieder zum ersten Extruder zurück.