Il G-code è il linguaggio con cui la stampante 3D riceve le istruzioni di movimento, temperatura e estrusione. Normalmente è lo slicer a generarlo automaticamente, ma conoscere i comandi base è fondamentale per risolvere problemi, personalizzare gli script di inizio/fine stampa e capire cosa sta facendo la macchina.
Cos’è il G-code
Il G-code è un formato testuale standard nato per le macchine CNC e adottato dalla stampa 3D. Ogni riga contiene un comando con parametri. La stampante esegue i comandi uno alla volta, nell’ordine in cui sono scritti. I comandi iniziano con la lettera G (movimenti) o M (funzioni macchina), seguiti da un numero e da parametri opzionali.
Comandi di movimento
G28 è il comando di homing: riporta tutti gli assi (o quelli specificati) alla posizione zero. È sempre il primo comando di ogni stampa. G28 X Y fa l’homing solo di X e Y. G1 è il comando di movimento lineare: G1 X100 Y50 Z0.3 F3000 E10 muove la testa alle coordinate X=100, Y=50, Z=0.3 alla velocità di 3000 mm/min estrudendo 10 mm di filamento. G0 è identico a G1 ma per convenzione indica i movimenti rapidi senza estrusione (travel). G90 attiva il posizionamento assoluto (le coordinate sono riferite all’origine), G91 attiva il posizionamento relativo (le coordinate sono incrementi).
Comandi di temperatura
M104 S220 imposta la temperatura dell’ugello a 220 °C e prosegue subito con il comando successivo (non attende). M109 S220 imposta la temperatura e attende che venga raggiunta prima di continuare. M140 S60 imposta la temperatura del piatto a 60 °C (non attende). M190 S60 imposta e attende la temperatura del piatto. M106 S255 accende la ventola al massimo (S0-S255). M107 spegne la ventola.
Comandi di estrusione
M82 imposta l’estrusore in modalità assoluta. M83 imposta la modalità relativa (la più comune). G92 E0 azzera il contatore dell’estrusore (usato frequentemente negli script di inizio stampa).
Comandi utili per il debug
M503 mostra tutte le impostazioni correnti salvate in EEPROM (passi/mm, PID, limiti). M92 X80 Y80 Z400 E93 imposta i passi per millimetro per ciascun asse. M500 salva le impostazioni correnti in EEPROM. M501 carica le impostazioni dall’EEPROM. M502 ripristina le impostazioni di fabbrica.
Lo script di inizio stampa
Lo script di inizio stampa (start G-code) nello slicer è la sequenza di comandi eseguita prima di ogni stampa. Uno script tipico include: M140 S[bed_temp] per iniziare a scaldare il piatto, poi G28 per l’homing, poi G29 per il livellamento automatico (se disponibile), poi M109 S[nozzle_temp] per attendere la temperatura dell’ugello, una linea di purga lungo il bordo del piatto per preparare l’estrusione, e infine la stampa vera e propria inizia.
Consigli pratici
Apri i file .gcode con un editor di testo per capire cosa fa lo slicer. Modifica lo start G-code nello slicer per personalizzare la sequenza di avvio. Usa i comandi M104/M140 (senza attesa) prima dell’homing per risparmiare tempo: il piatto si scalda mentre la macchina fa l’homing. In caso di problemi, invia comandi G-code manuali dalla console del firmware (OctoPrint, Mainsail, Fluidd, Bambu Studio) per diagnosticare il problema.
Guida ai comandi G-code per la stampa 3D
1. Cos’è il G-code e perché è importante conoscerlo?
Il G-code è il linguaggio universale delle macchine a controllo numerico (CNC) e delle stampanti 3D. Anche se lo slicer genera il codice automaticamente, conoscere i comandi base ti permette di personalizzare lo script di inizio stampa, diagnosticare problemi meccanici tramite console e ottimizzare i tempi di riscaldamento. Ogni riga di codice rappresenta un'istruzione precisa che la scheda madre della stampante esegue in sequenza.
2. Qual è la differenza tra i comandi G1, G28 e G29?
Questi sono i pilastri del movimento:
G28: Esegue l'Homing, portando gli assi a toccare i finecorsa per stabilire lo zero fisico.
G29: Avvia la procedura di Auto Bed Leveling (se la stampante ha un sensore come il BL-Touch), creando una mappa della superficie del piatto.
G1: È il comando di movimento lineare controllato; indica alla testina dove andare, a che velocità (F) e quanto filamento estrudere (E).
3. M104 vs M109: come gestire correttamente le temperature?
La gestione del calore è fondamentale per non danneggiare i componenti:
M104 (Set): Invia l'ordine di riscaldamento e passa subito al comando successivo. Si usa spesso nello start G-code per iniziare a scaldare il piatto mentre la testina fa l'homing.
M109 (Wait): Imposta la temperatura e blocca ogni altra operazione finché l'ugello non ha raggiunto il valore impostato. È essenziale prima di iniziare a estrudere la linea di purga per evitare di forzare il motore dell'estrusore a freddo.
4. A cosa servono i comandi M500, M501 e M503?
Questi comandi servono a gestire la memoria non volatile (EEPROM) della stampante:
M503: Visualizza tutti i parametri correnti (come i passi/mm dei motori o i valori del PID).
M500: Salva le modifiche effettuate (ad esempio dopo una calibrazione dell'estrusore) in modo che rimangano attive anche dopo lo spegnimento.
M501: Ricarica i valori salvati, utile se hai fatto modifiche temporanee che vuoi annullare.
5. Come posso usare il G-code per risolvere problemi di stampa?
Tramite la console dello slicer o interfacce come OctoPrint o Fluidd, puoi inviare comandi manuali per testare i singoli componenti. Ad esempio, se l'estrusore sembra bloccato, puoi inviare M83 (modalità relativa) seguito da G1 E10 F100 per vedere se il motore spinge correttamente il filo. Conoscere il G-code trasforma l'utente da semplice spettatore a tecnico capace di intervenire direttamente sul "cervello" della macchina. Su DHM-online trovi schede madri e interfacce di controllo compatibili con tutti i principali firmware (Marlin, Klipper, RepRapFirmware) per una gestione totale del tuo codice.





