G-code/it
English • العربية • български • català • čeština • Deutsch • Ελληνικά • español • فارسی • français • hrvatski • magyar • italiano • română • 日本語 • 한국어 • lietuvių • Nederlands • norsk • polski • português • русский • Türkçe • українська • 中文(中国大陆) • 中文(台灣) • עברית • azərbaycanca • |
Questa pagina cerca di descrivere il Codice-G che viene usato nei firmware RepRap, e come funzionano. L'obbiettivo principale è la fabbricazione usando i processi FFF. I codici per stampare e per il movimenti della testina seguono lo standard NIST RS274NGC G-code standard, quindi i firmware RepRap sono abbastanza utilizzabili per la fresatura CNC e applicazioni simili. Vedi anche Articolo Wikipedia sul Codice-G.
Ci sono differenti modi di creare un codice G per la stampa. Un metodo sarebbe quello di utilizzare un programma di slicing come Slic3r, Skeinforge o Cura. Questi programmi importano il modello CAD, lo "affettano" in strati, restituendo il Codice-G richiesto per stampare ogni strato. Gli Slicers sono il modo più semplice per avere parti stampabili partendo da un modello 3D , tuttavia l'utente sacrifica una certa flessibilità usandoli. Un altro modo per generarlo è utilizzando una libreria di basso livello come mecode. Le librerie come mecode danno un preciso controllo sul percorso che dovrà fare l'utensile, e quindi sono utili se si deve fare una stampa complessa che non è molto adatta da dare in pasto agli slicer. L'ultima opzione è scrivere tu stesso il Codice-G. Questa potrebbe essere la scelta migliore se hai solo bisogno di eseguire alcune linee di test durante la calibrazione della stampante.
Esistono molti firmware diversi e i loro sviluppatori tendono a implementare nuove funzionalità senza discutere strategie o guardare ciò che gli altri hanno fatto prima di loro, Diversi tipi di varianti sono stati sviluppati nel corso degli anni,specifici per la stampa 3D. Questa particolare pagina è la pagina "maestro" per RepRap. Da nessuna parte qui dovrebbe essere usato lo stesso codice per due cose diverse; ci sono sempre più numeri da usare ... La regola è: 'aggiungi qui il tuo nuovo codice, quindi implementalo' .Sfortunatamente, essendo la natura umana quella che è, le migliori procedure non sono sempre seguite, quindi esistono più usi dello stesso codice. La regola da seguire è che le nuove apparizioni di un codice su questa pagina (più tardi rispetto all'uso originale di un codice), sono deprecate e dovrebbero essere cambiate, a meno che non ci sia un buon motivo tecnico (come lo standard Codice-G) perché un'istanza successiva dovrebbe essere preferita. Nota che la chiave data qui è l'aspetto, non l'implementazione.
Contents
- 1 Introduzione
- 2 Campi
- 3 Case sensitivity
- 4 Stringhe Quotate
- 5 Commenti
- 6 Campi Speciali
- 7 Checking
- 8 Buffering
- 9 Comandi-G
- 9.1 G0 & G1: Movimento
- 9.2 G2 & G3: Movimento ad arco controllato
- 9.3 G4: Pausa
- 9.4 G6: Spostamento diretto passo-passo
- 9.5 G10: Offset dell'utensile
- 9.6 G10: Ritirare
- 9.7 G11: Spinta
- 9.8 G12: Pulizia Utensile
- 9.9 G17..19: Selezione piano (specifico CNC)
- 9.10 G20: Imposta unità in Pollici
- 9.11 G21: Imposta unità in Millimetri
- 9.12 G22 & G23: Ritrazione/Precarico Firmware
- 9.13 G26: Pattern di convalida della mesh
- 9.14 G28: Origine (Home)
- 9.15 G29: Z-Probe in Dettaglio
- 9.16 G29.1: Imposta Offset sonda Z
- 9.17 G29.2: Imposta la sonda Z calcolato dalla posizione dell'utensile
- 9.18 G30: Z-Probe Singolo
- 9.19 G31: Imposta o segnala lo stato della sonda corrente
- 9.20 G31: Dock Z Probe sled
- 9.21 G32: Probe Z e calcola il piano
- 9.22 G32: Sgancia la Sonda
- 9.23 G33: Dipendenti dal Firmware
- 9.24 G34: Imposta altezza Delta calcolata dalla posizione della testa di comando (solo DELTA)
- 9.25 G38.x Sonda diritta (specifica CNC)
- 9.25.1 G38.2 sonda verso il pezzo in lavorazione, stop sul contatto, segnale d'errore in caso di guasto
- 9.25.2 G38.3 sonda verso il pezzo, fermarsi a contatto
- 9.25.3 G38.4 sonda lontana dal pezzo in lavorazione, si ferma quando perde il contatto, segnale d'errore in caso di guasto
- 9.25.4 G38.5 sonda lontana dal pezzo in lavorazione, si ferma quando perde il contatto
- 9.26 G40: Compensazione Off (specifico CNC)
- 9.27 G42: Move to Grid Point
- 9.28 G53..59: Selezione sistema di coordinate (specifico CNC)
- 9.29 G60: Salva la posizione corrente in memoria
- 9.30 G61: Applica / ripristina le coordinate salvate sull'estrusore attivo.
- 9.31 G80: Annulla ciclo fisso (specifico per CNC)
- 9.32 G90: Imposta a Posizione Assoluta
- 9.33 G91: Imposta a Posizione Relativa
- 9.34 G92: Imposta posizione
- 9.35 G93: Modalità velocità di avanzamento (modalità tempo inverso) (specifico per CNC)
- 9.36 G94: Modalità velocità di avanzamento (unità al minuto) (specifico per CNC)
- 9.37 G100: Calibrare il raggio del pavimento o dell'asta
- 9.38 G130: Imposta valore potenziometro digitale
- 9.39 G131: Rimuovi offset
- 9.40 G132: Calibra offset dei finecorsa
- 9.41 G133: Misura i passaggi verso l'alto
- 9.42 G161: Origine assi al minimo
- 9.43 G162: Origine assi al massimo
- 10 Comandi M
- 10.1 M0: Stop o Arresto incondizionato
- 10.2 M1: Stop a riposo o condizionale
- 10.3 M2: Fine programma
- 10.4 M3: Mandrino acceso, in senso orario (specifico per CNC)
- 10.5 M4: Mandrino acceso, in senso anti-orario (specifico per CNC))
- 10.6 M5: Spegni mandrino
- 10.7 M6: Cambio "strumento"
- 10.8 M7: Accendi refrigerante (specifico per CNC)
- 10.9 M8: Liquido raffreddamento acceso (specifico CNC)
- 10.10 M9: Raffreddamento Off (specifico per CNC)
- 10.11 M10: Aspirazione on (specifico per CNC)
- 10.12 M11: Aspirazione off (specifico per CNC))
- 10.13 M17: Abilita tutti i motori stepper
- 10.14 M18: Disabilita tutti i motori stepper
- 10.15 M20: List SD card
- 10.16 M21: Inizializza scheda SD
- 10.17 M22: Rimuovi scheda SD
- 10.18 M23: Scegli file dall SD
- 10.19 M24: Avvia / riprendi la stampa SD
- 10.20 M25: Pausa stampa SD
- 10.21 M26: Imposta posizione SD
- 10.22 M27: Riporta lo stato di stampa su SD
- 10.23 M28: Iniziare a scrivere su scheda SD
- 10.24 M29: Ferma scrittura su scheda SD
- 10.25 M30: Cancella un file sull' SD
Introduzione
Una tipica stringa di Codice-G usato in RepRap può essere così:
N3 T0*57 N4 G92 E0*67 N5 G28*22 N6 G1 F1500.0*82 N7 G1 X2.0 Y2.0 F3000.0*85 N8 G1 X3.0 Y3.0*33
Il Codice-G può anche essere messo su schede SD. Un file che contiene il Codice-G RepRap ha solitamente l'estensione .g
, .gco
o .gcode
.
I file per BFB/RapMan hanno come estensione .bfb
.
Un file prodotto da un slicer potrebbe assomigliare a questo:
G92 E0 G28 G1 F1500 G1 X2.0 Y2.0 F3000 G1 X3.0 Y3.0
Il significato di tutti i simboli e numeri (ed altro) è spiegato sotto.
Gli slicers potranno (opzionalmente) aggiungere scripts all'inizio e alla fine al file finale,per fare specifiche azioni prima e/o dopo ogni stampa,come azzerare l'asse Z al piano di stampa, riscaldare/raffreddare il piano o l'hotend, l'esecuzione di routine "pulizia ugello" all'inizio , cambiare lo stato on/off, ed eventualmente "espellere" parti. Più informazioni in Start GCode routines e End GCode routines .
Per scoprire quali specifici Gcode sono implementati in un determinato firmware, ci sono alcune tabelle allegate alle descrizioni dei comandi, come questa:
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Partial | ??? | ??? | ??? | ??? | Experimental | Deprecated | ??? | Partial | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | No | ??? | Yes | ??? | Yes | Automatic | ??? | ??? |
Che significa:
- {{si}}
- Il Codice-G è completamente supportato dal firmware.
- {{partial}} or {{experimental}}
- C'è un po di supporto per il Codice-G. Spesso è necessario controllare il codice sorgente del firmware (di solito memorizzato in un sorgente diverso) o capovolgere gli interruttori di configurazione sulla scheda madre.
- {{automatico}}
- Il firmware gestisce questo Codice-G automaticamente, quindi non è necessario inviare il comando. Un esempio è l'accensione / spegnimento dell'alimentatore Codice-G (M80 / M81) nel firmware Teacup.
- {{???}}
- Non è noto se il firmware supporta questo Codice-G. Si consiglia di testarlo da soli prima di utilizzarlo in produzione.
- {{no}}
- Il firmware non supporta questo Codice-G.
- {{deprecato}}
- Il firmware ha deprecato questo Codice-G. Gli autori del firmware dovrebbero modificare il codice-G deprecato in questa pagina con soluzioni alternative (se necessario) e l'ultima versione del firmware supportata che accetterà questo Codice-G.
Per gli utenti più "tecnici", le terminazioni di linea del Codice-G sono Unix Line Endings ( \ n </ code>), ma accetteranno i fine linea di Windows (<code> \ r \ n </ code>), quindi non è necessario preoccuparsi della conversione tra i due, ma è preferibile utilizzare Unix Line Endings ove possibile.
Campi
Un Codice-G RepRap è un elenco di campi separati da spazi bianchi o interruzioni di riga. Un campo può essere interpretato come un comando, parametro, o per qualsiasi altro scopo speciale. Consiste di una lettera seguita direttamente da un numero o può essere solo una lettera autonoma (Flag). La lettera fornisce informazioni sul significato del campo (vedere l'elenco di seguito in questa sezione). I numeri possono essere numeri interi (128) o frazionari (12.42), a seconda del contesto. Ad esempio, una coordinata X può assumere numeri interi (<code> X175 </ code>) o frazionali (<code> X17.62 </ code>), ma selezionare il numero di estrusore 2.76 non avrebbe senso. In questa descrizione, i numeri nei campi sono rappresentati da <code> nnn </ code> come segnaposto.
Nel firmware RepRap, alcuni parametri possono essere seguiti da più di un numero, con i due punti utilizzati per separarli. Tipicamente questo è usato per specificare i parametri dell'estrusore, con un valore fornito per estrusore. Se viene fornito un solo valore in cui è necessario un valore per ciascun estrusore, tale valore viene applicato a tutti gli estrusori.
Lettera | Significato |
---|---|
Gnnn | Comando Codice-G standard, come movimento in un punto |
Mnnn | Comando definito da RepRap, come accendere una ventola |
Tnnn | Selezione strumento nnn. In RepRap, uno strumento è in genere associato a un ugello, che può essere alimentato da uno o più estrusori. |
Snnn | Comando parametro, come tempo in seconndi; temperature; voltaggio da mandare al motore |
Pnnn | Comando parametro, come tempo in millisecondi; proporzionale (Kp) in PID Tuning |
Xnnn | Una coordinata X, solitamente da muovere. Questo può essere un numero intero o un numero frazionario. |
Ynnn | Una coordinata Y, solitamente da muovere. Questo può essere un numero intero o un numero frazionario. |
Znnn | Una coordinata Z, solitamente da muovere. Questo può essere un numero intero o un numero frazionario. |
U,V,W | Coordinate di assi aggiuntivi (RepRapFirmware) |
Innn | Parametro - X-offset in un movimento ad arco; integrale (Ki) in PID Tuning |
Jnnn | Parametro - Y-offset in un movimento ad arco |
Dnnn | Parametro - usato per il diametro; derivato (Kd) in PID Tuning |
Hnnn | Parametro - utilizzato per il numero di riscaldatore in PID Tuning |
Fnnn | Avanzamento (feedrate) in mm al minuto. (Velocità del movimento della testina di stampa) |
Rnnn | Parametro - usato per le temperature |
Qnnn | Parametro - attualmente non usato |
Ennn | Lunghezza da estrudere. Esattamente come X, Y e Z, ma per la lunghezza del filamento da consumare. |
Nnnn | Numero di linea. Utilizzato per richiedere la ripetizione della trasmissione in caso di errori di comunicazione. |
*nnn | Checksum. Usato per controllare errori nella comunicazione. |
Case sensitivity
Lo standard originale NIST Codice-G richiede che l'interprete del Codice-G sia case-insensitive, tranne per i commmenti. Tuttavia, non tutti i firmware di stampanti 3D sono conformi a questo e alcuni riconoscono solo lettere di comando in maiuscolo e parametri.
- Firmwares che son conosciuti come case-insensitive
- RepRapFirmware versione 1.19 e successive (tranne all'interno di stringhe citate)
- Firmwares che son conosciuti come case-sensitive
- RepRapFirmware version 1.18 e precedenti
Stringhe Quotate
Nel firmware RepRap, alcuni comandi supportano la stringa quotata quando si forniscono nomi di file e altri parametri di stringa. Questo permette nomi di file, WiFi password etc. di contenere spazi, semicolonne e altri caratteri che non sarebbero permessi. I caratteri a doppia virgola vengono utilizzati per delimitare la stringa e ogni carattere in doppia virgoletta all'interno della stringa deve essere ripetuto.
Sfortunatamente, alcuni programmi che mandano il Codice-G convertono tutti i caratteri in maiuscolo non permettendo di cambiare questa funzione. Pertanto, all'interno di una stringa quotata, il carattere a virgoletta singola viene utilizzato come flag per forzare il seguente carattere in lettere minuscole. Se si desidera includere un carattere in virgoletta singola nella stringa, utilizzare due virgolette singole per rappresentare un singolo carattere di virgoletta.
Esempio: per aggiungere SSID MYROUTER con la password <code>ABCxyz;" 123 alla lista delle reti WiFi, usa il comando:
M587 S"MYROUTER" P"ABCxyz;"" 123"
o se non puoi mandare caratteri minuscoli:
M587 S"MYROUTER" P"ABC'X'Y'Z;"" 123"
Commenti
I commenti nel Codice-G, iniziano con un punto e virgola e terminano alla fine della riga:
N3 T0*57 ; Questo è un commento N4 G92 E0*67 ; Quindi è così N5 G28*22
Alcuni firmware obbediscono anche allo standard Codice-G del CNC, che consiste nel racchiudere i commenti tra parentesi tonde. I commenti di questo modulo devono iniziare e terminare sulla stessa riga:
(Origine assi) G28 (qui l'asse da mandare a fare lo zero) X Y
Commenti e spazi bianchi saranno ignorati dalla tua stampante RepRap. È meglio lasciarli sul computer host prima di inviare il Codice-G alla stampante, in quanto ciò consente di risparmiare larghezza di banda.
Campi Speciali
N: Line number
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes | Yes | ??? | ??? | ??? | Yes | ??? | ??? | Yes | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | Yes | ??? | Yes | Yes | Yes | Yes | ??? | ??? |
- Esempio
N123
Se presente, il numero di riga dovrebbe essere il primo campo di una riga. Per il codice G memorizzato nei file su schede SD, il numero di riga viene generalmente omesso.
Se il controllo è supportato, il firmware RepRap prevede che i numeri di riga aumentino di 1 ogni riga e, se ciò non accade, viene contrassegnato come un errore. Ma puoi resettare il conteggio usando M110 </ code> (vedi sotto).
Sebbene supportato, l'utilizzo di N in Machinekit è scoraggiato in quanto non serve a nulla.
*: Checksum
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes | Yes | ??? | ??? | ??? | Yes | ??? | ??? | Yes | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | Yes | ??? | Yes | ??? | No | Yes | ??? | ??? |
Esempio: <code>*71
Se presente, il checksum dovrebbe essere l'ultimo campo di una riga, ma prima di un commento. Per il codice G memorizzato nei file su schede SD, il checksum viene generalmente omesso.
Il firmware confronta il checksum con un valore calcolato localmente. Se differiscono, richiede una ripetizione della trasmissione della linea.
Checking
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes | Yes | ??? | ??? | ??? | Yes | ??? | ??? | Yes | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | Yes | ??? | Yes | ??? | No | Yes | ??? | ??? |
- Esempio
N123 [...G Code qui...] *71
Il firmware RepRap controlla il numero di riga e il checksum. Puoi lasciare entrambi fuori - RepRap funzionerà ancora, ma non controllerà. Devi avere entrambi o nessuno dei due però. Se appare solo uno, produce un errore.
Il checksum "cs" per una stringa Codice-G "cmd" (compreso il suo numero di riga) viene calcolato esorizzando i byte nella stringa fino a e non includendo il carattere * come segue:
int cs = 0; for(i = 0; cmd[i] != '*' && cmd[i] != NULL; i++) cs = cs ^ cmd[i]; cs &= 0xff; // Programmazione difensiva...
e il valore viene aggiunto come intero decimale al comando dopo il carattere *.
Buffering
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes | Yes | ??? | ??? | ??? | ??? | ??? | ??? | Yes | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
Yes | ??? | ??? | Yes | ??? | Yes | Yes | ??? | ??? |
Se è supportato il buffering, il firmware RepRap memorizza internamente alcuni comandi in un ring buffer per l'esecuzione. Ciò significa che non vi è alcun ritardo (apprezzabile) mentre un comando viene riconosciuto e il successivo trasmesso. A sua volta, ciò significa che le sequenze di segmenti di linea possono essere tracciate senza una pausa tra l'una e l'altra. Non appena viene ricevuto uno di questi comandi buffer, viene riconosciuto e memorizzato localmente. Se il buffer locale è pieno, il riconoscimento viene ritardato finché non è disponibile spazio per la memorizzazione nel buffer. Ecco come si ottiene il controllo del flusso.
In genere, i seguenti comandi di spostamento sono memorizzati nel buffer: G0
-G3
e G28
-G32
. Il Teacup Firmware fa da buffer anche questi comandi: G20
, G21
, G90
e G91
. Tutti gli altri G
, M
o T
non vengono bufferati.
RepRapFirmware implementa anche una coda interna per garantire che determinati codici (come M106) siano eseguiti nell'ordine corretto e non quando l'ultima mossa è stata aggiunta alla coda look-ahead.
Quando viene ricevuto un comando senza buffer, viene memorizzato, ma non viene riconosciuto all'host fino a quando il buffer non viene esaurito e quindi il comando è stato eseguito. Quindi l'host si fermerà su uno di questi comandi finché non sarà stato eseguito. Brevi pause tra questi comandi e quelli che potrebbero seguirli non influiscono sulle prestazioni della macchina.
Comandi-G
G0 & G1: Movimento
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes | Yes | ??? | ??? | ??? | Yes | Yes | ??? | Yes | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | ??? | Yes |
-
G0
: Movimento rapido lineare -
G1
: Movimento lineare
- Uso
G0 Xnnn Ynnn Znnn Ennn Fnnn Snnn
G1 Xnnn Ynnn Znnn Ennn Fnnn Snnn
- Parametri
- Not tutti i parametri hanno bisogno di essere usati, ma almeno uno dev'essere usato
Xnnn
La posizione in cui spostarsi sull'asse XYnnn
La posizione in cui spostarsi sull'asse YZnnn
La posizione in cui spostarsi sull'asse ZEnnn
La quantità da estrudere tra il punto iniziale e il punto finaleFnnn
L'avanzamento al minuto del movimento tra il punto iniziale e il punto finale (se fornito)Snnn
Contrassegna per verificare se è stato toccato un fine corsa (S1
controllare,S0
ignorare,S2
vedi nota, il valore predefinito èS0
)1- Esempi
G0 X12 ; Muovi di 12mm sull'asse X G0 F1500 ; Imposta l'avanzamento a 1500mm/minuto G1 X90.6 Y13.8 E22.4 ; Muovi di 90.6mm sull'asse X e 13.8mm sulla Y mentre estrudi 22.4mm di materiale
Le specifiche del firmware RepRap considerano G0
e G1
come lo stesso comando, poiché è altrettanto efficiente che non farlo. 2
La maggior parte dei firmware RepRap fa cose sottili con gli avanzamenti
G1 F1500 ; Imposta avanzamento a 1500mm/m G1 X50 Y25.3 E22.4 ; Muovi ed estrudi
Nell'esempio sopra, per prima cosa impostiamo la velocità di avanzamento su 1500mm / m, quindi spostiamoci su 50mm su X e 25.3mm su Y mentre estrai 22.4mm di filamento tra i due punti.
G1 F1500 ; Avanzamento 1500mm/m G1 X50 Y25.3 E22.4 F3000 ; Accelerazione a 3000mm/m
Tuttavia, nell'esempio sopra, impostiamo una velocità di avanzamento di 1500 mm / m, quindi eseguiamo la stessa mossa, ma accelerando a 3000 mm / m. Tutto rimane sincronizzato, quindi l'estrusione accelera proprio con il movimento X e Y.
La specifica RepRap considera l'avanzamento come semplicemente un'altra variabile (come X, Y, Z ed E) da interpolare linearmente. Ciò consente il controllo completo dell'accelerazione e della decelerazione della testina della stampante in modo tale da garantire che tutto si muova armoniosamente e il giusto volume di materiale venga estruso in tutti i punti. 3
Per invertire l'estrusore di una certa quantità (ad esempio per ridurne la pressione interna mentre fa un movimento in aria in modo da non dribblare) usa semplicemente G0
o G1
per inviare un valore E
inferiore alla lunghezza attualmente estrusa.
- Note
1Alcuni firmware consentono a RepRap di abilitare o disabilitare il "rilevamento" di fermi durante una mossa. Si prega di verificare quale firmware si sta utilizzando per vedere se supporta il parametro <codice>S</code> in questo modo, in quanto si può verificare un danno se si assume erroneamente. In RepRapFirmware, l'utilizzo del parametro S1
o S2
su una stampante delta fa sì che i parametri XYZ
facciano riferimento alle singole posizioni del motore della torre anziché alla posizione testina, e per abilitare il rilevamento endstop anche se il parametro è S1
2Nella specifica RS274NGC, G0
è Movimento Rapido, che è stato utilizzato per spostarsi tra il punto corrente nello spazio e il nuovo punto nel modo più rapido ed efficiente possibile ed G1
è Movimento Controllato, che è stato utilizzato per spostarsi tra il punto corrente nello spazio e il nuovo punto nel modo più preciso possibile
3Alcuni firmware potrebbero non supportare l'impostazione della velocità di avanzamento in linea con un movimento.
4RepRapFirmware fornisce un Parametro aggiuntivo 'R1' per dire alla macchina di tornare alle coordinate su cui una stampa era stata precedentemente messa in pausa. Se si utilizza questo parametro e il codice contiene lettere di assi, verrà aggiunto un offset alle coordinate di pausa (e.g. G1 R1 Z5
).
Alcune macchine più vecchie, CNC o meno, si muovevano più velocemente se non si muovevano in linea retta. Questo vale anche per alcune stampanti non cartesiane, come quelle delta o polari, che si muovono più facilmente e più velocemente in una curva.
G2 & G3: Movimento ad arco controllato
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes1 | No | ??? | ??? | ??? | Yes | Yes | ??? | Yes | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
Yes | Yes | No | No | Yes | Experimental | No | ??? | ??? |
- Uso
G2 Xnnn Ynnn Innn Jnnn Ennn Fnnn
(Arco orario)G3 Xnnn Ynnn Innn Jnnn Ennn Fnnn
(Arco antiorario)- Parametri
Xnnn
La posizione in cui spostarsi sull'asse X.Ynnn
La posizione in cui spostarsi sull'asse Y.Innn
Il punto nello spazio X dalla posizione X corrente dalla quale mantenere una distanza costanteJnnn
Il punto nello spazio Y dalla posizione Y corrente dalla quale mantenere una distanza costanteEnnn
La quantità da estrudere tra il punto iniziale e il punto finaleFnnn
L'avanzamento al minuto del movimento tra il punto iniziale e il punto finale (se fornito)- Esempi
G2 X90.6 Y13.8 I5 J10 E22.4
(Spostati in un arco in senso orario dal punto corrente al punto (X=90.6,Y=13.8), con il punto centrale a (X=current_X+5, Y=current_Y+10), estrudendo 22.4mm di materiale fra inizio e fine)
G3 X90.6 Y13.8 I5 J10 E22.4
(Spostati in un arco in senso antiorario dal punto corrente al punto (X=90.6,Y=13.8), con il punto centrale a (X=current_X+5, Y=current_Y+10), estrudendo 22.4mm di materiale fra inizio e fine)
- Note
1Nel firmware Marlin non implementato per stampanti 'DELTA' e 'SCARA'
G4: Pausa
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes | Yes | ??? | ??? | ??? | Yes | Yes | ??? | Yes | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | ??? | Yes |
Metti in pausa per un tot di tempo.
- Parametri
Pnnn
Tempo d'attesa, in millisecondi (In Teacup, P0, aspetta finchè tutti i precedenti movimenti siano finiti)Snnn
Tempo d'attesa, in secondi (Solo su Repetier, Marlin, Smoothieware, e RepRapFirmware 1.16 e successivi)- Esempio
G4 P200
In questo caso, non si sta ancora facendo nulla per 200 millisecondi. Durante i ritardi lo stato della macchina (ad esempio le temperature dei suoi estrusori) sarà comunque conservato e controllato.
Su Marlin, Smoothie e RepRapFirmware, il parametro "S" attenderà per secondi, mentre il parametro "P" attenderà per millisecondi. "G4 S2" e "G4 P2000" sono equivalenti.
G6: Spostamento diretto passo-passo
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
No | Use G1 S2 | ??? | ??? | ??? | No | No | ??? | No | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
No | No | No | No | No | No | No | ??? | No |
Eseguire direttamente uno spostamento sincronizzato diretto, non interpolato e non cinematico di uno o più stepper. Le unità possono essere lineari (ad es., Mm o pollici su DELTA
) o specificate in gradi (SCARA). Questo comando è utile per l'inizializzazione, la diagnostica e la calibrazione e dovrebbe essere disabilitato sulle apparecchiature di produzione. Questo tipo di movimento può essere potenzialmente pericoloso, in particolare per i deltabot, pertanto le implementazioni dovrebbero fare del loro meglio per limitare il movimento per evitare di effettuare dei tiri e danneggiare il gruppo del carrello.
- Parametri
Annn
Stepper A posizione o angoloBnnn
Stepper B posizione o angoloCnnn
Stepper C posizione o angoloR
Flag di movimento relativo- SCARA Esempio
G6 A45 ; Muovi SCARA A stepper alla posizione 45° G6 B20 R ; Muovi SCARA B stepper 20° antiorario
- DELTA Esempio
G6 C10 R ; Muovi DELTA C trasportando fino a 10mm
G10: Offset dell'utensile
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
No | Yes | ??? | ??? | ??? | No | No | ??? | No | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | No | No | No | Yes | No | No | ??? | ??? |
- Uso
G10 Pnnn Xnnn Ynnn Znnn Rnnn Snnn
1- Parametri
Pnnn
Numero utensileXnnn
X offsetYnnn
Y offsetU,V,Wnnn
assi U, V e W offsets5Znnn
Z offset2Rnnn
Temperatura StandbySnnn
Temperatura attiva- Esempi
G10 P2 X17.8 Y-19.3 Z0.0
(imposta l'offset per lo strumento (o nella testa di estrusione delle implementazioni precedenti) 2 sui valori X, Y e Z specificati)
G10 P1 R140 S205
(impostare la modalità standby e le temperature attive3 per l'utensile 1)
Ricordare che qualsiasi Parametro che non si specifica verrà automaticamente impostato sull'ultimo valore per quel Parametro. Questo di solito significa che vuoi impostare esplicitamente Z0.0. RepRapFirmware riporterà lo strumento Parametros se è specificato solo il numero dell'utensile.
Il significato preciso dei valori X, Y (e altri offset) è: senza offset questo strumento è a questo punto rispetto a dove uno strumento con offset (0, 0, 0) sarebbe . Quindi se lo strumento è a 10mm a sinistra di uno strumento di offset a zero, il valore X sarebbe -10, e così via.
Il valore R
è la temperatura di standby in o C che verrà utilizzata per lo strumento e il valore S
è la sua temperatura operativa. Se non si desidera che lo strumento abbia una temperatura diversa quando non è in uso, impostare entrambi i valori allo stesso modo. Vedi Codice T (seleziona strumento) sotto. Negli utensili con più riscaldatori vengono specificate le temperature per tutte: R100.0: 90.0: 20.0 S185.0: 200.0: 150.0.
Vedi anche M585
.
- Note
1Marlin usa G10/G11 per eseguire una mossa di ritrazione / unretraction. La versione di RepRapPro di Marlin supporta G10
per l'offset dell'utensile. Smoothie usa G10
per ritrarre e G10 Ln
per impostare le coordinate dell'area di lavoro.
2Di solito è una cattiva idea inserire un valore Z
diverso da zero a meno che gli strumenti non vengano caricati e scaricati da qualche tipo di cambio utensile o su carrelli indipendenti. Quando tutti gli strumenti sono nella macchina in una volta, dovrebbero essere tutti impostati sulla stessa altezza Z.
3Se la temperatura zero assoluta (-273,15) viene passata come temperatura attiva e di standby, RepRapFirmware spegne solo il riscaldatore / gli utensili senza modificare le temperature predefinite attive o di standby. RepRapFirmware-dc42 non supporta questa impostazione.
4Il NIST G-code standard dice di un aggiuntivo L
Parametro che è ignorato (tranne in smoothie). Questo comando è subject to discusyeson.
5Gli offset utensile vengono applicati dopo aver eseguito una mappatura dell'asse X. Pertanto, se ad esempio si esegue il mapping da X a U nel comando M563
per creare lo strumento, è necessario specificare un offset U non un offset X. Se si mappa X su entrambi X e U, è possibile specificare entrambi gli offset.
G10: Ritirare
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes | dc42,ch | ??? | ??? | ??? | Yes: 0.92 | Yes | ??? | Yes | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | No | No | No | No | No | No | ??? | ??? |
- Parametri
Snnn
ritrarre la lunghezza (S1 = ritrazione lunga, S0 = ritrazione breve = default) (Solo Repetier)- Esempio
G10
Ritira il filamento secondo le impostazioni diM207
(Marlin, RepRapFirmware) o secondo il valore S
(Repetier).
RepRapFirmware riconosce G10
come un comando per impostare gli offset e / o le temperature degli strumenti se è presente il parametro P
e come comando di retrazione se è assente.
G11: Spinta
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes | dc42,ch | ??? | ??? | ??? | Yes: 0.92 | Yes | ??? | Yes | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | No | No | No | No | No | No | ??? | ??? |
- Parametri
Snnn
lunghezza ritiro (S1 = ritiro lungo, S0 = ritiro breve = default) (Solo Repetier)- Esempio
G11
Recupera il filamento secondo M208
(Marlin, RepRapFirmware) o secondo il valore S
(Repetier).
G12: Pulizia Utensile
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes: 1.1.0 | via macro feature | ??? | ??? | ??? | No | No | ??? | Yes | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | No | No | No | No | No | No | ??? | ??? |
- Uso
[P<0|1>] [S<count>] [T<count>]
G12 Pnnn Snnn Tnnn
- Parametri
Pnnn
1 Seleziona stile del motivoSnnn
Numero di colpi (cioè movimenti avanti e indietro)Tnnn
Numbeo di ripetizioni- Esempi
G12 ; motivo a colpi (default)
Per generare un motivo a zig-zag a tre triangoli che verrà tratteggiato tre volte, utilizzare il seguente comando. G12 P1 S3 T2; motivo a zig-zag con 2 triangoli
- Note
1In Marlin firmware e Mk4duo questo è implementato da comportamenti firmware Come definito nelle variabili NOZZLE_CLEAN_STROKES, NOZZLE_CLEAN_START_POINT, NOZZLE_CLEAN_END_POINT e NOZZLE_CLEAN_PARK.
Con NOZZLE_CLEAN_PARK abilitato, l'ugello ritornerà automaticamente alla posizione XYZ dopo che G12 è stato eseguito.
Ulteriori informazioni su questo comportamento sono documentate dentro il codice sorgente.
G17..19: Selezione piano (specifico CNC)
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes:1.1.4 | No | ??? | ??? | ??? | ??? | ??? | ??? | No | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
Yes | ??? | ??? | ??? | Yes | No | ??? | ??? | ??? |
Questi codici impostano il piano corrente come segue:
-
G17
: XY (default) -
G18
: ZX -
G19
: YZ
Questa modalità applica a G2
/G3
movimenti circolari. I normali movimenti circolari sono nel piano XY e per la maggior parte delle applicazioni è tutto ciò che serve. Per il routing CNC può essere utile eseguire piccole mosse di "scavo" durante i tagli, quindi per mantenere il codice compatto, usa gli archi G2
/ G3
che coinvolgono il piano Z.
Questi comandi sono supportati in Marlin 1.1.4 e versioni successive con ARC_SUPPORT
e CNC_WORKSPACE_PLANES
abilitati.
G20: Imposta unità in Pollici
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes | Yes | ??? | ??? | ??? | Yes | Yes | ??? | Yes | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
Yes | Yes | No | Yes | Yes | No | Yes | ??? | ??? |
- Esempio
G20
D'ora in poi tutta le unità di misura saranno in pollici.
G21: Imposta unità in Millimetri
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes | Yes | ??? | ??? | ??? | Yes | Yes | ??? | Yes | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | ??? | ??? |
- Esempio
G21
D'ora in poi tutta le unità di misura saranno in pollici. (Questo è di default in RepRap.)
G22 & G23: Ritrazione/Precarico Firmware
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
No | No | ??? | ??? | ??? | No | No | ??? | No | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | No | No | No | Yes | No | No | ??? | ??? |
- Uso
G22 ; Ritrazione
G23 ; Precarico
Ci si affida al firmware della macchina per eseguire il movimento di retrazione/precarico, invece di farlo generare dallo slicer G1
dell'asse E. La lunghezza di ritrazione/precarico e la velocità viene gestita dal firmware della macchina.
G26: Pattern di convalida della mesh
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes: 1.1.0 | No | ??? | ??? | ??? | No | No | ??? | No | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
No | No | No | No | No | No | No | ??? | No |
- Uso
G26 C P O2.25 ; Fa una tipica sequenza di test
Il G26
è progettato per essere utilizzato in combinazione con vari sistemi di livellamento del letto – quelli che si adattano per un letto non uniforme - piuttosto che appena inclinato. Il comando G26
stampa un pattern di livello sull'intero letto di stampa, fornendo una chiara indicazione di quanto accuratamente ogni punto mesh sia definito. G26
può essere usato per determinare quali aree della mesh non sono perfette e quanto regolare ciascun punto di mesh.
G26
ha un ampio elenco di funzionalità, incluso un test integrato che estrude il materiale sul letto. Di default questo è configurato per le temperature del PLA e un ugello di 0,4 mm. (Questo sarà regolabile a breve in Marlin.)
Vedi G26_Mesh_Validation_Tool.cpp
file nel codice sorgente Malin,per la piena documentazione sul parametro G26
G28: Origine (Home)
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes | Yes | ??? | ??? | ??? | Yes | Yes | ??? | Yes1 | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | ??? | Yes |
- Parametri
- Questo comando può essere usato senza parametri aggiuntivi.
X
Contrassegna per tornare all'origine dell'asse X.Y
Contrassegna per tornare all'origine dell'asse Y.Z
Contrassegna per tornare all'origine dell'asse Z.- Esempi
G28 ; Origine tutti gli assi G28 X Z ; Origine X e Z
Quando il firmware riceve questo comando, sposta rapidamente gli assi specificati (o tutti gli assi se non ne viene dato nessuno) ai punti di arresto, arretra da ciascun punto di arresto di una breve distanza e ritocca lentamente l'arresto per aumentare la precisione della posizione. Questo processo, noto come "'Homing' '", è necessario per determinare il finecorsa del piatto/i di stampa. Alcuni firmware possono persino vietare il movimento lontano dai finecorsa e da altre operazioni fino a quando gli assi non sono stati mandati in origine.
X
, Y
, e Z
vengono usati come contrassegno. Qualsiasi coordinata data sarà ignorata. Per esempio, G28 Z10
da lo stesso risultato di G28 Z
. Le stampanti Delta non possono mandare in origine un singolo asse, ma manderà in origine tutti e 3, quindi X Y Z
saranno semplicemente ignorati da queste macchine.
Il firmware Marlin (versione 1.1.0 e successive) hanno un opzione chiamata Z_SAFE_HOMING
per le stampanti che usano un sensore al posto del fine corsa. Con questa opzione, gli assi XY fanno l'origine per primi, poi il piatto si sposta in una posizione –solitamente al centro– dove la Z scende e può prendere il suo zero.
RepRapFirmware utilizza file macro per l'origine di tutti gli assi o di singoli assi. Se tutti gli assi sono azzerati, il file homeall.g
è processato. Per gli assi individuali sarà utilizzato homex.g
, homey.g
, o homez.g
. Sulle stampanti Delta,il comando G28
sposterà sempre in origine tutte e tre le torri homedelta.g
indipendentemente dai parametri X
Y
Z
Perché il comportamento G28
non è specificato, è consigliabile 'non' includere automaticamente G28
alla fine del tuo Codice-G. Sulle cartesiane andrà a danneggiare l'oggetto in stampa. Se hai bisogno di muovere il piano alla fine della stampa,usa G0
oppure G1
.
- Note
1 MK4duo ha il parametro B
che dice alla stampante di ritornare alle coordinate precedenti all homing.
2 L'Originale Prusa i3 Mk2/Mk3 supporta il codice W
per sopprimere il livellamento del piatto con mash. Se W
è omesso, G28 manderà in homing gli assi e farà il livellamento.
G29: Z-Probe in Dettaglio
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes | 1.17 and later | ??? | ??? | ??? | Yes: 0.91.7 | No, see G32 | ??? | Yes | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | No | No | No | Yes | Yes | No | ??? | ??? |
Questo comando utilizza una sonda per misurare l'altezza del letto in 3 o più punti per determinarne l'inclinazione e la planarità complessiva. Abilita quindi la compensazione in modo che l'ugello rimanga parallelo al letto. La stampante deve essere preparata con G28
prima di utilizzare questo comando.
Ogni firmware si comporta in modo diverso e dipende da come è stato configurato il livellamento del piatto. Ad esempio, Marlin 1.0.2 offre 3 diversi tipi di livellamento automatico del letto (sonda richiesta) e un'opzione di livellamento manuale del letto. Consultare la documentazione del firmware per le opzioni specifiche disponibili.
- Uso
G29
G29 Snnn
- Parametri
Snnn
Comportamento dipendente dal firmwarePfile.csv
Nome file opzionale per il file mappa dell'altezza del letto (Solo RepRapFirmware)- Esempi
G29 ; Sonda il letto e attiva la compensazione G29 S2 ; Operazione speciale - vedi sotto G29 P1 ; UBL sondaggio automatico - vedi sotto
G29 Livellamento automatico piatto (Marlin)
Marlin 1.0.2 e precedenti, offre tre opzioni per il livellamento automatico del letto:
- Il metodo a 3 punti sonda il letto in tre punti per produrre una matrice, adattandosi a un letto piatto ma inclinato.
- Il metodo di griglia planare (non-Delta) sonda uno schema a griglia per produrre una matrice con il metodo dei "minimi quadrati", adattandosi a un letto piatto ma inclinato.
- Il metodo della griglia bilineare (solo Delta) sonda uno schema a griglia per produrre una mesh, usando l'interpolazione bilineare per adattarsi a un letto irregolare.
Marlin 1.1.0 e successivi consente il metodo della griglia bilineare (cioè "mesh") da utilizzare su tutti i tipi di macchine, non solo sui delta. 'Questo è il metodo di livellamento raccomandato in futuro.'
Anche in Marlin 1.1.0 e versioni successive, l'opzione PROBE_MANUALLY
consente di utilizzare tutte le forme di Auto Bed Leveling senza un probe. La procedura è sìmilar a quella di MESH_BED_LEVELING
(vedi sotto). Iniziare il processo con G29
per spostare l'ugello sul primo punto. Regola l'asse Z usando G1
o il tuo software host. Invia di nuovo <codice>G29</code> per passare al punto successivo e ripetere fino a quando tutti i punti sono stati campionati.
- Parametri
P
Imposta la dimensione della griglia che verrà sondata (punti P x P). Non supportato dal livellamento del piano della stampante delta non lineare. Esempio:G29 P4
S
Impostare la velocità di spostamento XY tra i punti sonda (in unità / min)D
Modalità a secco. Basta valutare la topologia del letto - Non applicare o pulire la matrice di rotazione. Utile per verificare la topologia dopo una prima esecuzione di G29.V
Imposta il livello di verbosità (0-4). Esempio:G29 V3
T
Genera un report sulla topologia del letto. Esempio:G29 P5 T
per un rapporto dettagliato. Questo è utile per il livellamento manuale del letto e per la ricerca di difetti nel letto (in caso contrario con il posizionamento delle parti). Non supportato dal livellamento del piano della stampante delta non lineare.F
Impostare il limite anteriore della griglia di ispezioneB
Impostare il limite posteriore della griglia di ispezioneL
Impostare il limite sinistro della griglia di ispezioneR
Impostare il limite destro della griglia di ispezione
- Parametri Globali
E
di defaultG29
si innesterà la sonda Z, testerà il letto, quindi si disinnesterà. MettendoE
oE1
innesta/disinnesta la sonda Z per ciascun campione. (Questo non ha effetto per le sonde fisse.)
G29 Livellamento del letto unificato (UBL) (Marlin)
Il firmware Marlin (vesione 1.1.0 e versioni successive) include l'opzione AUTO_BED_LEVELING_UBL
. UBL combina il livellamento della mesh, la regolazione del piano inclinato, il livellamento a 3 punti e gli strumenti di modifica manuale tutti insieme in un pacchetto. Per fare così tanto, UBL sovraccarica `G29` con diversi nuovi parametri e fornisce una funzione aggiuntiva di Ottimizzazione della Mesh con G26
.
Vedi il sito per la sezione dedicata e la documentazione completa [http://marlinfw.org/docs/Codice-G/G029-ubl.html `G29` per UBL e `G26` Validazione Mesh.
- G29 UBL Parametri (sinossi)
A Activate Attiva il sistema UBL. (i.e., M420 S1) D Disable dIsattiva il sistema UBL. (i.e., M420 S0) B# Business Eseguire la ricerca manuale nella modalità Business Card. H# Height Altezza per sollevare l'ugello dopo ogni sondaggio manuale del letto. C Continue Continua, Costante, o posizione corrente, a seconda della fase. E Every Riporre la sonda dopo ogni punto campionato. F# Fade Compensazione del livellamento di dissolvenza gradualmente, fino a quando non cessa all'altezza indicata. I# Invalidate Invalidare un numero specificato di punti mesh (X e Y). J# Grid Esegui un livellamento a griglia (planare) della mesh corrente, cercando una griglia con n punti su un lato. K# Kompare Confronta (diff) mesh corrente con Mesh # memorizzato, sostituendo la mesh corrente con il risultato. L Load Carica Mesh dalla posizione precedentemente attivata nella EEPROM. L# Load Carica Mesh dalla posizione specificata nella EEPROM. S Store Memorizza la mesh corrente nell'area attivata dell'EEPROM. Salva anche tutte le impostazioni. S # Store Memorizza la mesh corrente nell'area specificata in EEPROM, impostata come area attivata. S -1 Store Memorizzare la mesh corrente come una stampa adatta per essere reimmessa nel sistema. O Map Visualizza la topologia della mappa delle mesh. P0 Phase 0 Azzera i dati e disattiva il sistema di compensazione della mesh. P1 Phase 1 Invalidate la mesh e fate il Probing automatico per generare nuovi dati Mesh. P2 Phase 2 Sonda le aree non popolate della mesh (quelle che non potevano essere auto-sondate). P3 Phase 3 Riunisci punti Mesh non popolati con un valore fisso. Nessuna 'C' per l'estrapolazione "riempimento intelligente". P4 Phase 4 Metti a punto la mesh. ** Delta Mesh Compensation richiede un pannello LCD. ** P5 Phase 5 Trova altezza media della mesh e della deviazione standard. P6 Phase 6 Spostare l'altezza della mesh. Tutti i punti Mesh sono regolati dalla quantità specificata con 'C'. Q Test Carica il modello di test specificato per controllare il funzionamento del sistema. R # Repeat Ripeti il comando il numero specificato di volte. Predefinito: punti della griglia X * Y. T 3-Point Eseguire un livellamento del letto a 3 punti sulla mesh corrente. U Unlevel Eseguire una sonda del perimetro esterno per assisterti nel livellamento fisico del letto. W What? Stampa un rapporto UBL dei dati memorizzati. X # La posizione X per il comando Y # La posizione Y per il comando Z Zero Eseguire un sondaggio singolo per impostare l'altezza Z dell'ugello Z # Zero Alzare / abbassare l'intera mesh per conformarsi alla differenza specificata (plus zprobe_zoffset).
G29 Livellamento Manuale (Marlin)
Il firmware Marlin (versione 1.0.2 e successive) fornisce anche una funzione MESH_BED_LEVELING
che può essere utilizzata per eseguire il livellamento del letto su macchine prive di sonda. Questa forma di livellamento del letto compensa l'altezza Z non uniforme attraverso la superficie del letto, utilizzando una maglia e un'interpolazione bilineare.
- Utilizzo manuale del livellamento del letto
G29 S1; Passare al primo punto e attendere una misurazione G29 S2; Memorizza la Z attuale, passa al punto successivo G29 S3 Xn Yn Zn.nn; Modifica l'altezza Z di un punto singolo
- Opzioni per
S
-
S0
Produce un report mesh -
S1
Inizia a sondare i punti di mesh -
S2
Sonda il prossimo punto di mesh -
S3 Xn Yn Zn.nn
Modifica manualmente un punto singolo -
S4 Zn.nn
Imposta l'offset z. Positivo lontano dal letto, negativo vicino al letto.
G29 Livellamento Automatico (Repetier-Firmware)
Nel firmware Repetier dalla v0.91 supporta il G29
con il parametro Snnn opzionale come descritto di seguito. Utile per rilevare in modo univoco l'angolo del piano Z in modo da poter regolare manualmente il tuo letto e portarlo il più vicino possibile al piano. Se si desidera applicare la compensazione del piano Z in automatico, G32
con firmware 0.92.8 e successivi.
-
S0
Valore predefinito. Le altezze del letto Z sono calcolate nei punti misurati, rispetto all'attuale Z prima di emettereG29
. -
S1
Uguale aS0
, eccetto che la stampante si sposta immediatamente sulla massima posizione di Z (Z max endstop richiesto!) e calcola la nuova altezza massima Z. Prima di emettereG29 Snnn
eG29 Snnn
devi prima dare unG28 Z
affinché funzioni correttamente, altrimenti l'altezza della stampante non sarà valida. -
S2
ComeS1
, eccetto che la nuova altezza Z calcolata viene anche memorizzata in EEPROM.
G29 Compensazione Automatica(RepRapFirmware)
RepRapFirmware:
S0
(default senzaS
) Sonda il letto, salva la mappa dell'altezza in un file sulla scheda SD e attiva la mappa dell'altezza. La cartella predefinita per il file mappa altezza è/ sys
e il nome file predefinito èheightmap.csv
.-
S1
Carica la mappa dell'altezza dal file e attiva la compensazione del letto. La cartella e il nome file predefiniti come perS0
. -
S2
Cancella la mappa dell'altezza del letto attualmente caricata
Per definire la griglia, vedi M557.
G29.1: Imposta Offset sonda Z
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
No | No | ??? | ??? | ??? | No | No | ??? | No | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | No | No | No | Yes | No | No | ??? | ??? |
- Esempio
G29.1 X30 Y20 Z0.5
Imposta l'offset della testa della sonda Z. L'offset sarà sottratto da tutte le mosse della sonda.
G29.2: Imposta la sonda Z calcolato dalla posizione dell'utensile
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
No | No | ??? | ??? | ??? | No | No | ??? | No | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | No | No | No | Yes | No | No | ??? | ??? |
- Esempio
G29.2 Z0.0
L'offset sarà sottratto da tutte le mosse della sonda. Il valore calcolato viene ricavato dalla distanza della testa utensile dal punto zero dell'asse attuale.
In genere, l'utente posiziona la testa utensile sul punto zero dell'asse ed emette il comando G29.2
.
G30: Z-Probe Singolo
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes | Yes | ??? | ??? | ??? | Yes | Yes | ??? | Yes1 | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | No | No | No | Yes | Yes | use G28 & G92 | ??? | ??? |
- Uso
G30 Pnnn Xnnn Ynnn Znnn Hnnn Snnn
- Parametri
Pnnn
Numero punto sondaggioXnnn
Coordinata XYnnn
Coordinata YZnnn
Coordinata ZHnnn
Correzzione altezzaSnnn
Imposta Parametro- Esempio
G30
- Esempi (RepRapFirmware)
G30 ; Sonda il piano alla posizione corrente XY. Quando viene attivato, imposta la coordinata Z all'altezza sonda. G30 S-1 ; Sonda il piano alla posizione corrente XY. Quando viene attivato, non regola la Z. G30 P0 X20 Y50 Z-99999 ; Sonda il piano a X20 Y50 salva XY e l'errore dell'altezza come punto 0. G30 P3 X180 Y180 Z-99999 S4 ; Sonda il piano a X180 Y180, salva XY e l'errore d'altezza come punto 3 calcolando una compensazione su 4 punti. G30 P3 X180 Y180 Z-99999 S-1 ; Come il precedente,ma riporta solo l'errore dell'altezza
Nella sua forma più semplice sonda il letto nella posizione corrente XY.
RepRapFirmware supporta un comportamento aggiuntivo: se nel campo Pn
è specificato il punto X
, Y
, e Z
i valori vengono salvati come punto n sul piano per calcolare il piano di offset o per eseguire la calibrazione della stampante delta. Se X
, Y
, o Z
vengono specificati (e.g. G30 P1 X20 Y50 Z0.3
) allora quei valori sono usati al posto delle coordinate correnti della macchina. Il valore Z
(meno di -9999.0) fa sì che la macchina esegua la ricerca nel punto corrente per ottenere Z, anziché utilizzare il valore specificato. Se viene specificato un parametro S (e.g. G30 P1 Z0.3 S
) il piano letto è calcolato per la compensazione e memorizzato. La combinazione di queste opzioni consente di spostare la macchina in punti utilizzando G1
e poi sondare il letto, o per l'utente di posizionare l'ugello in modo interattivo e utilizzare quelle coordinate. L'utente può anche registrare quei valori e inserirli in un file G e di impostarlo per l'esecuzione automatica.
RepRapFirmware utilizza il valore del parametro S
per specificare quale calcolo eseguire. Se il valore è -1, vengono stampati gli offset Z di tutti i punti rilevati, ma non viene eseguita alcuna calibrazione. Se il valore è zero o non presente, questo specifica che il numero di fattori da calibrare è uguale al numero di punti rilevati. Altrimenti, il valore indica il numero di fattori da calibrare, che non deve essere maggiore del numero di punti rilevati. A partire da 1.09, il numero di fattori può essere 3, 4 o 5 quando si esegue la compensazione automatica del letto su una stampante Cartesiana o CoreXY e 3, 4, 6 o 7 quando si esegue la calibrazione automatica di una stampante Delta.
RepRapFirmware supporta un parametro H
facoltativo, che è una correzione dell'altezza per quel punto sonda. Permette alla sonda Z di avere un'altezza che varia con il posizionamento XY. L'altezza di innesco nominale della sonda Z (ad es. Al centro del letto) è dichiarata nel parametro Z
del comando G31
nel file config.g. Quando si sonda usando G30
e trigger probe, il firmware assumerà che l'ugello si trovi all'altezza del trigger nominale più il valore che si ha nel parametro H
.
1MK4duo Firmware supporta un parametro opzionale per l'autocalibrazione delle Delta.
- Uso
G30 Xnnn Ynnn Znnn Annn E R I D T S U
- Parametri
Xnnn
X coordinateYnnn
Y coordinateZnnn
Z coordinateAnnn
A larghezza autocalibrazione in nnn precisioneE
aggiusta EndstopR
aggiusta Endstop & raggio deltaI
aggiusta torreD
aggiusta barra diagonaleT
aggiusta raggio della torreSn
Ferma il sondaggio se 1 (default=1)Un
<bool> con un valore diverso da zero applicherà il risultato allo zprobe_zoffset corrente.
G31: Imposta o segnala lo stato della sonda corrente
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
No | Yes | ??? | ??? | ??? | Yes: 0.91.7 | Yes | ??? | No | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | No | No | No | No | No | No | ??? | ??? |
- Uso
G31 Pnnn Xnnn Ynnn Znnn Cnnn Snnn
- Parametri
Pnnn
Valore di triggerXnnn
Sonda X offset1Ynnn
Sonda Y offset1Znnn
Trigger Z altezzaCnnn
Coefficiente temperatura2Snnn
Calibrazione temperatura2Tnnn
(RepRapFirmware 1.17 e successive) Tipo di sonda Z a cui si applicano questi Parametri, per default il tipo di sonda Z attuale come definito daM558 P
Parametri
- Esempi
G31 P500 Z2.6 G31 X16.0 Y1.5
Se utilizzato da solo, segnala se la sonda Z è attivata o fornisce il valore della sonda Z in alcune unità se il probe genera valori di altezza. Se combinato con un campo Z e P (esempio: G31 P312 Z0.7
) questo imposta l'altezza Z su 0.7mm quando il valore della sonda Z raggiunge 312 quando G28 Z0 </codice> (zero asse Z) viene inviato il comando. La macchina quindi si sposterà di un ulteriore -0.7mm in Z per posizionarsi su Z = 0. Ciò consente alle sonde di misura senza contatto, di avvicinarsi, ma non toccare il letto. Se la sonda è un tastatore e genera un semplice segnale 0/1 off / on , quindi <code> G31 Z0.7
dirà alla macchina RepRap che è a un'altezza di 0,7 mm quando la sonda viene attivata .
n RepRapFirmware, è possibile definire i parametri G31
separati per diversi tipi di sonde (ad esempio 0 + 4 per gli interruttori, 1 + 2 per le sonde IR e 3 per i sensori alternativi). Per specificare quale sonda si sta configurando, inviare un comando M558 per selezionare il tipo di sonda prima di inviare il comando G31
, oppure usare il T
.
In Repetier, G31
non supporta parametri e semplicemente stampa lo stato alto / basso della sonda Z.
- Notes
1Gli offset X e Y della sonda Z rispetto alla testina di stampa (ad esempio il posizionamento quando lo strumento vuoto è selezionato) possono essere specificati in RepRapFirmware. Ciò consente di calcolare le coordinate della sonda in base alla geometria del letto, senza doverle correggere per l'offset X e Y della sonda Z.
2 </ sup> In RepRapFirmware, 'S' addizionale (temperatura del letto in o C in cui il parametro Z
specificato è corretto, il valore predefinito è la temperatura attuale del letto ) e 'C' (coefficiente di temperatura di Z
Parametro in mm / o </ sup> C, zero di default) può essere impostato per il sensore alternativo (ad ultrasuoni). Questo è utile per le sonde che sono influenzate dalla temperatura. Questa funzione è deprecata e probabilmente verrà rimossa in futuro su RepRapFirmware.
G31: Dock Z Probe sled
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes | No | ??? | ??? | ??? | ??? | No | ??? | Yes | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | No | No | No | No | Yes | No | ??? | ??? |
G32: Probe Z e calcola il piano
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
No: See G29 | Yes | ??? | ??? | ??? | Yes: 0.92.8 | Yes | ??? | No | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | No | No | No | No | No | No | ??? | ??? |
- Uso
G32 ; Sonda e calcola G32 Snnn ; Ogni firmware ha i suoi parametri G32 Snnn Pnnn ; Fare riferimento alla documentazione specifica
Questo comando è implementato come una forma più sofisticata di livellamento del letto (che utilizza una matrice di trasformazione o una correzione motorizzata. Smoothieware utilizza questo codice invece di`G29`.
Ogni firmware si comporta diversamente. Ad esempio, il firmware Repetier consente la rotazione motorizzata del letto mentre ReprapFirmware sonda il letto con una matrice di trasformazione.
Sonda e calcola in Reprapfirmware
RepRapFirmware esegue il file macro bed.g
in risposta al comando G31.
Sonda e calcola in Repetier firmware
Questo comando sonda il letto in 3 o più punti predefiniti e implementa la compensazione del livellamento del letto spostando l'asse A durante la stampa (come con il normale livellamento del letto, G29
) o inclinando il letto con i motori.
- Parametri
Snnn
Metodo di livellamento del lettoPnnn
Metodo di correzione del letto
I valori per Snnn e Pnnn sono i seguenti:
S0
Questo metodo misura nei 3 punti sonda e crea un piano attraverso questi punti. Se hai un letto veramente planare questo dà il risultato ottimale. I 3 punti non devono essere in una linea e avere una lunga distanza per aumentare la stabilità numerica.S1
Questo misura una griglia. Il punto di sonda 1 è l'origine ei punti 2 e 3 si estendono su una griglia. Misuriamo i punti BED_LEVELING_GRID_SIZE in ciascuna direzione e calcoliamo un piano di regressione attraverso tutti i punti. Questo dà un buon piano generale se si hanno piccoli urti che misurano inesattezze.S2
Piegatura che corregge la misurazione a 4 punti. Questo è per i letti a sbalzo che hanno l'asse di rotazione non al punto di partenza ma in quello del letto. Qui possiamo supporre che non ci siano flessioni sull'asse e una flessione simmetrica ad entrambi i lati. Quindi i punti di tastatura 2 e 3 creano l'asse simmetrico e il punto 1 viene specchiato a 1 m attraverso l'asse. Se si osserva la simmetria, rimuoveremo il piegamento da 1 e lo useremo come piano.P0
Usa una matrice di rotazione. In questo modo l'asse z si sposta verso l'alto / il basso mentre si sposta in direzione x / y per compensare l'inclinazione. Per più estrusori, assicurarsi che l'altezza corrisponda all'inclinazione del letto o che si possa graffiare. Questa è l'impostazione predefinita.P1
Correzione motorizzata. Questo metodo richiede un letto fissato su 3 punti da cui 2 hanno un motore per cambiare l'altezza. I posizionamenti sono definiti nel firmware da BED_MOTOR_1_X, BED_MOTOR_1_Y, BED_MOTOR_2_X, BED_MOTOR_2_Y, BED_MOTOR_3_X, BED_MOTOR_3_Y. I motori 2 e 3 sono quelli azionati dal driver motore 0 e 1. Questi possono essere motori aggiuntivi come Felix Pro 1 li utilizza o un sistema con 3 assi z dove i motori possono essere controllati individualmente come fa Sparkcube. Questo metodo richiede un endstop Z max.
G32: Sgancia la Sonda
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes | No | ??? | ??? | ??? | ??? | No | ??? | Yes | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | No | No | No | No | Yes | No | ??? | ??? |
G33: Dipendenti dal Firmware
G33: Misurazione / Elenco / aggiusta matrice di distorsione (Repetier - Redeem)
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
No | No | ??? | ??? | ??? | Yes: v0.92.8 | No | ??? | No | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | No | No | No | No | Yes | No | ??? | ??? |
- Uso
G33
G33 Lnnn
G33 Rnnn
G33 Xnnn Ynnn Znnn
- Parametri
L0
Elenca la matrice di distorsione in un reportR0
Reimposta matrice di distorsioneX[pos] Y[pos] Z[zCorrection]
Imposta la correzione per il punto più vicino- Esempi
G33 G33 R0
Quando usato senza parametri, G33
misurerà una griglia di punti e memorizzerà le distorsioni e le valli di distorsione nella superficie del letto, quindi abiliterà la correzione della distorsione del software per i primi o più livelli. I valori saranno memorizzati in EEPROM se abilitati nel firmware. In precedenza devi avere G28
come home, e la tua altezza minima / massima Z deve essere impostata correttamente affinché funzioni. Utilizzare i Parametri opzionali per elencare, ripristinare o modificare le impostazioni di distorsione. Il comportamento di correzione della distorsione può essere successivamente attivato o disattivato dal codice M323
.
G33: Delta Auto Calibrazione (Marlin 1.1.x or MK4duo)
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes | Use G32 | ??? | ??? | ??? | No | No | ??? | Yes | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
No | No | No | No | No | No | No | ??? | No |
Lo z-offset viene impostato facendo una sonda e un test cartaceo al centro (P-1) (Marlin 1.1.9);
Le correzioni di fine corsa e angolo di rotazione sono normalizzate (P0);
Esegue una calibrazione a punti 1-4-7 dell'altezza delta '(P1)' , fine corsa, raggio delta '(P2)' e correzioni dell'angolo della torre '(P> = 3) 'con un processo di iterazione dei minimi quadrati basato sul metodo di spostamento.
- Uso
G33
G33 S Pn T Cx.xx Fn Vn E
- Parametros
S
Modalità di installazione (Marlin 1.1.9): Attenzione:disabilita la protezione della sondaPn
Numero di punti sonda: n * n (n = -1 -> 10), quando P viene omesso viene utilizzato il set predefinito in Configuration.h.T
Non calibrare le correzioni dell'angolo della torre (se usato con P> = 3); non usare i punti sonda vicino alle torri, ma la sonda punta opposite alle torri (se usato con P = 2)Cx.xx
Forza le iterazioni per fermarsi quando viene raggiunta una deviazione standard dal piano zero inferiore a x.xx mm; quando C viene omesso, le iterazioni continuano finché non viene raggiunta la migliore deviazione standard possibile.Fn
Forza di eseguire almeno n iterazioni (n = 1-30) ed ottenere il miglior risultatoVn
Livello verboso: (n = 0-3) 0 = corsa a secco senza calibrazione; 1 (predefinito) = impostazioni all'inizio e alla fine; 2 = impostazioni a tutte le iterazioni; 3 = impostazioni e risultati sondaE
Impiega la sonda per ogni punto- Esempi
G33 : calibra con le impostazioni predefinite. G33 Auto Calibrate Checking... AC .Height:297.77 Ex:+0.00 Ey:+0.00 Ez:+0.00 Radius:100.00 .Tower angle : Tx:+0.00 Ty:+0.00 Tz:+0.00 Iteration : 01 std dev:0.306 Iteration : 02 std dev:0.049 Iteration : 03 std dev:0.033 Iteration : 04 std dev:0.031 Calibration OK rolling back. .Height:297.69 Ex:-0.10 Ey:-0.12 Ez:+0.00 Radius:100.91 .Tower angle : Tx:-0.03 Ty:+0.25 Tz:+0.00 Salva con M500 e/o copia in Configuration.h
G33 P6 V0 : sonda 36 punti in modalità di funzionamento a secco. G33 Auto Calibrate Checking... AC (DRY-RUN) .Height:297.77 Ex:+0.00 Ey:+0.00 Ez:+0.00 Radius:100.00 .Tower angle : Tx:+0.00 Ty:+0.00 Tz:+0.00 . c:+0.03 x:+0.32 y:+0.34 z:+0.41 . yz:+0.37 zx:+0.32 xy:+0.17 End DRY-RUN std dev:0.306
G33 P4 C0.05 T : sonde 16 punti e ' 'si ferma quando viene raggiunta una deviazione standard di 0.05mm;' calibra altezza delta, finecorsa e raggio delta, ' lascia inalterate le correzioni dell'angolo della torre G33 Auto Calibrate Checking... AC .Height:297.78 Ex:+0.00 Ey:+0.00 Ez:+0.00 Radius:100.00 Iteration : 01 std dev:0.317 Iteration : 02 std dev:0.059 Calibration OK std dev:0.042 .Height:297.66 Ex:-0.17 Ey:-0.13 Ez:+0.00 Radius:100.91 Salva con M500 e/o copia in Configuration.h
'G33 P2: centro sonde e posizioni torre e'
calibra altezza delta, finecorsa e raggio delta. ' G33 Auto Calibrate Checking... AC .Height:297.78 Ex:+0.00 Ey:+0.00 Ez:+0.00 Radius:100.00 Iteration : 01 std dev:0.374 Iteration : 02 std dev:0.054 Iteration : 03 std dev:0.007 Calibration OK rolling back. .Height:297.68 Ex:-0.14 Ey:-0.14 Ez:+0.00 Radius:101.23 Salva con M500 e/o copia in Configuration.h
'G33 P1: sonda il centro e calibra solo l'altezza delta.'
G33 Auto Calibrate Checking... AC .Height:261.40 Offset:+0.30 Calibration OK std dev:0.000 .Height:261.58 Offset:+0.10 Salva con M500 e/o copia in Configuration.h
nota: Altezza = altezza delta; Ex, Ey, Ez = correzioni end-stop; Raggio = raggio delta; Tx, Ty, Tz = correzioni angolari della torre; c, x, y, z, yz, zx, xy = risultati della sonda al centro, torri e opposite alle torri; std dev = deviazione standard dei risultati della sonda verso il piano zero.
G34: Imposta altezza Delta calcolata dalla posizione della testa di comando (solo DELTA)
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
No | No | ??? | ??? | ??? | ??? | No | ??? | Yes | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
No | ??? | ??? | ??? | ??? | No | ??? | ??? | ??? |
- Esempio
G34
I valori specificati vengono aggiunti alla posizione di fine corsa calcolata quando gli assi sono referenziati. Il valore calcolato viene ricavato dalla distanza della testa utensile dal punto zero dell'asse attuale.
In genere, l'utente posiziona la testa utensile sul punto zero dell'asse e impartisce il comando G34
.
Questo valore può essere salvato su EEPROM usando il comando M500
.
G38.x Sonda diritta (specifica CNC)
G38.2 sonda verso il pezzo in lavorazione, stop sul contatto, segnale d'errore in caso di guasto
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes: 1.1.0 | No | ??? | ??? | ??? | ??? | Yes | ??? | No | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
Yes | ??? | ??? | ??? | ??? | No | ??? | ??? | ??? |
G38.3 sonda verso il pezzo, fermarsi a contatto
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes: 1.1.0 | No | ??? | ??? | ??? | ??? | Yes | ??? | No | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
Yes | ??? | ??? | ??? | ??? | No | ??? | ??? | ??? |
G38.4 sonda lontana dal pezzo in lavorazione, si ferma quando perde il contatto, segnale d'errore in caso di guasto
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
??? | No | ??? | ??? | ??? | ??? | ??? | ??? | No | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
Yes | ??? | ??? | ??? | ??? | No | ??? | ??? | ??? |
G38.5 sonda lontana dal pezzo in lavorazione, si ferma quando perde il contatto
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
??? | No | ??? | ??? | ??? | ??? | ??? | ??? | No | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
Yes | ??? | ??? | ??? | ??? | No | ??? | ??? | ??? |
G40: Compensazione Off (specifico CNC)
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
No | No | ??? | ??? | ??? | ??? | No | ??? | No | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
Yes | ??? | ??? | ??? | Yes | No | ??? | ??? | ??? |
G40
disattiva la compensazione della fresa. Se la compensazione utensile è stata sulla prossima mossa deve essere una mossa lineare e più lunga del diametro dell'utensile. È OK disattivare la compensazione quando è già disattivata.
G42: Move to Grid Point
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes: 1.1.2 | No | ??? | ??? | ??? | No | No | ??? | No | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
No | No | No | No | No | No | No | ??? | No |
G42
fa una mossa veloce in XY a qualsiasi punto di intersezione nella griglia di calibrazione del letto. Questo è utile durante la calibrazione per allineare l'ugello o la sonda.
- Parametri
Inn
Indice griglia X (a base zero). Se omesso, la latitudine più vicina.Jnn
Indice griglia Y (a base zero). Se omesso, la latitudine più vicina.P
Bandiera della sonda Sposta la sonda nel punto della griglia (invece dell'ugello).Fnnn
Avanzamento (mm/m)- Esempio
G42 I3 J4 P F3000 ; Spostare la sonda sulla coordinata della griglia 3, 4
G53..59: Selezione sistema di coordinate (specifico CNC)
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
No | 1.21 and later | ??? | ??? | ??? | ??? | Yes | ??? | No | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
Yes | ??? | ??? | ??? | Yes | No | ??? | ??? | ??? |
See linuxcnc.org per altro aiuto
G60: Salva la posizione corrente in memoria
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
??? | 1.21 and later | ??? | ??? | ??? | ??? | ??? | ??? | Yes | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | ??? | ??? | ??? | ??? | ??? | ??? | ??? | ??? |
- Uso
G60 Snn
- Parametri
Snn
<nn> specifica lo slot di memoria # (basato su 0) per salvare(predefinito 0)
Implementazione in RepRapFirmware:
- Sono disponibili solo gli slot 0, 1 e 2. Quando una stampa viene messa in pausa, le coordinate vengono salvate automaticamente nello slot 1 e, all'inizio di uno strumento, le coordinate vengono salvate automaticamente nello slot 2. Usare G0 o G1 con il parametro R0, R1 o R2 per spostare lo strumento corrente su una posizione salvata.
G61: Applica / ripristina le coordinate salvate sull'estrusore attivo.
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
??? | Use G0 or G1 with R Parametro | ??? | ??? | ??? | ??? | ??? | ??? | Yes | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | ??? | ??? | ??? | ??? | ??? | ??? | ??? | ??? |
- Uso
G61 Xnnn Ynnn Znnn Ennn Fnnn Snn
- Parametri
Xnnn
X coordinateYnnn
Y coordinateZnnn
Z coordinateEnnn
E coordinateFnnn
F Imposta avanzamentoSnn
S specifica slot memoria # (0-based)
G80: Annulla ciclo fisso (specifico per CNC)
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
??? | No | ??? | ??? | ??? | ??? | ??? | ??? | No | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
Yes | ??? | ??? | ??? | ??? | No | ??? | ??? | ??? |
Annulla il movimento modale del ciclo fisso. G80 fa parte del gruppo modale 1, pertanto la programmazione di qualsiasi altro codice G dal gruppo modale 1 annullerà anche il ciclo fisso.
G90: Imposta a Posizione Assoluta
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes | Yes | ??? | ??? | ??? | Yes | Yes | ??? | Yes | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | ??? | Yes |
- Esempio
G90
Tutte le coordinate da ora in poi sono assolute rispetto all'origine della macchina. (Questa è l'impostazione predefinita di RepRap.)
G91: Imposta a Posizione Relativa
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes | Yes | ??? | ??? | ??? | Yes | Yes | ??? | Yes | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
Yes | Yes | No | Yes | Yes | Yes | Yes | ??? | Yes |
- Esempio
G91
Tutte le coordinate da ora in poi sono relative all'ultimo posizione. Nota: il firmware più recente di RevRapFirmware utilizza M83
per impostare l'estrusore sulla modalità relativa: l'estrusore NON è impostato su relativo su ReprapFirmware con G91
: solo X, Y e Z sono impostati su relativi. Al contrario, Marlin (ad esempio) NON imposta anche l'estrusore con il comando G91
, oltre a impostare X, Y e Z.
G92: Imposta posizione
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes | Yes | ??? | ??? | ??? | Yes | Yes | ??? | Yes | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | ??? | Yes |
- Parametri
- Questo comando può essere utilizzato senza alcun parametro aggiuntivo.
Xnnn
Nuova posizione XYnnn
Nuova posizione YZnnn
Nuova posizione ZEnnn
Nuova posizione estrusore- Esempio
G92 X10 E90
Consente la programmazione del punto zero assoluto, resettando il valore corrente della poszione ai valori specificati. Ciò imposterà la coordinata X della macchina a 10 e la coordinata di estrusione a 90. Non si verificherà alcun movimento fisico.
G92 </ code> senza coordinate resetterà tutti gli assi a zero su alcuni firmware. Questo non si applica a RepRapFirmware.
G92.x: Ripristina offset coordinate di sistema (specifico CNC)
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
??? | No | ??? | ??? | ??? | ??? | Yes | ??? | No | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
Yes | ??? | ??? | ??? | ??? | No | ??? | ??? | ??? |
- <code>G92.1 - Azzera gli offset degli assi a zero e imposta i parametri 5211 - 5219 su zero. (X Y Z A B C U V W)
-
G92.2
- Azzera gli offset degli assi a zero.
G93: Modalità velocità di avanzamento (modalità tempo inverso) (specifico per CNC)
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
??? | No | ??? | ??? | ??? | ??? | ??? | ??? | No | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
Yes | ??? | ??? | ??? | ??? | No | ??? | ??? | ??? |
G93è la modalità tempo inverso. Nella modalità di velocità di avanzamento a tempo inverso, la lettera F indica che il movimento deve essere completato in (uno diviso per il numero F) minuti. Ad esempio, se il numero F è 2.0, la mossa dovrebbe essere completata in mezzo minuto.
Quando la modalità di velocità di avanzamento del tempo inverso è attiva, una lettera F deve apparire su ogni linea che ha code>G1</code>, G2
, o G3
movimento, e una F su una linea che non ha G1
, G2
, o G3
è ignorato. Nella modalità di velocità di avanzamento del tempo inverso non influisce G0
sui movimenti in rapido.
G94: Modalità velocità di avanzamento (unità al minuto) (specifico per CNC)
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
??? | No | ??? | ??? | ??? | ??? | ??? | ??? | No | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
Yes | ??? | ??? | ??? | ??? | No | ??? | ??? | ??? |
G94 è la modalità di unità al minuto. Nella modalità di avanzamento unità per minuto, la F viene interpretata per indicare che il punto controllato deve spostarsi a un determinato numero di pollici al minuto, millimetri al minuto o gradi al minuto, a seconda di quale unità di lunghezza viene utilizzata e quale asse o assi si stanno muovendo.
G100: Calibrare il raggio del pavimento o dell'asta
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
No | No | ??? | ??? | ??? | Yes: 0.92 | No | ??? | No | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | No | No | No | No | No | No | ??? | ??? |
- Parametri
X
Contrassegna per impostare il piano per l'asse X.Y
Contrassegna per impostare il piano per l'asse Y.Z
Contrassegna per impostare il piano per l'asse Z.Rnnn
Raggio d'aggiungere- Esempi
G100 X Y Z ; imposta il piano per argomento passato. Numero ignorato e può essere assente. G100 R5 ; Aggiungi 5 al raggio. aggiusta per sopra il pavimento se necessario G100 R0 ; Imposta raggio sulla base della misurazione z attuale. Sposta tutti gli assi a zero
G130: Imposta valore potenziometro digitale
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
No | No | ??? | ??? | ??? | No | No | ??? | No | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | No | No | No | No | No | No | ??? | Yes |
- Esempio
G130 X10 Y18 Z15 A20 B12
Imposta il valore del potenziometro digitale per gli assi forniti. Questo è usato per configurare la corrente applicata a ciascun asse stepper. Il valore è specificato come valore da 0 a 127; la mappatura dal valore corrente a quello del potentimetro è specifica della macchina.
G131: Rimuovi offset
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
No | No | ??? | ??? | ??? | Yes: 0.91 | No | ??? | No | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | No | No | No | No | No | No | ??? | ??? |
G132: Calibra offset dei finecorsa
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
No | No | ??? | ??? | ??? | Yes: 0.91 | No | ??? | No | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | No | No | No | No | No | No | ??? | ??? |
G133: Misura i passaggi verso l'alto
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
No | No | ??? | ??? | ??? | Yes: 0.91 | No | ??? | No | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | No | No | No | No | No | No | ??? | ??? |
G161: Origine assi al minimo
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
No | No | ??? | ??? | ??? | No | No | ??? | No | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | No | No | No | No | No | Yes | ??? | Yes |
- Parametri
X
Contrassegna origine asse X alla minima posizioneY
Contrassegna origine asse Y alla minima posizioneZ
Contrassegna origine asse Z alla minima posizioneFnnn
Avanzamento desiderato per questo parametro- Esempio
G161 X Y Z F1800
Indica alla macchina di portare a origine gli assi specificati nella loro posizione minima. Simile a G28
, che decide autonomamente in quale direzione cercare gli endstop.
G162: Origine assi al massimo
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
No | No | ??? | ??? | ??? | No | No | ??? | No | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | No | No | No | No | No | Yes | ??? | Yes |
Come per G161
solo che manda in origine nella posizione massima
Comandi M
M0: Stop o Arresto incondizionato
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes | Yes | ??? | ??? | ??? | No | No | ??? | Yes | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
Yes | No | No | Yes | Yes | No | Yes | ??? | ??? |
- Parametri
- Questo comando può essere usato così com'è.
Pnnn
Tempo di attesa, in millisecondi1Snnn
Tempo di attesa, in secondi2- Esempio
M0
La macchina RepRap termina eventuali spostamenti rimasti nel suo buffer, quindi si spegne. Tutti i motori e i riscaldatori sono spenti. Può essere riavviato premendo il pulsante di reset sul microcontrollore, anche se questo passo non è obbligatorio su RepRapFirmware. Guarda anche M1
, M112
.
Il firmware Marlin attende che l'utente prema un pulsante sul display LCD o in un momento specifico. "M0 P2000" attende 2000 millisecondi, "M0 S2" attende 2 secondi.
RepRapFirmware esegue il file macro stop.g
prima che tutto sia spento. A parte questo, RepRapFirmware (v1.09n-ch) accetta un parametro "H" in più, il cui valore deve essere diverso da zero, per mantenere attivi tutti i riscaldatori. Questo è ciò che Duet Web Control v1.07 invia per annullare una stampa in pausa.
- Note
1Non disponibile in RepRapFirmware, ma come soluzione G4
può essere usato prima di M0
.
2Disponibile solo in Marlin.
M1: Stop a riposo o condizionale
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes | Yes | ??? | ??? | ??? | No | No | ??? | Yes | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
Yes | No | No | No | No | No | ??? | ??? | ??? |
- Esempio
M1
La macchina RepRap termina le eventuali mosse rimaste nel suo buffer, quindi si spegne. Tutti i motori e i riscaldatori sono spenti. Possono ancora essere inviati codici G e M, il primo dei quali lo riattiverà di nuovo. Guarda anche M0
, M112
.
Marlin fa lo stesso con M0
.
Se Marlin è emulato in RepRapFirmware, questo fa lo stesso diM25 se il codice è stato letto da una connessione seriale o Telnet, altrimenti il file macro sleep.g
viene eseguito prima che tutti i riscaldatori e le unità siano spenti.
M2: Fine programma
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
No | No | ??? | ??? | ??? | No | ??? | ??? | No | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
Yes | No | No | No | No | No | Yes | ??? | Yes |
- Esempio
M2
Teacup firmware fa lo stesso con M84
.
M3: Mandrino acceso, in senso orario (specifico per CNC)
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
No | Yes | ??? | ??? | ??? | Yes | Yes | ??? | No | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
Yes | No | No | No | No | No | Yes | ??? | ??? |
- Parametri
Snnn
Giri del mandrino- Esempio
M3 S4000
Il mandrino viene acceso a 4000 RPM.
Teacup firmware accende l'estrusore (lo stesso di M101
).
RepRapFirmware interpreta questo codice solo se è stata configurata una fresa Roland.
In Repetier-Firmware nella modalità laser hai bisogno di S0
..S255
per impostare l'intensità del laser. Normalmente usi S255
per accenderlo a piena potenza per i movimenti. Il laser funzionerà solo durante i movimenti G1
/G2
/G3
ed in modalità laser (M452
).
M4: Mandrino acceso, in senso anti-orario (specifico per CNC))
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
No | No | ??? | ??? | ??? | Yes | No | ??? | No | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
Yes | No | No | No | No | No | No | ??? | ??? |
- Esempio
M4 S4000
Il mandrino viene acceso a 4000 RPM.
M5: Spegni mandrino
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
No | Yes | ??? | ??? | ??? | Yes | Yes | ??? | No | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
Yes | No | No | No | No | No | Yes | ??? | ??? |
- Esempio
M5
Il mandrino viene fermato
Teacup firmware spegne l'estrusore (uguale a M103
).
M6: Cambio "strumento"
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
No | No | ??? | ??? | ??? | No | ??? | ??? | No | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | No | No | No | No | No | Yes | ??? | ??? |
- Esempio
M6
M7: Accendi refrigerante (specifico per CNC)
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
No | No | ??? | ??? | ??? | No | No | ??? | No | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
Yes | No | No | No | No | No | use M106 | ??? | ??? |
- Esempio
M7
Il refrigerante viene acceso (se disponibile)
Teacup firmware accende la ventola, ed imposta la velocità (uguale a M106
).
M8: Liquido raffreddamento acceso (specifico CNC)
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
No | No | ??? | ??? | ??? | No | No | ??? | No | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
Yes | No | No | No | No | No | use M106 | ??? | ??? |
- Esempio
M8
Il liquido di raffreddamento è acceso (se disponibile)
M9: Raffreddamento Off (specifico per CNC)
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
No | No | ??? | ??? | ??? | No | No | ??? | No | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
Yes | No | No | No | No | No | use M106 | ??? | ??? |
- Esempio
M9
Tutti i sistemi di raffreddamento vengono spenti.
M10: Aspirazione on (specifico per CNC)
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
No | No | ??? | ??? | ??? | No | No | ??? | No | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | No | No | No | No | No | use M106 | ??? | ??? |
- Esempio
M10
Accensione del sistema di raccolta della polvere.
M11: Aspirazione off (specifico per CNC))
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
No | No | ??? | ??? | ??? | No | No | ??? | No | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | No | No | No | No | No | use M106 | ??? | ??? |
- Esempio
M11
Spegnimento del sistema di raccolta della polvere.
M17: Abilita tutti i motori stepper
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes | No | ??? | ??? | ??? | No | Yes | ??? | Yes | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | No | No | No | No | Yes | (automatic) | ??? | ??? |
- Esempio
M17
M18: Disabilita tutti i motori stepper
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
call M84 | Yes | ??? | ??? | ??? | No | Yes | ??? | call M84 | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | No | No | No | No | Yes | use M2 | ??? | Yes |
- Parametri
- Questo comando può essere usato senza comandi aggiuntivi.1
X
Asse XY
Asse YZ
Asse ZE
Estrusore/i2- Esempi
M18 M18 X E0
Disabilita tutti gli stepper permettendo agli assi di muoversi liberamente.
Su Marlin, M18
è sinonimo di M84
, quindi può anche essere usato per configurare o disabilitare il timeout di inattività.
- Esempi
M18 S10 ; Disabilita gli stepper dopo 10 secondi di inattività M18 S0 ; Disabilita tempo d'inattività
- Note
1Alcune implementazioni firmware non supportano questi parametri, ma almeno Marlin e RepRapFirmware lo fanno.
2RepRapFirmware consente ai motori passo-passo di essere disabilitati in modo selettivo. Ad esempio, M18 X E0: 2
disabiliterà i motori X, estrusore 0 ed estrusore 2.
M20: List SD card
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes | Yes | ??? | ??? | ??? | Yes | Yes | ??? | Yes | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | Yes | No | No | No | No | Yes | ??? | ??? |
- Parametri
- Questo comando può essere usato senza comandi aggiuntivi.
Snnn
Stile output1Pnnn
Cartella da mostrare2- Esempi
M20 M20 S2 P/Codice-Gs/subdir
Questo codice elenca tutti i file .gcod nella cartella principale o nella directory della scheda SD sulla porta seriale. Un nome per riga, come:
ok SQUARE.G SQCOM.G ZCARRI~2.GCO CARRIA~1.GCO
Su Marlin, una risposta all'elenco di file è solitamente incapsulata. Le configurazioni standard di RepRapFirmware imitano questo stile in modalità emulazione:
Begin file list: SQUARE.G ZCARRI~2.GCO End file list ok
Se RepRapFirmware non emula compatibilità con il firmware, una tipica risposta è la seguente:
Codice-G files: "Traffic cone.g","frog.Codice-G","calibration piece.g"
Nota che alcuni firmware elencano i nomi dei file in maiuscolo, ma quando vengono inviati al comando M23
devono essere in minuscolo. Teacup e RepRapFirmware non hanno problemi e accettano entrambi. RepRapFirmware restituisce sempre nomi di file lunghi nel caso in cui siano memorizzati.
- Note
1Se il parametro S2 viene utilizzato su RepRapFirmware, l'elenco dei file viene restituito in formato JSON come un array singolo chiamato "file" con ogni nome che corrisponde a una sottodirectory preceduta da un asterisco e la directory viene restituita nella variabile "dir".
- Esempio
M20 S2 P/Codice-Gs {"dir":"\/Codice-Gs","files":["4-piece-1-2-3-4.Codice-G","Hinged_Box.Codice-G","Hollow_Dodecahedron_190.Codice-G","*Calibration pieces"]}
2Questo Parametro è supportato solo da RepRapFirmware e ha come valore predefinito la directory 0: / Codice-Gs, che è la directory in cui sono normalmente memorizzati i file Codice-G stampabili.
M21: Inizializza scheda SD
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes | Yes | ??? | ??? | ??? | Yes | Yes | ??? | Yes | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | Yes | No | No | No | No | Yes | ??? | ??? |
- Parametri
Pnnn
Numero scehda SD (RepRapFirmware solo, default 0)- Esempi
M21 M21 P1
La scheda SD specificata è inizializzata. Se una scheda SD viene caricata quando la macchina è accesa, ciò avverrà per impostazione predefinita. La scheda SD deve essere inizializzata per far funzionare le altre funzioni per la scheda SD.
M22: Rimuovi scheda SD
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes | Yes | ??? | ??? | ??? | Yes | No | ??? | Yes | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | Yes | No | No | No | No | Yes | ??? | ??? |
- Parametri
Pnnn
Numero scehda SD (RepRapFirmware solo, default 0)- Esempi
M22 M22 P1
La scheda SD specificata viene rilasciata, quindi ulteriori tentativi (accidentali) di lettura falliranno. Utile, ma non obbligatorio prima di rimuovere la scheda fisicamente.
M23: Scegli file dall SD
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes | Yes | ??? | ??? | ??? | Yes | Yes | ??? | Yes | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | Yes | No | No | No | No | Yes | ??? | ??? |
- Esempio
M23 nomefile.gco
Il file specificato come nomefile.gco (la convenzione di denominazione 8.3 è supportata) è selezionato pronto per la stampa. RepRapFirmware supporta nomi di file lunghi e formato 8.3.
M24: Avvia / riprendi la stampa SD
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes | Yes | ??? | ??? | ??? | Yes | Yes | ??? | Yes | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | Yes | No | No | No | Yes | Yes | ??? | ??? |
- Esempio
M24
La macchina stampa dal file selezionato con il comando M23
.Se la stampa è stata precedentemente messa in pausa con M25
, la stampa riprende da quel punto. Per riavviare un file dall'inizio, usa M23
per ripristinarlo, quindi M24
.
Quando questo comando viene utilizzato per riprendere una stampa che è stata messa in pausa, RepRapFirmware esegue il file macro resume.g
prima di riprendere la stampa.
M25: Pausa stampa SD
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes | Yes | ??? | ??? | ??? | Yes | Yes | ??? | Yes | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | Yes | No | No | No | Yes | Yes | ??? | ??? |
- Esempio
M25
La macchina mette in pausa la stampa nella posizione corrente all'interno del file. Per riprendere la stampa, utilizzare M24. Non utilizzare questo codice per sospendere la stampa in un file G-code, utilizzare invece M226].
Prima di eseguire la pausa, RepRapFirmware esegue il file macro pause.g
. Ciò consente alla testa di essere spostata lontano dalla stampa, dal filamento da ritrarre, ecc.
RepRapFirmware 1.20 e versioni successive salvano anche lo stato corrente della stampa nel file /sys/resurrect.g. Così se la stampante viene spenta dopo la pausa, la stampa può successivamente essere ripresa.
M26: Imposta posizione SD
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes | Yes | ??? | ??? | ??? | Yes | aborts | ??? | Yes | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | Yes | No | No | No | No | No | ??? | ??? |
- Parametri
Snnn
Posizione del file dall'inizio del file in bytePnnn
(Opzionale, RepRapFirmware solo) La proporzione della prima mossa da saltare, 0.0 di default, deve essere inferiore a 1.0- Esempio
- M26 S49315
Imposta l'offset del file in byte dall'inizio del file della scheda SD selezionato da M23. L'offset deve corrispondere all'inizio di un comando Codice-G.
M27: Riporta lo stato di stampa su SD
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes | Yes | ??? | ??? | ??? | Yes | Yes | ??? | Yes | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | Yes | No | No | No | No | No | ??? | ??? |
- Parametri
- C Segnala il nome e il nome lungo del file aperto (Marlin 1.1.9 in poi)
- Sn Imposta l'intervallo dell' auto-report (Marlin 1.1.9 in poi)
- Esempio
M27
Segnala lo stato di stampa SD.
Marlin e le ultime derivazioni di RepRapFirmware riportano il numero di byte elaborati in questo formato, che possono essere elaborati da Pronterface:
SD printing byte 2134/235422
Se non è stato stampato niente, verrà riportato questo messaggio:
Not SD printing.
In Marlin 1.1.9 e successivi M27 C
riporta il nome DOS 8.3 del file aperto e il nome file lungo, se presenti.
- Esempio
M27 C
Current file: filena~1.gco Filenagotcha.Codice-G
In Marlin 1.1.9 e versioni successive M27 Sn
imposta l'intervallo del rapporto automatico. Ciò richiede l'opzione di configurazione AUTO_REPORT_SD_STATUS
da abilitare. Marlin riporta questa capacità in M115
come Cap: AUTO_REPORT_SD_STATUS 1
quando questa opzione è disponibile.
- Esempio
M27 S2 ; Riporta ogni 2 secondi
M28: Iniziare a scrivere su scheda SD
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes | Yes | ??? | ??? | ??? | Yes | Yes | ??? | Yes | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | Yes | No | No | No | No | No | ??? | ??? |
- Esempio
M28 filename.gco
Il file specificato da filename.gco viene creato (o sovrascritto se esiste) sulla scheda SD e tutti i comandi successivi inviati alla macchina vengono scritti su quel file.
M29: Ferma scrittura su scheda SD
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes | Yes | ??? | ??? | ??? | Yes | No | ??? | Yes | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | Yes | No | No | No | No | No | ??? | ??? |
- Esempio
M29 filename.gco
Il file aperto da M28
vien chiuso, e tutti i comandi successivi inviati alla macchina vengono eseguiti normalmente.
M30: Cancella un file sull' SD
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes | Yes | ??? | ??? | ??? | Yes | Yes | ??? | Yes | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
Yes | Yes | No | No | No | No | No | ??? | ??? |
- Esempio
> M30 filename.gco > filename.gco è cancellato.
M30 in grbl
M30 scambia i transpallet e termina il programma. premendo inizio ciclo inizierà il programma all'inizio del file.