|
|
(2 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) |
Zeile 1: |
Zeile 1: |
| ''Ich habe mich bemüht, nach bestem Wissen und Gewissen, die GCode-Befehle für den RF1000 ins Deutsche zu übersetzen.
| |
|
| |
|
| ''Alle Angaben ohne Gewähr!
| | Diese ursprüngliche Übersetzung der GCodes von mjh11 ist '''komplett überarbeitet''' worden. |
| ''
| |
| ''Der Stand der Befehle/Dokumentation entspricht der Firmware-Version 0.91.49 vom RF1000 (datiert 20141222)
| |
| ''Ich konnte einige Befehle nicht prüfen (keinen Fräser). Andere sind schlecht oder gar nicht dokumentiert und ich konnte'' ''die Syntax und/oder den Zweck nicht eruieren. | |
|
| |
|
| ''Ich werde diese Datei nicht warten bzw. pflegen. Korrekturen/Ergänzungen werden jedoch gerne entgegengenommen. Vielleicht kann ein Anderer diese einarbeiten.''
| | Die überarbeitete Version ist [[GCodes|hier]] zu finden. |
| ''
| |
| | |
| ----
| |
| <nowiki>Diese G-Codes wurden aus den Firmware-Dateien vom RF1000 erstellt
| |
| (v. 0.91.49, datiert 20141222)
| |
| | |
| | |
| Implementierte Codes im RF1k: (####### aus der Datei "Repetier.ino" #######)
| |
| | |
| Deutsche Übersetzung durch mjh11 - Alle Angaben ohne Gewähr!!
| |
| | |
| | |
| - G0 -> siehe G1
| |
| - G1 [X Y Z E F] - Koordinierte Bewegung entlang einer oder mehrerer Achsen
| |
| (X Y Z E) F ist dabei die geforderte Verfahrgeschwindigkeit
| |
| - G2 [X Y I J E F] - Kreisbogen im Uhrzeigersinn
| |
| (Dabei gilt: X= die Endpos. auf der X Achse, Y= die Endposi. auf der Y Achse
| |
| Innn= X-Koordinate des Kreismittelpunkts, Jnnn= Y-Koordinate des
| |
| Kreismittelpunkts, E= Extrusionslänge entlang des Kreisbogens, in mm und
| |
| F= Verfahrgeschwindigkeit, wobei E und F optional sind - {allerdings, ein
| |
| Kreisbogen zu fahren, OHNE Extrusion, ist sinnlos})
| |
| - G3 [X Y I J E F] - Kreisbogen gegen den Uhrzeigersinn - siehe G2
| |
| Hinweis: G2 und G3 müssen von der Slicer-Software unterstützt werden.
| |
| - G4 - Pause S<Sekunden> or P<Millisekunden>
| |
| - G20 - Einheiten der Bewegungsbefehle (G0-G2) sind in Zoll.
| |
| - G21 - Einheiten der Bewegungsbefehle (G0-G2) sind in Millimeter.
| |
| - G28 - Fahre alle Achsen (oder die bezeichnete(n)) zum Ursprung, z.B. "G28 Y0 Z0"
| |
| fährt nur in Y und Z auf "0".
| |
| !! G29 bis G32 werden scheinbar nicht unterstützt. Wozu denn auch? RF1k hat
| |
| Z-Kompensation!
| |
| X- G29 S<0..2> - Messe Z-Höhe an den 3 vor definierten Punkten. S = 1 messe
| |
| durchschn. zHöhe, S = 2 speichere durchschn. zHöhe
| |
| X- G30 P<0..3> - Messe Z-Höhe an der augenblicklichen Pos.. P = 1 erste Messung,
| |
| P = 2 letzte Messung P = 0 oder 3 : erste und letzte Messung
| |
| X- G31 - Speichere Wert des Z-Höhentasters
| |
| X- G32 S<0..2> P<0..1> - Automatische Bettausrichtung. S = 1 messe zHöhe,
| |
| S = 2 messe und speichere neue zHöhe
| |
| Entspricht in etwa "M3010" beim RF1k
| |
| !! G29 bis G32 werden scheinbar nicht unterstützt. Wozu denn auch? RF1k hat
| |
| Z-Kompensation!
| |
| - G90 - Interpretiere Koordinaten als absolut
| |
| - G91 - Interpretiere Koordinaten als relativ
| |
| - G92 [X<Wert> Y<Wert> Z<Wert> E<Wert>] - Setze die angegebene Koordinate(n) auf den
| |
| vorgegebenen Wert
| |
| Wird z.B. für die "E"-Koordinate häufig verwendet, so: "G92 E0"
| |
| !! 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.
| |
| - G131 - set extruder offset position to 0 - needed for calibration with G132
| |
| - G132 - calibrate endstop positions. Call this, after calling G131 and after
| |
| centering the extruder holder.
| |
| | |
| RepRap M Codes - Standard M-Befehle
| |
| | |
| - M104 <Snnn> - Setze Extrudertemperatur. Hier wird nicht gewartet. Die nächsten
| |
| Befehle werden unmittelbar danach abgearbeitet
| |
| - M105 - Gebe Extrudertemperatur aus (wird scheinbar auch nicht unterstützt - man
| |
| hat ja das Display)
| |
| - M106 <Sxxx> - Schalte Lüfter ein. Parameter S von 0-255 zulässig (255=100%)
| |
| - M107 - Schalte Lüfter aus (gleich wie "M106 S0")
| |
| - M109 <Snnn> - Setze Extrudertemperatur. Hier WIRD gewartet. Die nächsten Befehle
| |
| werden erst NACH erreichen der Temperatur abgearbeitet
| |
| - M111 S<0....9> - Setze Debug Level (nicht dokumentiert in der RF1k Firmware?)
| |
| - M114 - Zeige Koordinaten der augenblicklichen Position (berücksichtigt G92!!)
| |
| | |
| | |
| Custom M Codes - Spezielle M-befehle
| |
| | |
| - M20 - Liste Inhalt der SD Karte
| |
| - M21 - SD Karte initialisieren (mounten - ist nicht dasselbe wie formatieren)
| |
| - M23 <Dateiname> - Wähle Datei auf der SD Karte aus ("M23 {\Pfad\}Dateiname.gcode")
| |
| - M24 - Starte Druck von der SD-Karte, oder fahre mit Druck wieder fort
| |
| - M25 - Druck von der SD Karte pausieren
| |
| - M26 <Snnnnn> - Setze Zeiger-Position innerhalb der gewählten SD Datei in Bytes
| |
| Beispiel: "M26 S12345"
| |
| - M27 - Melde Status des Drucks von der SD Karte
| |
| - M28 <Dateiname> - Schreibe Datei auf SD Karte ("M28 {\Pfad\}Dateiname.gcode")
| |
| - M29 - Beende Schreibvorgang auf der SD Karte
| |
| - M30 <Dateiname> - Lösche Datei von der SD Karte
| |
| - M32 <Ordnername> - Erstelle Ordner/Unterordner auf der SD Karte
| |
| - M42 P<Pinnummer> S<Wert:0-255> - Ändere Output des Pins P auf den Wert S.
| |
| Funktioniert nur auf gewissen Pins.
| |
| - M80 - Netzteil einschalten (NICHT für RF1k!)
| |
| - M81 - Netzteil ausschalten (NICHT für RF1k!)
| |
| - M82 - Interpretiere Werte für den Extruder (=E-Werte) als absolute Werte
| |
| (Standardeinstellung)
| |
| - M83 - Interpretiere Werte für den Extruder als relative Werte, auch wenn im
| |
| absoluten Koordinaten-Modus (G90)
| |
| - M84 - Schrittmotore bis zur nächsten Bewegung ausschalten (stromlos setzen).
| |
| 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 <Snnn> - Setzt Zeitfenster, in Sekunden, ab dem die Motore abgeschaltet
| |
| werden. Neuerliche Eingabe mit S0 deaktiviert das Zeitfenster wieder
| |
| (S0 ist Standardvorgabe).
| |
| - M92 [X<Wert> Y<Wert> Z<Wert> E<Wert>] - Stelle Schritte pro mm für die
| |
| angegebene(n) Achse ein - Verwendung sollte nicht notwendig sein (wirklich
| |
| nur für Sonderfälle, zum Beispiel bei einer vorhandenen GCode-Datei, die
| |
| skaliert werden muss.)
| |
| - M99 S<Wartezeit> X0 Y0 Z0 - Schalte angegebene(n) Motor(en) für S-Sekunden ab,
| |
| Standardwert:10
| |
| - M104 S<temp> T<extruder> P1 F1 - Setze Extrudertemperatur, ohne Warten.
| |
| P1 = Warte bis alle vorhergehenden Bewegungen abgeschlossen sind,
| |
| F1 = piepse wenn die vorgegebene Temperatur erstmals erreicht wurde.
| |
| Single-Extruder = T0 (Bett = T1 !!)
| |
| - M105 X0 - Melde Temperaturen. X0 = zeige auch die nicht-umgerechneten digitalen
| |
| Werte. Scheinbar nicht durch RF1k unterstützt
| |
| - M112 - Not-Abschaltung
| |
| - M115 - Schreibe Firmware-String. Zeigt Firmware-Infos an.
| |
| - M116 - Warte bis alle angegebenen Temperaturen innerhalb von +/- 1° sind
| |
| - M117 <Nachricht> - Schreibe eine (kurze) Nachricht ins Display
| |
| - M119 - Melde Endschalterstatus (nicht-betätigter Schalter wird als "L" gemeldet)
| |
| - M140 S<temp> F1 - Setze Betttemperatur (OHNE Warten), mit F1 piepst es beim ersten
| |
| Erreichen der Temperatur
| |
| - M190 S<temp> - Setze Betttemperatur (hier WIRD aber gewartet)
| |
| - M201 [Xnn Ynn Znn] - Max. Beschleunigungswerte in Einheiten/s² für Druckbewegungen
| |
| Beispiel: "M201 X1000 Y1000"
| |
| - M202 [Xnn Ynn Znn] - Max. Beschleunigungswerte in Einheiten/s² für Leerfahrten
| |
| ohne Extrusion
| |
| - M203 S<temp> - Temperaturüberwachung einschalten - (Konnte beim RF1k keine Wirkung
| |
| feststellen)
| |
| - M204 - Setze PID Parameter X => Kp Y => Ki Z => Kd S<Extruder>
| |
| Standardmäßig wird der aktive Extruder angesprochen
| |
| Mit SingelExtruder: 0 = Extruder, 1 = Bett
| |
| Zum Beispiel "M204 X3752 Y1000 Z3518 S0" --> OHNE GEWÄHR
| |
| - M205 - EEPROM Werte ausgeben (Hinweis: hierfür muss der EEPROM Support in der
| |
| Configuration.h eingeschalten werden)
| |
| - M206 T[type] P[pos] [Sint(long)] [Xfloat] - Einen Wert ins EEPROM schreiben
| |
| Dazu muss man wissen welche Werte wo abgespeichert sind. EEPROM Support
| |
| in der Firmware vermutlich ebenfalls nötig. Z.B. "M206 T3 P31 X200.00"
| |
| stellt die Geschwindigkeit, mit der in Y gegen 0 gefahren wird
| |
| ('ge-homed' wird), auf 200mm/s
| |
| - M207 - X<XY 'Ruckeln'> Z<Z 'Ruckeln'> E<Extruder-'Ruckeln'> - Das 'Ruckeln' (jerk)
| |
| entsteht durch sehr rasche, abwechselnde Bewegungen, die den Drucker
| |
| aufschaukeln können. Mit Hilfe dieses Befehls schränkt man die
| |
| Geschwidigkeit der raschen Abfolge ein. Die neuen, angegebenen Werte sind
| |
| temporär, sie werden NICHT im EEPROM gespeichert.
| |
| Der RF1k, mit seiner soliden Bauweise, ist hier nicht sehr anfällig.
| |
| Beim RF1k ist der voreingestellte Wert für XY 10mm/s, für Z 20mm/s.
| |
| - M220 S<Prozent> - Verfahrgeschwindigkeitsmultiplikator, bei "M220 S50" gehts nur
| |
| mehr halb so schnell voran
| |
| - M221 S<Prozent> - Multiplikator für die Extrusionsmenge
| |
| - M231 S<OPS_MODUS> X<Min_Länge> Y<Retract> Z<Hysterese> F<RetractMove> - Stellt das
| |
| Standard-Verhalten für Retract-Vorgänge ein. (Sollte beim RF1k nicht
| |
| notwendig sein)
| |
| - M232 - Lese max. 'Vorlaufdruck'-Wert aus und setze es wieder auf 0 (der
| |
| 'Vorlaufdruck' ist ähnlich wie die 'Vorzündung' beim Otto-Motor. Da baut
| |
| der Extruder vorzeitig Druck auf, damit der Druck rechtzeitig vorhanden ist.
| |
| RF1k hat standardmässig 0 eingestellt
| |
| - M233 X<VorlaufwertK> Y<VorlaufwertL> - Stellt temporäre Werte zur
| |
| Vorlaufdrucksteuerung (siehe M232)
| |
| - M251 - Messe Anzahl der Z-Schritte (NUR FÜR DELTA-DRUCKER). S0 - Reset,
| |
| S1 - Print, S2 - Store to Z length (also EEPROM if enabled)
| |
| - M280 S<Modus> Modus 0 = Aus, 1 = Ein --> Zweck UNBEKANNT
| |
| ("Set ditto printing mode. mode: 0 = off, 1 = on")
| |
| - M300 S<Frequenz> P<Dauer> - Gibt einen Piepston aus. 'Dauer' wird in Millisekunden
| |
| angegeben. "M300 S440 P500" Gibt den Kammerton 'A' für eine halbe
| |
| Sekunde aus.
| |
| - M303 P<Extruder/Bett> S<Temperatur> X0 - Fährt ein automatisches Programm ab, wo
| |
| die PID-Werte für den Extruder oder das Bett, bei der angegebenen
| |
| Temperatur, ermittelt werden. Mit SingelExtruder: P0 = Extruder, P1 = Bett.
| |
| Mit X0 wird der Wert im EEPROM gespeichert (benötigt evtl. EEPROM Support in
| |
| der Configuration.h).
| |
| - M320 - Aktiviere automatische Bettausrichtung (wird vermutlich beim RF1k nicht
| |
| funktionieren, stattdessen "M3001" verwenden) -
| |
| - M321 - Automatische Bettausrichtung ausschalten (wird vermutlich beim RF1k nicht
| |
| funktionieren, stattdessen "M3000" verwenden)
| |
| - M322 - Matrix für Bettausrichten löschen/resetten (wird vermutlich beim RF1k nicht
| |
| funktionieren, stattdessen "M3011" verwenden)
| |
| - M340 P<servoId> S<PulsInUS> - Steuert ein zusätzliches Servo (bis zu 4 Stück)
| |
| servoID = 0..3, Servos werden per Puls angesteuert, mit Werten von 500 bis
| |
| 2500, wobei 1500ms als Wert der Mittelstellung gilt. Ein Pulswert von 0
| |
| schaltet das Servo aus.
| |
| - M350 S<mstepsAll> X<mstepsX> Y<mstepsY> Z<mstepsZ> E<mstepsE0> P<mstespE1>
| |
| - Mikro-schritte einstellen (gilt nur für RAMBO Hauptplatine)
| |
| - M400 - Warte bis alle gepufferten Befehle abgearbeitet wurden
| |
| - M401 - Speichere die augenblicklichen X, Y und Z Koordinaten
| |
| - M402 [X Y Z] - Gehe zur gespeicherten Position. Falls eine oder mehrere Achsen
| |
| angegeben wurden, werden nur diese Koordinaten verwendet.
| |
| - M500 - Speichere alle EEPROM-relevanten Werte ins EEPROM
| |
| - M501 - Lade alle EEPROM-Werte (evtl. geänderte Werte werden wieder auf EEPROM-
| |
| Werte zurückgesetzt)
| |
| - M908 - P<Addresse> S<Wert> - Strom für Schrittmotor einstellen (gilt nur für
| |
| RAMBO Hauptplatine)
| |
| | |
| | |
| | |
| #######################################################################
| |
| /* Spezielle M Codes nur für RF1000 ### Aus Datei: "RF1000.h" ###
| |
| #######################################################################
| |
| | |
| - M3000 - Z-Kompensation ausschalten
| |
| - M3001 - Z-Kompensation einschalten
| |
| - M3002 - Unterste Schrittgrenze setzen (falls weniger Schritte notwendig wären,
| |
| werden diese einfach nicht ausgeführt) Ist das richtig?
| |
| - M3003 - Maximale Schrittgrenze setzen (falls mehr Schritte notwendig wären, werden
| |
| trotzdem nur so viele gemacht) Ist das richtig?
| |
| - M3004 S<Mikroschritte> - Manueller Z-Offset (bis v.0.91.49, danach ersetzt durch
| |
| M3006)
| |
| - M3005 - Spezielle Debug-Outputs einschalten
| |
| - M3006 S<mue-Meter> - Manueller Z-Offset (ab v.0.91.49, davor gab es nur M3004)
| |
| Positive S-Werte erhöhen den Düsenabstand (das Bett bewegt sich nach
| |
| unten)
| |
| - M3007 S<mue-Meter> - Minimaler Z-Komp-Offset (ähnlich wie M3002?)
| |
| Ist das richtig?
| |
| - M3008 S<mue-Meter> - Maximaler Z-Komp-Offset (ähnlich wie M3003?)
| |
| Ist das richtig?
| |
| | |
| - M3010 - Heat Bed Scan (HBS) starten. Dabei wird die Oberfläche des Betts
| |
| abgetastet und die Lage/Form als Matrix für später gespeichert, wenn
| |
| dann M3001 verwendet wird.
| |
| - M3011 - Die unter M3010 erhaltene Matrix aus dem EEPROM löschen
| |
| - M3012 - Die Standard-HBS-Parameter wieder herstellen (falls diese mit
| |
| einem der Befehle von M3020 bis M3055 geändert wurden)
| |
| - M3013 - Die aktuelle Matrix des HBS ausgeben
| |
| | |
| | |
| Mit M3020 bis M3055 kann man die einzelnen Parameter des Bettabtastvorgangs ändern
| |
| falls dafür Bedarf besteht (analog zu, bzw. siehe auch M3160 bis M3165):
| |
| - M3020 - configure the x start position for the heat bed scan
| |
| - M3021 - configure the y start position for the heat bed scan
| |
| - M3022 - configure the x step size for the heat bed scan
| |
| - M3023 - configure the y step size for the heat bed scan
| |
| - M3024 - configure the x end position for the heat bed scan
| |
| - M3025 - configure the y end position for the heat bed scan
| |
| | |
| - M3030 - configure the fast step size for moving of the heat bed up during the
| |
| heat bed scan
| |
| - M3031 - configure the slow step size for moving of the heat bed up during the
| |
| heat bed scan
| |
| - M3032 - configure the fast step size for moving of the heat bed down during the
| |
| heat bed scan
| |
| - M3033 - configure the slow step size for moving of the heat bed down during the
| |
| heat bed scan
| |
| | |
| - M3040 - configure the delay (in ms) between two fast movements during the heat
| |
| bed scan
| |
| - M3041 - configure the delay (in ms) between two slow movements during the heat
| |
| bed scan
| |
| - M3042 - configure the delay (in ms) between reaching of a new x/y position and
| |
| the test of the idle pressure
| |
| | |
| - M3050 - configure the contact pressure delta (in digits)
| |
| - M3051 - configure the retry pressure delta (in digits)
| |
| - M3052 - configure the idle pressure tolerance (in digits)
| |
| - M3053 - configure the number of A/D converter reads per pressure measurement
| |
| - M3054 - configure the delay (in ms) between two A/D converter reads
| |
| - M3055 - configure the pressure tolerance (in digits) per pressure measurement
| |
| Mit M3020 bis M3055 kann man die einzelnen Parameter des Bettabtastvorgangs (HBS)
| |
| ändern falls dafür Bedarf besteht.
| |
| | |
| | |
| Die folgenden M-Befehle sind für die allgemeine Konfiguration zuständig
| |
| | |
| - M3070 S1 oder S2 - Druck pausieren, als ob die Pause-Taste gedrückt wurde. Dabei
| |
| gilt S1 : pausiere an der augenblicklichen Position
| |
| S2 : fahre zur vordefinierten Position (Standardposition oder mittels
| |
| M3105 definierter Position) und pausiere
| |
| - M3071 - Warte bis die Weiter-taste ('Play'-Taste) gedrückt wurde ### neu ab
| |
| v0.91.49 ###
| |
| | |
| - M3079 - Druckobjekt 'ausgeben'. Dabei wird zu einer vordefinierten Position
| |
| gefahren
| |
| - M3080 - Drucker in Parkposition fahren (definiert mittels M3103)
| |
| | |
| - M3090 - Watchdog Timer testen - dabei wird die Firmware zurückgesetzt
| |
| - M3091 - Externes EEPROM löschen
| |
| | |
| - M3100 - Einstellen, wie viele Mikroschritte sich das Bett bewegt, wenn einer der
| |
| Hardware-Tasten am Drucker betätigt wird
| |
| - M3101 - Einstellen, wie viele Mikroschritte sich der Extruderschrittmotor bewegt,
| |
| wenn einer der Hardware-Tasten am Drucker betätigt wird
| |
| - M3102 [Xnnn Ynnn Znnn Ennn] - Versatz, in Mikroschritten(!!), wo der Extruder
| |
| hinfahren soll, wenn die 'Pause' Taste gedrückt wird (ähnlich wie M3105)
| |
| - M3103 [Xnnn Ynnn Znnn] - Parkposition festlegen (siehe auch M3080)
| |
| - M3104 [Xnnn Ynnn Znnn] - Objektausgabeposition - Seit 0.91.48 NICHT MEHR VERWENDET
| |
| Diese Funktion wird durch den "OUTPUT_OBJECT_SCRIPT_PRINT" in der
| |
| Configuration.h ersetzt
| |
| - M3105 [Xnnn Ynnn Znnn Ennn] - Versatz, in Millimeter, wo der Extruder hinfahren
| |
| soll, wenn die 'Pause' Taste gedrückt wird (ähnlich wie M3102)
| |
| | |
| - M3110 - Aktuellen Statustext 'einfrieren'
| |
| | |
| - M3120 - Gehäuselüfter (unten, beim SD Kartenschlitz) einschalten
| |
| - M3121 - Gehäuselüfter (unten, beim SD Kartenschlitz) ausschalten
| |
| | |
| | |
| // Die folgenden M-Befehle gelten nur für den Modus "Fräsen" und dienen der
| |
| // Werkstückabtastung
| |
| | |
| - M3130 - Starte/beende die Suche nach 'Z=0'
| |
| | |
| - M3140 - Z-Kompensation ausschalten
| |
| - M3141 - Z-Kompensation einschalten
| |
| - M3146 S<nnn> - Manuellen Z-Offset angeben (Einheiten in mue-Meter)
| |
| - M3149 - Besorge/wähle Z-Kompensationsmatrix für das aktuelle Werkstück
| |
| | |
| - M3150 - Starten/Abbrechen der Werkstückabtastung
| |
| - M3151 - Lösche spezifizierte Werkstückabtastmatrix aus dem EEPROM
| |
| - M3152 - Setze Abtastparameter auf Standardwerte zurück (siehe M3160 bis M3165)
| |
| - M3153 - Gebe spezifizierte Werkstückabtastmatrix aus
| |
| | |
| - M3160 - Konfiguriere X Startposition für Werkstückabtastung (Einheit ist mm)
| |
| - M3161 - Konfiguriere Y Startposition für Werkstückabtastung (Einheit ist mm)
| |
| - M3162 - Konfiguriere X Schrittweite für Werkstückabtastung (Einheit ist mm)
| |
| - M3163 - Konfiguriere Y Schrittweite für Werkstückabtastung (Einheit ist mm)
| |
| - M3164 - Konfiguriere X Endposition für Werkstückabtastung (Einheit ist mm)
| |
| - M3165 - Konfiguriere Y Endposition für Werkstückabtastung (Einheit ist mm)
| |
| | |
| | |
| // Weitere M-Befehle
| |
| | |
| - M3200 - Reservirt für Test- und Debugzwecke</nowiki>
| |