#News
G-code per stampanti di ricerca LPBF
SnowWhite2 & MetalOne
Il G-code come vantaggio per i sistemi di ricerca per fusione su letto di polvere tramite laser
Il G-code, originariamente sviluppato come linguaggio di programmazione standardizzato per il controllo numerico (NC), è ampiamente utilizzato per definire i percorsi utensile e le operazioni per macchine a controllo numerico computerizzato (CNC). La sua adozione come standard de facto per le stampanti 3D a fabbricazione di filamento fuso (FFF) evidenzia la sua versatilità e ampia accettazione. I comandi G-code sono ampiamente suddivisi in tre classi: movimento, selezione utensile e funzioni speciali.
Comandi G-code principali
Comandi di movimento (G0/G1): Questi comandi determinano il movimento degli assi della macchina. G0 denota tipicamente un movimento rapido senza estrusione, mentre G1 specifica un movimento lineare controllato, spesso accompagnato da un'azione come l'estrusione in FFF o l'attivazione del laser nei sistemi basati su laser.
G0 X10: Muove l'asse X alla posizione di 10 mm dall'origine.
G0 X10 Y15: Muove l'asse X a 10 mm e l'asse Y a 15 mm dall'origine.
G1 X20 Y20 E10: Muove l'asse X a 20 mm e l'asse Y a 20 mm dall'origine, eseguendo contemporaneamente un'azione quantificata dal parametro E (ad esempio, estrudere 10 mm di filamento in FFF).
G1 Z0.1: Trasla l'asse Z di 0,1 mm, comunemente usato per i cambi di strato nella produzione additiva.
Comandi di selezione utensile (T): Questi comandi consentono la selezione di utensili o configurazioni specifici. Il formato è una T seguita da un intero non negativo.
T0: Seleziona l'utensile 0.
T1: Seleziona l'utensile 1.
T5: Seleziona l'utensile 5.
Implementazione del G-code nei sistemi di fusione su letto di polvere tramite laser (PBF)
Nei sistemi di produzione additiva basati su laser, in particolare per applicazioni di ricerca che coinvolgono letti di polvere, il G-code offre un metodo robusto e preciso per controllare la traiettoria del laser e i parametri operativi. Qui, l'asse E (spesso usato per l'estrusione in FFF) viene riadattato per controllare l'attivazione del laser. Quando il parametro E viene impostato su un valore diverso da zero durante un comando di movimento G1, segnala che il laser deve essere attivo per la durata di quel movimento.
Inoltre, i comandi di selezione utensile (T) sono impiegati strategicamente per definire impostazioni specifiche del laser, come la potenza del laser e la velocità di scansione. Questa capacità è cruciale per la ricerca, poiché consente una sperimentazione rapida e sistematica con diversi parametri di processo all'interno di una singola costruzione. Ad esempio:
gcode
T0 ; Seleziona l'utensile 0, corrispondente a un insieme predefinito di parametri laser (es. velocità, potenza)
G1 X15 Y15 E1 ; Muove il laser dalla sua posizione attuale a (15,15) con il laser attivato usando i parametri definiti da T0.
Esempio illustrativo: Disegnare un quadrato con parametri laser variabili
La seguente sequenza G-code dimostra la capacità di applicare parametri laser diversi a segmenti diversi di una geometria, una caratteristica preziosa per la ricerca sulla scienza dei materiali e l'ottimizzazione dei processi. Questo esempio disegna un quadrato di 1 cm sul letto di polvere, applicando i parametri di T0 per le linee orizzontali e di T1 per le linee verticali.
gcode
T0 ; Imposta i parametri laser per le linee orizzontali (es. Potenza A, Velocità B)
G0 X10 Y10 ; Movimento rapido all'angolo di partenza del quadrato (10,10)
G1 X20 Y10 E1 ; Disegna la prima linea orizzontale da (10,10) a (20,10) con laser attivo (impostazioni T0)
T1 ; Imposta i parametri laser per le linee verticali (es. Potenza C, Velocità D)
G1 X20 Y20 E1 ; Disegna la prima linea verticale da (20,10) a (20,20) con laser attivo (impostazioni T1)
T0 ; R seleziona i parametri T0
G1 X10 Y20 E1 ; Disegna la seconda linea orizzontale da (20,20) a (10,20) con laser attivo (impostazioni T0)
T1 ; R seleziona i parametri T1
G1 X10 Y10 E1 ; Disegna la seconda linea verticale da (10,20) a (10,10) con laser attivo (impostazioni T1)
Funzionalità estesa attraverso la manipolazione del G-code
La natura aperta e testuale del G-code fornisce vantaggi significativi per i ricercatori, consentendo funzionalità avanzate che i software di slicing standard potrebbero non offrire direttamente. Modificando o generando G-code a livello programmatico, i ricercatori possono implementare nuove strategie di processo ed esplorare comportamenti complessi dei materiali. Due esempi notevoli includono il rifusione e i pattern di riempimento personalizzati.
Rifusione
La rifusione è una tecnica utilizzata per migliorare la qualità superficiale e la densità dei pezzi fabbricati. Comporta un secondo passaggio del laser sul materiale solidificato, concentrandosi tipicamente sui contorni esterni di ogni strato. Mentre gli slicer FDM spesso consentono il controllo sul numero di perimetri (o "pelli") e sui percorsi utensile associati, implementare la rifusione in un sistema laser PBF può essere ottenuto manipolando intelligentemente il G-code generato.
Specificamente per ogni strato (cioè, appena prima di un incremento positivo dell'asse Z), i segmenti G-code corrispondenti ai contorni esterni (spesso identificati da cambi di utensile specifici) possono essere duplicati. Questa duplicazione crea effettivamente un secondo passaggio, consentendo al laser di rifondere le aree designate. Questo approccio offre un controllo preciso sulla strategia di rifusione senza richiedere modifiche all'algoritmo di slicing principale.
Riempimento con pattern personalizzati
La struttura riga per riga del G-code facilita anche l'implementazione di pattern di riempimento personalizzati senza alterare il software di slicing. Ciò è particolarmente utile per studiare come diverse geometrie interne influenzino le proprietà meccaniche o la dissipazione termica.
Il processo tipicamente comporta:
Identificazione delle linee di riempimento: Il primo passo è identificare accuratamente le linee G-code che costituiscono il riempimento. Nella nostra configurazione che utilizza Cura per metalONE, ad esempio, l'utensile 4 (T4) è esclusivamente designato per le operazioni di riempimento. Ciò consente una semplice identificazione dei blocchi G-code rilevanti.
Generazione e trasformazione del pattern: Una volta identificate le linee di riempimento, un pattern desiderato di una larghezza e altezza specifiche può essere generato a livello programmatico. Fondamentalmente, poiché ogni linea G-code definisce un segmento con una direzione implicita nel piano XY, queste informazioni possono essere utilizzate per orientare e ruotare correttamente il pattern personalizzato per allinearlo con la direzione di movimento prevista del laser. Ciò consente la creazione di strutture interne altamente specializzate che possono variare strato per strato o anche all'interno di un singolo strato.
Per testare la nostra idea, abbiamo progettato questo pattern:
[Successivamente abbiamo generato il G-code corrispondente e scritto uno script Python che ha sostituito ogni occorrenza dei movimenti dell'utensile T4 con una ripetizione del nostro pattern espresso tramite il G-code correttamente ruotato.]
Conclusione
La flessibilità intrinseca e l'ampia comprensione del G-code lo rendono un linguaggio eccezionalmente vantaggioso per il controllo dei sistemi laser in ambienti di ricerca. Fornisce ai ricercatori un controllo granulare sui percorsi laser e sui parametri di processo, facilitando la prototipazione rapida di disegni sperimentali e indagini approfondite sulle interazioni materiale-processo.