Tempo stimato dallo slicer vs tempo reale della stampa 3d

Chiunque abbia una stampante 3D casalinga si è accorto di una discrepanza più o meno accentuata tra tempo stimato dallo slicer e il tempo reale della stampa 3D. Questo a volte è così diverso che ci destabilizza. Io stesso ho avviato stampe previste di 5 ore che ne hanno impiegato 10 a terminare.
Con questo articolo proviamo a capire come mai si verifica e proviamo a sforzarci di trovare una soluzione

La domanda fondamentale è: Esiste un modo per arrivare ad avere tempistiche più accurate? Per rispondere a questa proviamo a individuare quali sono le cause della mancata correttezza.

Tempo stimato dallo slicer Vs tempo reale: Quali operazioni contribuiscono alla differenza

Può essere il tempo di elaborazione del g-code che contribuisce alla differenza?

Si potrebbe pensare che il primo contributo al mancato conteggio sia il tempo che impiega il Gcode a passare da SD card alla macchina e questa ad elaborare tutti i movimenti che deve compiere.
Effettivamente questo tempo non viene conteggiato. Ma comunque vengono lette e messe in sequenza e se siamo provvisti di una scheda 8bit avremo 4 intere righe di gcode elaborate alla volta.
Ciò si traduce in parole povere che durante gli step il controller riesce ad elaborare abbastanza da garantirsi il lavoro no stop, quindi non possiamo conteggiare questo come una fonte di perdita di tempo da un comando all’altro. Per una funzione tipica del processo questo può portare un rallentamento solo se i comandi analizzati hanno un numero piccolissimo di step. In questo caso non avrebbe il tempo necessario per preparare i comandi in coda. Nella stampa 3D però questo è estremamente raro.

tempo stimato dallo slicerPossono essere accelerazioni e decelerazioni che contribuiscono alla differenza?

Accelerazioni, decelerazioni e valori di Jerk sono effettivamente mal contemplate e nella stragrande maggioranza dei casi. Perchè succede? Molto semplicemente il firmware ha valori che non corrispondono con i valori preimpostati dello slicer. Attraverso una ricerca si può verificare i valori firmware e copiarli sullo slicer per avere tempistiche accurate.

Molti produttori di stampanti economiche vogliono garantire stampe discrete con materiali economici, quindi diminuiscono i valori di Accelerazione e Jerk. Così facendo anche la Anet A8 (esempio puramente casuale) produce buone stampe, pur avendo il telaio in acrilico.

Ma non è finita

Anche impostando  i valori alla perfezione comunque le tempistiche non corrispondono, e c’è di più! Infatti a maggiore velocità impostata risulta un divario sempre maggiore!

Anche qui si parla di artefatti eseguiti ad hoc dalle case produttrici per “ingannarci”. Per farla estremamente semplice è come avere il tachimetro della Punto Diesel con il fondo scala a 400 Km/h. Puoi anche mettere al massimo la macchina e pensare che vada ai 400 all’ora ma questa più dei 150 Km/h non può fare! Nel caso delle stampanti è un “limitatore” imposto via firmware e non un limite fisico del motore come succede per il mio esempio precedente. Ma il discorso è comunque circa quello.

Visto che non sono un esperto di elettronica vi ripropongo qui la spiegazione data dal “Mago” (Marlin) ideatore del firmware Marlin Kimbra e tutte le versioni successive (MK2, MK4) che potete trovare su: www.marlinkimbra.it.

IPSE DIXIT


“In Marlin (e MK) e repetier si è definito che DOUBLE_STEP_FREQUENCY è di 10000, cioè la frequenza degli step, fino a un max di DOUBLE_STEP_FREQUENCY * 4 quando si lavora in double o quad step.
Ora tralasciamo il double e quad per un attimo. Perché si è deciso questo?
In fondo il controllore potrebbe andare molto più veloce, ma ha tante cose da fare. Gli step vengono fatti su una chiamata interrupt, cioè qualsiasi cosa stia facendo il controllore deve fermarsi e fare gli step.
Se si andasse troppo veloce, non avrebbe tempo di riuscire a leggere il gcode, da sd o seriale, fare il parsing del comando, calcolare le acc, jerk velocità, quantificare gli step per ogni asse e infine creare un buffer di step da far eseguire alla routine che viene chiamata dagli interrupt.

Se si aumentasse quel valore si rischia, in alcuni momenti, che il buffer si svuoti prima che venga riempito di nuovo da altri comandi e quindi la stampante si ferma per poi ripartire appena ha di nuovo il buffer…

Questi 10000 step al secondo, sono diciamo il massimo se continuasse a dare 10000 impulsi al secondo come se non ci fosse un domani, ma c’è tutta la fase di accelerazione e decelerazione. per arrivare a 10000…
Ora una velocità di crociera del carrello su X o anche su Z può anche arrivare a 200 mm/s può anche averla, ma per arrivare deve accelerare e infine decelerare, quindi i 200 mm /s li avrebbe solo per un pezzo minimo molto corto.

Poi questi 10000 sono per asse, ma durante la stampa non si muove solo un asse per volta ma X Y, per chi ha l’abl Z, e infine E. Di solito l’estrusore è proprio il punto debole, per via delle basse velocità e della basa accelerazione.
Visto poi che tutte le velocità sono in base all’estrusione, perché durante il movimento di stampa deve anche estrudere e quindi il nozzle non può schizzare da una parte all’altra e non riuscire a rilasciare il filo che va più lento… Infatti in travel, senza stampa, sicuramente si possono raggiungere velocità più alte, ma in stampa no.
Detto ciò una stampante a 8 bit a 1/16 microstep con 80 step per mm stamperà a non più di 30/50 mm/s. Non è quantificabile esattamente ripeto perché ci sono molti fattori”.


Quindi in sostanza non si deve credere alle velocità dichiarate. E quindi è anche stupido che si creda di poter stampare a velocità doppie riespetto alla media, se non con accorgimenti ben più difficili che un’impostazione di velocità sullo slicer.

Tempo stimato dallo slicer vs tempo reale: la soluzione

Le nuove versioni degli slicer, vedasi Cura 4.3 (ultima versione nel momento in cui scrivo) ha incorporato moltissimi profili stampante, dove al momento dell’installazione possiamo scegliere la nostra. Attraverso la scelta della stampante appropriata non avremo più discrepanze tra tempo stimato dallo slicer e tempo reale.
Se non ci sarà la nostra stampante potremmo selezionarne una simile, che avrà grossomodo gli stessi parametri. Per esempio se siete possessori di una Alfawise U30 Pro (come il sottoscritto) potrete utilizzare il profilo della Creality Ender 3 ed avere lo slicer correttamente impostato.


Se avete trovato utile questa guida mettete MI PIACE alla nostra pagina Facebook per ricevere aggiornamenti su tutte le novità del Blog! Potete trovare molte altre guide sulla stampa 3D nella nostra sezione GUIDE!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.