Introduzione alla stampa 3D e Slicing (PrusaSlicer)

Scrivo questo articolo per riportare sul sito qualche dettaglio riguardo ad un’altra delle mie passioni e cioè la stampa 3D. Inoltre, vorrei dare qualche informazione per chi vuole cimentarsi in questo campo ed ha ancora qualche incertezza. Chi accede all’articolo solo per PrusaSlicer può saltare direttamente a questo punto.
“Stampa 3D” è il nome più comune che si da alla fabbricazione additiva. In breve, a partire da un file CAD (in genere in formato STL), si ottiene la sua riproduzione (tipicamente in plastica). Ecco un video di esempio fatto da me:

Stampa 3d di un razzo in modalità vaso con Prusa Mini

Nel video di esempio la tecnologia di fabbricazione additiva è detta FDM (Modellazione a deposizione fluida). Mi soffermerò su questa tecnologia in quanto è quella di cui conosco di più e la ritengo utile anche in applicazioni domestiche. Il principale competitor in questo ambito è la tecnologia SLA (stereolithography apparatus) anche detta comunemente stampa a resina: lo svantaggio di questa tecnologia è la maggiore emissione di sostanze tossiche che poco si adatta ad un ambiente domestico, nonostante queste stampanti consentano di ottenere una risoluzione maggiore soprattutto su piccoli particolari.

Come funziona in breve la stampa 3D FDM?

Abbiamo detto che l’input della stampa 3D è un file CAD e l’ouput è il pezzo che, nella tecnologia FDM, è ottenuto depositando materiale fuso su un piatto di stampa strato per strato in direzione verticale (asse z). Tra input e output sono presenti due parti fondamentali:

  • Lo slicer (anche detto Slicing software).
  • La struttura meccanica della stampante.

Nonostante i problemi possano essere presenti anche nel file CAD, i problemi principali nella stampa 3D si concentrano nei suddetti punti.

Lo slicer

Lo slicer è un programma che converte il file 3D in specifiche istruzioni per la stampante. Di fatti, la stampante costruirà strato per strato il pezzo a seguito di movimenti controllati dell’ugello e del flusso di materiale plastico (quest’ultimo controllato dall’estrustore). L’output tipico è un file detto “gcode” (anche perché l’estensione è .gcode) che consiste in un linguaggio di programmazione che viene utilizzato anche nelle macchine a controllo numerico computerizzato (CNC). La forma, riportata di seguito, è infatti familiare a ingegneri meccanici:

G90 ; use absolute coordinates
M83 ; extruder relative mode
M104 S170 ; set extruder temp for bed leveling
M140 S[first_layer_bed_temperature] ; set bed temp
M109 R170 ; wait for bed leveling temp
M190 S[first_layer_bed_temperature] ; wait for bed temp
G28 ; home all without mesh bed level
G29 ; mesh bed leveling
M104 S[first_layer_temperature] ; set extruder temp
G92 E0.0
G1 Y-2.0 X179 F2400
G1 Z3 F720
M109 S[first_layer_temperature] ; wait for extruder temp
; intro line

All’utente non è richiesto di conoscere il Gcode in maniera dettagliata in quanto sarà generato automaticamente dal software ma è invece necessario conoscere alcuni dei comandi più frequenti (anche documentandosi in rete) perché, inserendo manualmente alcune righe di comando, spesso è possibile ridurre alcuni errori di stampa.
I programmi di slicing oggigiorno permettono di inserire molti più parametri che aiutano nella stampa e che vedremo brevemente più avanti. La riduzione degli errori nell’output della stampa 3D dipende dall’uso sapiente di tali software da parte del progettista.

La struttura meccanica

Stampante FDM Prusa mini.


La struttura meccanica più comune per le stampanti 3D è quella cartesiana caratterizzata da tre assi mutuamente ortogonali. Tutti gli assi sono motorizzati con motori passo-passo. Questi ultimi non sono 3 ma bensì 4 in quanto il quarto motore serve a muovere il filamento nel gruppo estrusore della quantità prestabilita. Non mi soffermo molto su questo argomento poiché le strutture sono molteplici, ma ciò che è importante sapere è che un errore, più o meno grande, è introdotto proprio dalla struttura e dalle tolleranze di costruzione e assembaggio. Nel caso della Prusa Mini gli assi X e Y sono mossi da un accoppiamento a cinghia su guide lineari mentre l’asse Z è mosso da un accoppiamento vite-madrevite (con vite trapezoidale) sempre su guide lineari.

Cose da sapere prima di iniziare a stampare in 3D

Spesso un ostacolo a chi decide di cimentarsi in questo mondo è il non sapere di quali abilità si ha bisogno e di quanto tempo è necessario investire. In questa sezione cercherò di chiarire questi dubbi.
Da quanto visto sopra si può capire che l’ostacolo tra l’utente e il pezzo 3D è costituito dallo slicer e dalla stampante fisica, in quanto do per scontato le abilità nel disegno 3D (anche se non sono strettamente necessarie per chi usa la stampante per hobby data la numerosità dei modelli disponibili online).
Per quanto riguarda la stampante fisica, si tratta di una questione ostica e non la tratterò a fondo. In questo ambiente è piuttosto valida la legge di proporzionalità tra spesa e ridotta manutenzione ordinaria e straordinaria. Le stampanti più economiche, per effettuare stampe di buona qualità, richiedono molto più tempo speso in calibrazioni, upgrade, manutenzione e post-produzione. Le stampanti in una fascia di prezzo più alta offrono buoni risultati con manutenzione ridotta e calibrazioni concentrate maggiormente nel lato software.
Nella sezione seguente cercherò di dare un’idea delle calibrazioni e dei principali parametri che, dal punto di vista software, necessitano di essere calibrati per ottenere stampe di buona qualità.

Mini Guida allo Slicing (con PrusaSlicer)

Prusaslicer è il software di slicing fornito da Prusa e lo userò come esempio in quanto tutti i programmi di slicing sono molto simili. Alla sua apertura è possibile cliccare su:

File -> Importa…

Così viene importato il file .STL desiderato. Cliccando su “Processa ora” ciò che viene mostrato è la schermata seguente:

Si nota come il programma abbia automaticamente selezionato i parametri più comuni come una altezza di ogni strato (layer) pari a 0.20 mm, il materiale (PLA) e la stampante usata. Il riempimento è impostato al 15%. La legenda ci indica il significato di ogni linea colorata e in basso a destra è visibile una anteprima della quantità di filo consumata, del costo e del tempo di stampa. Nell’immagine con maggior zoom sono visibili i vari layer. Vediamo cosa cambia variando solo questi iniziali parametri.

Parametri di base

Altezza dei layer
Variazione altezza layer da 0.20 a 0.07 mm

Si nota nell’immagine che riducendo l’altezza dei layer si ottiene una migliore risoluzione. Tuttavia, i tempi di stampa aumentano da 2h a 13h.

Diametro ugello (nozzle)

Dal lato software è possibile solo aumentare la risoluzione in direzione verticale (asse z). Se volessimo aumentare la risoluzione in direzione x e y occorrerebbe una modifica alla stampante e non al software: bisogna cambiare il diametro dell’ugello sostituendolo. Di default il software considera un ugello con diametro di 0.4 mm e il fatto di dover ritoccare i parametri fisici della stampante ci viene suggerito dalla presenza di qeusta impostazione nella sezione “stampante”.

Impostazione di default e impostazione con ugelo di 0.25 mm

La sostituzione cn un ugello di diametro minore ovviamente aumenta i tempi di stampa. Nel caso volessimo ridurre i tempi di stampa, pagando con una minore risoluzione, potremmo installare ugelli di 0.6, 0.8 e 1 mm. L’operazione è semplice dato che si tratta di un accoppiamento filettato.

Riempimento (infill)

Di seguito si nota cosa varia aumentando il riempimento. Questo parametro regola la percentuale di volume piena rispetto al volume totale

Confronto tra riempimento al 15% e 50%

Muovendo lo slider sulla destra ci siamo posizionati ad un’altezza pari a 17.05 mm. La trama di riempimento in questo caso è Giroide ma è possibile scegliere tra numerose geometrie. In genere un riempimento del 50% è già sufficiente ad avere un buon rapporto tra resistenza e peso. Nel caso si volesse ottenere maggiore resistenza meccanica, è consigliato aumentare i perimetri (spessore delle pareti gialle) e, in estremis, avere infill pari al 100% cioè un pezzo pieno.

Parametri di flusso (filamento)

Questi parametri influenzano fortemente il flusso di plastica fusa che fuoriesce dall’ugello e vanno calibrati in base al materiale e al filamento.

Esempio di parametri per PLA generico.

Il diametro del filo e la sua densità sono pressochè identici tra i vari produttori di filamenti. I parametri fondamentali da calibrare sono:

  • Moltiplicatore estrusione (extrusion multiplier o flux factor).
  • Temperatura Estrusore.
Calibrazione primo layer

Prima di definire i parametri sopraelencati occorre calibrare l’altezza del primo layer variando la distanza tra ugello e piano riscaldato. Nel caso di stampanti prusa questa operazione è da svolgere una sola volta per ogni filamento (o al cambio ugello) così da salvare i parametri per una particolare marca di filo o un particolare materiale.

Test di calibrazione del primo layer.

Per stampanti più economiche questa è l’operazione più onerosa in quanto viene svolta senza l’ausilio di un sensore dedicato ma bensì con la regolazione tramite collegamenti filettati posti al di sotto del piano di stampa.

Moltiplicatore estrusione

Se non settato correttamente, questo parametro può comportare problemi di sovra-estrusione (overextrusion) o sotto-estrusione (underextrusion). Nel primo caso la portata di massa fusa uscente dall’ugello è maggiore di quella attesa dal software, mentre nel secondo caso abbiamo un comportamento opposto. Oltre a problemi dimensionali ed estetici, una sovra-estrusione può far fallire copletamente una stampa in quanto il materiale in eccesso ricopre anche la zona del layer successivo provocando un seguente urto dell’ugello contro il pezzo e in alcuni casi il distacco di quest’ultimo.

Calibrazione visiva

Il moltiplicatore viene per l’appunto moltiplicato per la portata e quindi, se minore di 1, la riduce. Per calibrare questo parametro velocemente si stampano dei cubi, con diverso valore del moltiplicatore, e vengono misurati con calibro e osservati. Nel caso di PLA Filoalfa un valore adeguato per la mia stampante è risultato essere 0.92 (92%). Ci sono altri tipi di test più o meno semplici e una guida più dettagliata può essere trovata qui:

https://help.prusa3d.com/it/article/calibrazione-moltiplicatore-estrusione_5912

NB: Un approccio che sconsiglio è quello di variare il moltiplicatore nelle impostazioni filamento. Ma di aggiungerlo come gcode personalizzato ad un’altezza layer molto bassa (come 0.40 mm). Il gcode da inserire è :

  • M221 Sxxx ; set flow (flux factor)

Dove xxx è il flux factor (nel mio esempio è pari a 92).

Metodo di aggiunta gcode al terzo layer (tasto destro del mouse)

Il motivo di questo approccio è che la stampante Prusa regola il flusso anche in corso d’opera in questo modo:

Total multiplier = Flux factor x Extrusion Multiplier

Tipicamente per il primo layer occorre più flusso (100%) e temperatura maggiore per migliorare l’adesione, quindi se variamo l’extrusion multiplier nello slicer, anche se la stampante configura 100% di flux factor per il primo layer, quest’ultimo valore verrà eventualmente abbassato. Lasciando l’extrusion multipier pari a 1 avremo che il valore scelto da noi in seguito alla calibrazione verrà applicato solo dal terzo layer in poi.

Temperatura Estrusore

La scelta della temperatura dell’ugello dipende da diversi fattori. Essa principalmente dipende dal filamento, dal materiale, dalla temperatura ambiente e dalla geometria del pezzo.

  • Una temperatura troppo alta provocherà delle colature, fenomeni di stringing (filamenti) e dimensioni molto fuori tolleranza.
  • Una temperatura troppo bassa comporterà scarsa adesione tra i layer (meno resistenza meccanica e layer maggiormente visibili) e sotto-estrusione.

Un modo rapido per calibrare la temperatura è quello di realizzare una temp tower: trattasi di una geometria a torre dove ogni sezione viene generata alla temperatura indicata in quell’intervallo di altezza.

Temp Tower PLA Filoalfa bianco

Anche in questo caso conviene lasciare i parametri di base nello slicer in quanto i primi layer necessitano di temperature più alte. Piuttosto, conviene inserire un gcode personalizzato al terzo layer come il seguente:

  • M104 Sxxx ; set extruder temp

Dove xxx è la temperatura in gradi celsius. Nel mio caso ho scelto 205 °C in quanto preferisco maggiore resistenza meccanica. Alle tolleranze negli accoppiamenti dedicherò un altro articolo. Inoltre, il fenomeno dello stringing può essere ridotto ricorrendo alla retrazione. Di seguito ho caricato il file gcode della temp tower per la prusa mini in quanto va generato manualmente.

Parametri avanzati

Retrazione

In prusaslicer si trova questo valore in Impostazioni stampante->Estrusore.

Retrazione in PrusaSlicer

Per evitare di creare filamenti (stringing) quando l’estrusore si sposta “a vuoto” cioè senza estrudere, è possibile fissare una lunghezza di retrazione (da 0 a 7 mm in genere): questo farà sì che l’estrusore, prima di spostarsi a vuoto, ritiri dei mm di filo pari alla lunghezza di retrazione. In questo modo si crea una depressione nell’ugello che risucchia parte del materiale che altrimenti colerebbe creando filamenti. Ovviamente, aumentare troppo il valore di retrazione può essere negativo perché le continue retrazioni causano una usura del filo, da parte delle ruote dell’estrusore, che ne riduce la sezione con tutti i problemi del caso.

Lascia un commento

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.