G-code/it

From RepRap
Jump to: navigation, search


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

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 FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
Yes Automatic No Partial Experimental Deprecated ??? ??? ??? ??? Yes Partial

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 FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
Yes Yes Yes Yes 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 FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
Yes Yes Yes Yes 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 FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
Yes Yes Yes Yes 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 FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
Yes Yes ??? Yes ??? ??? 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 FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
Yes Yes Yes Yes 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 X
Ynnn La posizione in cui spostarsi sull'asse Y
Znnn La posizione in cui spostarsi sull'asse Z
Ennn La quantità da estrudere tra il punto iniziale e il punto finale
Fnnn 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 FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
No No Yes Yes1 Yes Yes No Yes ??? Yes Experimental Yes
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 costante
Jnnn Il punto nello spazio Y dalla posizione Y corrente dalla quale mantenere una distanza costante
Ennn La quantità da estrudere tra il punto iniziale e il punto finale
Fnnn 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 FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
Yes Yes Yes Yes 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 FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
No No No No No No Use G1 S2 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 angolo
Bnnn Stepper B posizione o angolo
Cnnn Stepper C posizione o angolo
R 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 FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
No No No No No No Yes Yes ??? ??? No No
Uso
G10 Pnnn Xnnn Ynnn Znnn Rnnn Snnn1
Parametri
Pnnn Numero utensile
Xnnn X offset
Ynnn Y offset
U,V,Wnnn assi U, V e W offsets5
Znnn Z offset2
Rnnn Temperatura Standby
Snnn 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 FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
No No No Yes Yes: 0.92 Yes dc42,ch No ??? ??? No Yes
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 FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
No No No Yes Yes: 0.92 Yes dc42,ch No ??? ??? No Yes
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 FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
No No No Yes: 1.1.0 No No via macro feature No ??? ??? No Yes
Uso
[P<0|1>] [S<count>] [T<count>]
G12 Pnnn Snnn Tnnn
Parametri
Pnnn1 Seleziona stile del motivo
Snnn 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 FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
??? ??? ??? Yes:1.1.4 ??? ??? No Yes ??? Yes No 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 FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
Yes Yes Yes Yes Yes Yes Yes Yes ??? Yes No Yes
Esempio
G20

D'ora in poi tutta le unità di misura saranno in pollici.

G21: Imposta unità in Millimetri

Support FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
Yes Yes Yes Yes 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 FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
No No No No 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 FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
No No No Yes: 1.1.0 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 FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes1
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 FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
No No No Yes Yes: 0.91.7 No, see G32 1.17 and later Yes ??? ??? Yes Yes

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 firmware
Pfile.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 ispezione
B Impostare il limite posteriore della griglia di ispezione
L Impostare il limite sinistro della griglia di ispezione
R Impostare il limite destro della griglia di ispezione
Parametri Globali
E di default G29 si innesterà la sonda Z, testerà il letto, quindi si disinnesterà. Mettendo E o E1 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 emettere G29.
S1 Uguale a S0, 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 emettere G29 Snnn e G29 Snnn devi prima dare un G28 Z affinché funzioni correttamente, altrimenti l'altezza della stampante non sarà valida.
S2 Come S1, eccetto che la nuova altezza Z calcolata viene anche memorizzata in EEPROM.
G29 Compensazione Automatica(RepRapFirmware)

RepRapFirmware:

S0 (default senza S ) 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 per S0.
S2 Cancella la mappa dell'altezza del letto attualmente caricata

Per definire la griglia, vedi M557.

G29.1: Imposta Offset sonda Z

Support FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
No No No No 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 della sonda Z calcolato dalla posizione dell'utensile

Support FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
No No No No 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 FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
No use G28 & G92 No Yes Yes Yes Yes Yes ??? ??? Yes Yes1
Uso
G30 Pnnn Xnnn Ynnn Znnn Hnnn Snnn
Parametri
Pnnn Numero punto sondaggio
Xnnn Coordinata X
Ynnn Coordinata Y
Znnn Coordinata Z
Hnnn Correzzione altezza
Snnn 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 coordinate
Ynnn Y coordinate
Znnn Z coordinate
Annn A larghezza autocalibrazione in nnn precisione
E aggiusta Endstop
R aggiusta Endstop & raggio delta
I aggiusta torre
D aggiusta barra diagonale
T aggiusta raggio della torre
Sn 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 FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
No No No No Yes: 0.91.7 Yes Yes No ??? ??? No No
Uso
G31 Pnnn Xnnn Ynnn Znnn Cnnn Snnn
Parametri
Pnnn Valore di trigger
Xnnn Sonda X offset1
Ynnn Sonda Y offset1
Znnn Trigger Z altezza
Cnnn Coefficiente temperatura2
Snnn Calibrazione temperatura2
Tnnn (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 da M558 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 FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
No No No Yes ??? No No No ??? ??? Yes Yes

G32: Probe Z and calculate Z plane

Support FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
No No No No: See G29 Yes: 0.92.8 Yes Yes 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 letto
Pnnn 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: Undock Z Probe sled

Support FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
No No No Yes ??? No No No ??? ??? Yes Yes

G33: Firmware dependent

G33: Misurazione / Elenco / aggiusta matrice di distorsione (Repetier - Redeem)
Support FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
No No No No Yes: v0.92.8 No No No ??? ??? Yes No
Uso
G33
G33 Lnnn
G33 Rnnn
G33 Xnnn Ynnn Znnn
Parametri
L0 Elenca la matrice di distorsione in un report
R0 Reimposta matrice di distorsione
X[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 Calibration (Marlin 1.1.x or MK4duo)
Support FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
No No No Yes No No Use G32 No No No No Yes

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 sonda
Pn 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 risultato
Vn 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 sonda
E 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 FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
??? ??? ??? No ??? No No ??? ??? No No Yes
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 FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
??? ??? ??? Yes: 1.1.0 ??? Yes No ??? ??? Yes No No
G38.3 sonda verso il pezzo, fermarsi a contatto
Support FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
??? ??? ??? Yes: 1.1.0 ??? Yes No ??? ??? Yes No No
G38.4 sonda lontana dal pezzo in lavorazione, si ferma quando perde il contatto, segnale d'errore in caso di guasto
Support FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
??? ??? ??? ??? ??? ??? No ??? ??? Yes No No
G38.5 sonda lontana dal pezzo in lavorazione, si ferma quando perde il contatto
Support FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
??? ??? ??? ??? ??? ??? No ??? ??? Yes No No

G40: Compensazione Off (specifico CNC)

Support FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
??? ??? ??? No ??? No No Yes ??? Yes No 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 FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
No No No Yes: 1.1.2 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 FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
??? ??? ??? No ??? Yes 1.21 and later Yes ??? Yes No No

See linuxcnc.org per altro aiuto

G60: Salva la posizione corrente in memoria

Support FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
??? ??? ??? ??? ??? ??? 1.21 and later ??? ??? ??? ??? Yes
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 FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
??? ??? ??? ??? ??? ??? Use G0 or G1 with R Parametro ??? ??? ??? ??? Yes
Uso
G61 Xnnn Ynnn Znnn Ennn Fnnn Snn
Parametri
Xnnn X coordinate
Ynnn Y coordinate
Znnn Z coordinate
Ennn E coordinate
Fnnn F Imposta avanzamento
Snn S specifica slot memoria # (0-based)

G80: Annulla ciclo fisso (specifico per CNC)

Support FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
??? ??? ??? ??? ??? ??? No ??? ??? Yes No 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 FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
Yes Yes Yes Yes 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 FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
Yes Yes Yes Yes Yes Yes Yes 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 FiveD Teacup Sprinter Marlin Repetier Smoothie RepRapFirmware Machinekit MakerBot grbl Redeem MK4duo
Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Parametri
Questo comando può essere utilizzato senza alcun parametro aggiuntivo.
Xnnn Nuova posizione X
Ynnn Nuova posizione Y
Znnn Nuova posizione Z
Ennn 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.