CFOG: Stampa 3D Multicolore con FABtotum (e non solo!)

La stampa 3D multicolore è momentaneamente prerogativa di macchine di tipo professionale, che impiegano tecnologie molto sofisticate e costose che vanno dalla sinterizzazione di polveri alla stampa a gesso con coloranti ink jet.

La tecnologia FDM al momento offre solo poche soluzioni per stampare “a colori”, il più delle volte il massimo consentito è la stampa che utilizza due estrusori.

Con la FABtotum la stampa 3D multicolore/multimateriale non è supportata nativamente, per lo meno non allo stato attuale. Stesso discorso  vale per una buona parte delle macchine in commercio e macchine autoprodotte.

Per ovviare a questa mancanza ho creato uno script (più precisamente una porzione di gcode) che, inserito all’interno del gcode che si intende stampare, permette di cambiare filamento e quindi colore al momento desiderato. La procedura è stata denominata CFOG, acronimo di Change Filament On the Go (adoro gli acronimi!). Rimane il limite della stampa a strati, che permette di variare il colore solo tra uno strato e l’altro e non all’interno dello stesso.

multicolor-3d-print

Oggetti multicolore stampati in 3D con tecnica CFOG

Vediamo il codice:

; CFOG Procedure for FABtotum BEGIN (Change Filament On the Go) 
; By Angelo D'Angelo 2016 
; www.angelodangelo.com

; !!! COPY HERE THE "G1" LINE BEFORE CFOG PROCEDURE WITH "E" VALUE 
;MINUS 7 
G1 X94.550 Y119.843 EXXX 
M728 ;FAB beep beep
M728 ;FAB beep beep Double sound alert 
G4 S1 ;1 second pause to reach the printer

G1 X10 Y10 Z70.0 F{travel_speed} ;move to oozing point 
;(In Case the CFOCG is applied at Z higher than 70,
; change the value to a greater value)
G92 E0 ;zero the extruded length

G91 ;Set relative positioning
M728 ;FAB beep beep !!! 
;REMOVE BOWDEN TUBE FROM THE HEAD AND CUT THE EXCESS FILAMENT!!!
G4 S10 ;10 seconds pause to cut the filament

G91 ;Set relative positioning
G1 F1000 E-799 
;fastly unload 799 mm of filament (depending on your bowden lenght)
G91 ;Set relative positioning
G1 F1000 E-299 
;fastly retract 299 mm of filament (if it wasn't enough)

M728 ;FAB beep beep
;!!! REMOVE THE OLD FILAMENT AND INSERT THE NEW ONE !!!
G4 S5 ;5 seconds pause to change the filament


;M109 SXXX 
;!!!SET NEW MATERIAL TEMP (IF NEEDED) 

G91 ;Set relative positioning
G1 F1000 E799 
;fastly load 799 mm of filament 
G91 ;Set relative positioning
G1 F1000 E199 
;fastly load 199 mm of filament


M728 ;FAB beep beep
;!!!CUT THE EXCESS OF FILAMENT FROM THE BOWDEN AND INSERT IT IN THE HEAD !!!
G4 S5 
;5 second pause to cut the excess of filament and insert the bowden 
;in the the head

G91 ;Set relative positioning
G1 F300 E150 ;slowly extrude 150 mm of filament to clean the nozzle
G91 ;Set relative positioning
G1 F300 E150 ;slowly extrude 150 mm of filament to clean the nozzle twice 

G92 EXXXX ; !!! SET HERE THE VALUE OF "E" AFTER CFOG PROCEDURE !!!

G4 S1 ;1 millisecond pause to buffer the beep beep
M728 ;FAB beep beep 
G4 S1 ;1 millisecond pause to buffer the beep beep

G90
G1 F9000 


; CFOG Procedure END

Come utilizzarlo?

Potrebbe sembrare macchinoso all’inizio, ma in realtà dopo qualche prova risulta piuttosto agevole.

Partiamo con un esempio: il cono stradale, diventato nel corso del tempo la stampa 3D bicolore più comune.

IMG_0117.JPG

Cono stradale multicolore stampato con tecnica CFOG

Il file stl può essere scaricato da Thingiverse.

  • Apriamo il file con il nostro slicer preferito, in questo caso Cura, e generiamo il gcode utilizzando i nostri parametri preferiti, come per una stampa qualsiasi. Abbiamo ottenuto il gcode da postlavorare.
  • Decidiamo a che punto vogliamo applicare il cambio di colore. In questo caso volevo effettuare 4 cambi colore equamente distribuiti lungo l’altezza dell’oggetto: essendo l’oggetto formato da 200 layer la procedura è applicata ogni 40 layer.
  • Posizioniamoci all’inizio del layer dove vogliamo applicare il cambio, cercando nel testo la dicitura “LAYER XX” e incolliamo lo script qui sopra. NB: il software Cura parte dal layer 0 nella scrittura del gcode, mentre parte dal layer 1 nella schermata di visualizzazione del layer, quindi sottraete uno al valore che avete scelto guardando la schermata “layer” di Cura.

Tutti i parametri che vanno impostati e le azioni che vanno eseguite durante la procedura sono indicate da tre punti esclamativi (!!!).

Configurazione dello script:

; !!! COPY HERE THE "G1" LINE BEFORE CFOG PROCEDURE WITH "E" VALUE 
;MINUS 7 
G1 X94.550 Y119.843 E1268.38323

Torniamo indietro nella lettura del gcode fino a trovare l’ultima riga che contiene il comando “G1” e copiamola nel punto indicato, modificando il valore di “E” ed inserendo il valore sottratto di 7 unità. Questo comando fa sì che vengano ritratti 7mm di filamento dall’hotend della stampante.

G1 X10 Y10 Z70.0 F{travel_speed} ;move to oozing point 
;(In Case the CFOCG is applied at Z higher than 70,
; change the value to a greater value)

Questo comando sposta la testa nella posizione di “Oozing”, ovvero nella posizione di pulizia dell’estrusore. Fate attenzione ad impostare un valore di Z maggiore del valore di Z del layer in cui si effettua la procedura.

G92 E xxxx ; !!! SET HERE THE VALUE OF "E" AFTER CFOG PROCEDURE !!!

Qui va inserito il primo valore di “E” che troveremo subito dopo la procedura. Il comando serve ad “azzerare” i movimenti che sono stati effettuati e sincronizzare il valore di “E” con il gcode originario.

La configurazione è completata. Salvate il gcode e caricatelo nell’object manager della FABtotum.

Fase operativa:

  • Avviare la stampa normalmente, con caricato il filamento che si intende utilizzare per i primi layer (in questo caso arancione);
IMG_6859.jpg

Fase operativa

  • Attendere che i primi layer vengano stampati fino al momento in cui si avvertirà un beep per richiamare l’attenzione;
  • Estrarre il tubo bowden dalla testa e tagliare il filamento in eccesso: potrebbe essersi espanso e incastrarsi nel tubo in fase di scaricamento;
  • Attendere lo scaricamento del filamento. Quando la macchina emetterà un secondo beep sarà il momento di sfilare il vecchio filamento, e caricare velocemente il nuovo (si hanno 5 secondi di tempo prima che inizi il caricamento);
  • Attendere il caricamento del nuovo filamento. Dovrebbe essere stato caricato filamento in eccesso. Tagliare l’eccesso e infilare nuovamente il bowden nella testa.
  • La macchina estruderà una piccola quantità di plastica nella zona di pulizia per assicurarsi di aver eliminato tutto il vecchio materiale, per poi riprendere nuovamente la stampa da dove era stata interrotta.

Ripetere la procedura per il numero di volte desiderato. Per non confondermi, ogni volta che “inizializzo” la procedura aggiungo un numero della procedura usata, in modo da trovare facilmente all’interno del gcode il punto in cui sarà effettuato il cambio colore.

In caso si abbia la necessità di utilizzare materiali che fondono a temperature differenti, basta rimuovere il commento (cancellare il “;” ) all’inizio della riga dedicata e impostare il valore della temperatura di estrusione del nuovo materiale che volete stampare.

;M109 SXXX 
;!!!SET NEW MATERIAL TEMP (IF NEEDED)

Ovviamente questa procedura non funziona solo con la FABtotum: per adattarla ad altre stampanti basta cambiare i valori della lunghezza dello scarico filo e carico filo, adattandosi alla lunghezza del bowden della propria stampante. In caso si utilizzi un estrusore diretto, impostare il valore intorno ai 20-30mm.

Alcuni esempi:

Ecco una piccola collezione di oggetti modellati da me (e non) e stampati utilizzando la stessa tecnica.

  • Hamburger

Stampato con PLA Wood Fabtotum, PLA verde fluo, PLA marrone, PLA giallo marca cinese e ancora PLA Wood Fabtotum.

Modellato con Fusion360 di Autodesk, il modello può essere scaricato dal mio profilo Thingiverse.

IMG_0114_b.jpg

Hamburger multicolore stampato con tecnica CFOG

  • Cono gelato

Stampato con PLA Wood Fabtotum e PLA bianco marca cinese.

Il modello può essere scaricato da Thingiverse.

IMG_0111_b.jpg

Cono gelato multicolore stampato con tecnica CFOG

  • Coca cola

Stampato con PLA nero marca cinese e PLA rosso FABtotum.

Modellato con Fusion 360. Il modello può essere scaricato dal mio profilo Thingiverse.

img_0112_b

Bottiglia di Coca cola multicolore stampata con tecnica CFOG

  • Hot dog

Stampato con PLA Wood Fabtotum e PLA marrone marca cinese.

Modellato con Fusion 360. Il modello può essere scaricato dal mio profilo Thingiverse.

IMG_0119.JPG

Hot dog multicolore stampato con tecnica CFOG

  • Uovo al tegamino

Stampato con PLA bianco e PLA giallo marca cinese.

Modellato con Fusion 360. Il modello può essere scaricato dal mio profilo Thingiverse.

IMG_0116_b.jpg

Uovo al tegamino multicolore stampato con tecnica CFOG

Conclusioni:

Come dimostrato la procedura non risulta essere troppo complicata, né nella fase di configurazione, né in quella operativa.

Rispetto ad una prima versione dello script, più rudimentale, sono stati ottimizzati sia i tempi della procedura, sia la quantità della plastica sprecata durante lo spurgo dell’ugello.

In particolare, per ogni procedura di cambio filo ci vogliono 4 minuti e 30 secondi e circa 1,5g di plastica. Unica pecca è che a differenza delle altre stampe in cui si lancia la stampa e si torna dopo ore, in questo caso bisogna seguire la stampa, o per lo meno lavorare nella stessa stanza.

Queste sono i risultati dei miei esperimenti con la stampa multicolore: spero che possano tornare utili a qualcuno! Mi farà molto piacere se vorrete condividere con me i vostri, insieme a commenti e suggerimenti.

Photo credits: Marco Rizzuto

Annunci

One thought on “CFOG: Stampa 3D Multicolore con FABtotum (e non solo!)

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...