📖 CNC – G-Code, Impostazioni e Manutenzione Base

Email
WhatsApp

📌 Introduzione

Le macchine CNC (Controllo Numerico Computerizzato) sono strumenti avanzati per la lavorazione dei metalli e di altri materiali, utilizzate in settori come l’industria manifatturiera, aerospaziale e automobilistica. Per operare correttamente su una macchina CNC, è fondamentale comprendere il linguaggio G-Code, le impostazioni di origine del pezzo e la manutenzione della macchina.

Questo modulo ti guiderà attraverso i principali comandi G e M, le modalità di programmazione e le pratiche di manutenzione per garantire il corretto funzionamento della macchina.


🔹 1. Introduzione ai comandi G e M

📌 Cosa sono i comandi G e M?

Le macchine CNC operano attraverso un linguaggio standardizzato, noto come G-Code, che indica come la macchina deve muoversi e operare durante il ciclo di lavoro. Ogni comando G-Code è preceduto da una lettera seguita da un numero.

I comandi G (Geometrici) servono per definire i movimenti e le operazioni geometriche sulla macchina, come spostamenti lineari, circolari, compensazioni e impostazioni delle coordinate.

I comandi M (Miscellaneous) controllano funzioni ausiliarie come accensione e spegnimento del mandrino, cambio utensile, attivazione del refrigerante e gestione della fine programma.

📌 Struttura di un programma CNC

Un programma CNC è composto da una sequenza di comandi che vengono letti dalla macchina riga per riga. Ogni linea di codice viene chiamata blocco.

Esempio di programma CNC semplice:

G21    ; Imposta unità in millimetri

G90    ; Modalità assoluta

G00 X50 Y50  ; Movimento rapido a X50 Y50

G01 X100 Y100 F500  ; Movimento lineare a 100 mm/min

M03 S1000  ; Avvia il mandrino a 1000 RPM

G02 X150 Y150 I50 J0  ; Movimento circolare orario

M30    ; Fine programma

📌 Analisi del codice:

Comandi di impostazione generale:

  • G21 → Imposta il sistema di misura in millimetri. Se omesso, la macchina potrebbe lavorare in pollici (G20 imposta in pollici).
  • G90 → Seleziona la modalità assoluta, quindi ogni coordinata sarà relativa allo zero macchina o pezzo.

Comandi di movimento:

  • G00 X50 Y50 → Movimento rapido senza controllo della velocità, utile per spostamenti a vuoto.
  • G01 X100 Y100 F500 → Movimento controllato con velocità F500 mm/min.
  • G02 X150 Y150 I50 J0 → Movimento circolare orario con centro a 50 mm a sinistra dell’inizio del movimento.

Comandi ausiliari (M-Codes):

  • M03 S1000 → Accende il mandrino in senso orario alla velocità di 1000 RPM.
  • M30 → Fine programma e reset della macchina.

📌 Struttura e ordine di esecuzione

Un programma CNC segue un ordine logico:

  1. Definizione delle unità di misura e della modalità di programmazione (G21, G90).
  2. Spostamenti iniziali e posizionamento dell’utensile (G00, G54).
  3. Avvio del mandrino e attivazione delle funzioni ausiliarie (M03, M08).
  4. Lavorazione del pezzo (G01, G02, G03, cicli di foratura).
  5. Ritorno alla posizione di sicurezza e fine programma (G28, M30).

📌 Differenza tra G-Code e M-Code

CodiceFunzioneEsempio
G00Movimento rapidoG00 X50 Y50
G01Movimento lineare controllatoG01 X100 Y100 F500
G02Movimento circolare orarioG02 X150 Y150 I50 J0
G03Movimento circolare antiorarioG03 X150 Y150 I-50 J0
G21Imposta unità in millimetriG21
G90Modalità di programmazione assolutaG90
M03Accensione del mandrino in senso orarioM03 S1200
M05Spegnimento del mandrinoM05
M08Attivazione del refrigeranteM08
M09Disattivazione del refrigeranteM09
M30Fine programma e reset macchinaM30

📌 Commenti nel G-Code

I commenti nel G-Code possono essere scritti tra parentesi () oppure dopo il punto e virgola ;. Sono fondamentali per rendere il programma più leggibile.

📌 Esempio di G-Code con commenti:

G21 ; Imposta le unità in millimetri

G90 ; Modalità assoluta

G00 X100 Y50 ; Posiziona l’utensile

M03 S1200 ; Accende il mandrino a 1200 RPM

G01 X150 Y150 F300 ; Movimento lineare con avanzamento controllato

M05 ; Spegne il mandrino

M30 ; Fine programma

📖 MOVIMENTI BASE: G00, G01, G02, G03

📌 Introduzione

I movimenti della macchina CNC sono definiti dai comandi G, che indicano come deve spostarsi l’utensile nel piano di lavoro. Comprendere questi comandi è fondamentale per la programmazione e l’uso della macchina.

In questo capitolo vedremo i quattro movimenti principali:

  • G00 – Movimento rapido
  • G01 – Movimento lineare controllato
  • G02 – Movimento circolare in senso orario
  • G03 – Movimento circolare in senso antiorario

Ogni sezione conterrà spiegazioni dettagliate, esempi pratici e un’analisi approfondita del codice.


🔹 1. G00 – MOVIMENTO RAPIDO

📌 Definizione

G00 viene utilizzato per spostare l’utensile alla massima velocità della macchina, senza controllo dell’avanzamento.

📌 Caratteristiche:

  • Ideale per movimenti a vuoto (quando l’utensile non sta tagliando il pezzo).
  • Raggiunge la posizione finale nel minor tempo possibile.
  • Non tiene conto degli ostacoli, quindi va usato con attenzione.

📌 Esempi

Esempio 1 – Movimento rapido su X e Y

G00 X100 Y50

🔎 Analisi: L’utensile si sposta alla massima velocità verso la posizione X=100 e Y=50.

Esempio 2 – Movimento rapido con Z incluso

G00 X100 Y50 Z10

🔎 Analisi:

  • La macchina si sposta su X=100, Y=50, e Z=10.
  • Se l’utensile è vicino al pezzo, potrebbe collidere. Bisogna assicurarsi che il percorso sia libero.

Esempio 3 – Movimento rapido tra più punti

G00 X0 Y0

G00 X100 Y50

G00 X50 Y25 Z5

🔎 Analisi:

  • L’utensile si sposta rapidamente tra le coordinate indicate.
  • Nessun controllo sulla velocità, quindi da usare solo per posizionamenti senza lavorazione.

🔹 2. G01 – MOVIMENTO LINEARE CONTROLLATO

📌 Definizione

G01 viene utilizzato per eseguire movimenti lineari con velocità controllata.

📌 Caratteristiche:

  • L’avanzamento viene definito dal parametro F (feedrate).
  • Utilizzato per tagli, incisioni e fresature.
  • Sicuro da usare per evitare collisioni improvvise.

📌 Esempi

Esempio 1 – Movimento lineare con velocità impostata

G01 X50 Y50 F300

🔎 Analisi:

  • L’utensile si sposta a X=50, Y=50 con una velocità di 300 mm/min.
  • Se F non è specificato, la macchina usa l’ultima velocità impostata.

Esempio 2 – Movimento lineare tra più punti

G01 X50 Y50 F300

G01 X100 Y100 F200

G01 X150 Y50 F100

🔎 Analisi:

  • L’utensile segue un percorso lineare con velocità diverse in ogni segmento.
  • Si nota la differenza tra i valori F: 300, 200 e 100 mm/min.
  • Una velocità più bassa offre più precisione e meno vibrazioni.

Esempio 3 – Combinazione di G00 e G01

G00 X0 Y0   ; Posizionamento rapido

G01 X50 Y50 F300  ; Movimento controllato

G01 X100 Y100 F150

G00 X0 Y0   ; Ritorno rapido alla posizione iniziale

🔎 Analisi:

  • G00 viene usato per posizionare velocemente l’utensile.
  • G01 esegue i movimenti di taglio a velocità controllata.
  • Alla fine, G00 riporta l’utensile a zero macchina rapidamente.

🔹 3. G02 E G03 – MOVIMENTI CIRCOLARI

📌 Definizione

  • G02 → Movimento circolare in senso orario.
  • G03 → Movimento circolare in senso antiorario.

📌 Caratteristiche:

  • Necessitano di un punto finale e un centro dell’arco.
  • L’offset del centro viene specificato con I e J (coordinate relative).
  • Utili per creare archi, tasche e contorni curvi.

📌 Esempi

Esempio 1 – Arco orario con G02

G02 X100 Y100 I50 J0

🔎 Analisi:

  • L’utensile parte dalla posizione corrente e si sposta a X=100, Y=100.
  • Il centro dell’arco è 50 mm a sinistra della posizione iniziale (I=50, J=0).

Esempio 2 – Arco antiorario con G03

G03 X100 Y100 I-50 J0

🔎 Analisi:

  • Stesso movimento dell’esempio precedente, ma in senso antiorario.

Esempio 3 – Creazione di un cerchio completo

G02 X100 Y50 I50 J0

G02 X50 Y50 I-50 J0

🔎 Analisi:

  • Il primo arco va da X=0 Y=50 a X=100 Y=50.
  • Il secondo arco chiude il cerchio tornando alla posizione di partenza.

📌 CONCLUSIONI

In questo capitolo abbiamo visto: ✅ G00 – Movimento rapido, utile per spostamenti a vuoto. ✅ G01 – Movimento lineare controllato, usato per il taglio. ✅ G02 e G03 – Movimenti circolari per realizzare archi e curve.

💡 Questi comandi sono alla base di ogni programma CNC. Provali con simulazioni prima di eseguirli sulla macchina reale!