I professionisti della stampa 3D al tuo servizio

Cos’è il Jerk ? Ecco come impostarlo correttamente

Copertina Jerk Reduced

TEORIA – JERK 3D

Quando si parla di ottimizzazioni della propria stampante 3D, uno degli aspetti da tenere in considerazione è sicuramente la velocità di stampa. Già la durata delle stampe è quasi eterna, perchè allora non ottimizzare a dovere anche questo parametro? Ti starai chiedendo, “basta alzare la velocità nello slicer”, si ok hai ragione. Ma quanto possiamo alzarla senza far implodere la stampante? Prenditi un po’ di tempo e segui con calma questi concetti base relativi alle velocità di movimento.

Quando la stampante muove un asse da un punto ad un altro lo farà con una velocità impostata in fase di slicing. La troverete espressa in mm/s oppure in mm/m, generalmente nei firmware e nei comandi che useremo quest’oggi utilizzeremo i mm/s. Fortunatamente il movimento non sarà da 0 a 100 istantaneo (cit BabyK) bensì entrano in gioco altri due parametri, Jerk (mm/s) e Accelerazione (mm/s^2). Guarda lo schema qui sotto:

Grafico del movimento

Attenzione: non entrerò nei dettagli della cinematica con formule e cose complicate. Questa vuole essere una spiegazione molto semplice giusto per far capire il concetto dei test che seguiranno.

NBB: per i più pignoli questa è una spiegazione semplice del movimento. In realtà, grazie alla funzione “look ahead” presente nei firmware, il motore non raggiungerà mai velocità zero altrimenti si verificherebbe un continuo start&stop durante la stampa!

Il famosissimo jerk , espresso in mm/s, non è altro quella velocità che il motore raggiunge non appena gli viene dato l’impulso; per intenderci se abbiamo impostato un jerk a 15 mm/s e una velocità di stampa a 60 mm/s, la stampante non farà 0-60 mm/s istantaneamente. Passerà da 0 a 15 mm/s subito e poi, dopo una accelerazione, arriverà alla velocità impostata. Si capisce quindi l’importanza di questo valore, se impostato male potrebbe creare artefatti nella stampa oppure danneggiare la macchina stessa. Le stampanti attualmente in commercio (kit da costruire) raggiungono in media i 50/60 mm/s stampando con una buona definizione.

Una piccola ma importante precisazione: ringrazio un nostro anonimo follower che ci ha gentilmente segnalato un’inesattezza presente nel video. Forse siamo stati troppo “frettolosi” nel spiegarlo e abbiamo commesso qualche errore imperdonabile.

Unità di misura: per quanto sui vari articoli di stampa 3D esteri e sui firmware si legga MM/S in realtà si fa riferimento al MM/S^3

Spiegazione: per farla breve nel video ho definito erroneamente il Jerk come una velocità ma, in realtà, si tratta di una High Derivate ” jerk ,derivata dell’accelerazione nel tempo, essendo l’accelerazione espressa in mm/s^2 vien da se che il jerk debba essere espresso in mm/s^3.” Quindi oltre ad essere espressa in mm/s^3 deve essere considerata come una “accelerazione dell’accelerazione”


Parlando invece dell’ALGORITMO (quello che regoliamo effetivamente con il comando M205) implementato nel firmware che gestisce il JERK, si deve fare riferimento invece al mm/s in quando è considerata come una VELOCITA’ “istantanea”. “… Si è deciso quindi di evitare il più possibile tali fasi di accelerazione: è stata introdotta la possibilità di non eseguirle nel caso in cui la variazione di velocità fosse abbastanza piccola da permettere ai motori stepper di effettuare la transizione senza perdita di passi. I parametri del Jerk Limiting sono quindi variazioni di velocità, definite indipendentemente per ciascun asse (estrusori compresi).” “….In questo algoritmo il jerk è quindi la minima variazione di velocità che richiede un’accelerazione: se \vec{v}_j e \vec{v}_k fossero abbastanza simili tra loro, il passaggio dall’una all’altra sarebbe istantaneo. ” Ringrazio SIMONE PERSIANI per il bellissimo articolo scritto: LINK ARTICOLO

  • Jerk troppo alto: la macchina si muove rabbiosamente, quasi come se avesse dei tic nervosi. Un valore medio che viene impostato nei firmware è di 15/20 mm/s. Se la  meccanica della 3D è veramente solida puoi anche provare ad alzare il valore fino a 30 mm/s e vedere come si comporta. I vantaggi di tenere un Jerk elevato si traducono in angoli retti a 90° senza fastidiosi rigonfiamenti e tempi di stampa ridotti. Di contro, se troppo elevato, creerà il famosissimo effetto “Ghosting/Rippling” : te ne rendi conto subito perchè in prossimità di lettere o fori la macchina vibra talmente tanto da influenzare la stesura del loop. Si perde definizione dell’oggetto stampato e si rischia anche di far perdere passi ai motori.

Effetto Ghosting

  • Jerk troppo basso: è indicato per quelle macchine che hanno una struttura debole e “ballerina”. Un valore di 5/10 mm/s va più che bene e consente di ottenere stampe con una buona definizione. Non andare troppo in basso o gli angoli verranno molto smussati e noterai delle sovrabbondanze di materiale nei punti in cui cambia direzione. La stampante va decisamente più lenta, sarà meno rumorosa e meno sollecitata meccanicamente.

Jerk Basso

Il jerk si imposta solitamente in fase di compilazione firmware, tranquillo è comunque possibile farlo a posteriori anche senza dover sbloccare la eeprom. Il comando da inserire nello start g-code del vostro profilo di slicing o quando si edita a mano il gcode è:

M205 X10 Y10

Può essere inserito in qualsiasi punto del Gcode, questa stringa bypassa il valore inserito nel firmware e , fino allo spegnimento della macchina o successiva sovrascrittura, rimarrà attivo in memoria. In questo esempio stiamo impostando il Jerk a 10 mm/s in X e Y. Se vedi differenze tra i due assi puoi tranquillamente inserire valori diversi. Se desideri approfondire maggiormente la sintassi del comando visita questo link: http://marlinfw.org/docs/gcode/M205.html

NBB: in alcune versioni vecchie di Marlin il Jerk si regola per XY contemporaneamente. In quelli più recenti sono stati differenziati.

IL TEST

Per capire quanto puoi spingerti con questo valore, ho creato un parallelepipedo con loghi, scritte e linee tipiche per enfatizzare il problema del rippling. Piuttosto che stampare 3 cubi con 3 impostazioni differenti, ti faccio lavorare su un’unica stampa modificando semplicemente il gcode. Non sai come farlo? Segui questo mio video dettagliato https://youtu.be/PG3qA02SCSk e poi procedi con il resto. Non hai voglia di vedere il video? Nessun problema, abbiamo preparato dei gcode GENERICI che dovrebbero andare bene su quasi tutte le stampanti, pertanto NON garantiamo che funzionino correttamente. Non ti aspettare eccelse qualità di stampa, in questo caso dovrai solo testare a quale valore la tua macchina inizia a perdere qualità.

Il parallelepipedo è alto 60 mm e largo 30X30 mm. Contiene scritte e loghi sia su X che su Y, in questo modo potrai capire quale asse lavora meglio. Sono virtualmente 3 sezioni alte 20 mm nelle quali sarà presente un valore di Jerk differente. Se scarichi i nostri gcode già pronti troverai inseriti nel codice ogni 20 mm la stringa M205, mentre i valori usati per lo slicing sono:

  • Nozzle: 0.4 mm
  • Top layer: 0
  • Bottom Layer: 3
  • Infill: 0%
  • Loop/perimetri: 3
  • Speed: 60 mm/s  – COSTANTE nessuna riduzione sui loop esterni
  • Accelerazione: 1000 mm/s^2 costanti (se devi modificare uno dei tuoi gcode aggiungi la stringa M201 X1000 Y1000 nello start Gcode)
  • Materiale: utilizzate PLA semplice

Altezza 0-20 mm – Jerk 5 mm/s – M205 X5 Y5

Altezza 20-40 mm – Jerk 15 mm/s – M205 X15 Y15

Altezza 40-60 mm – Jerk 30 mm/s – M205 X30 Y30

Download STL – Parallelepipedo: https://goo.gl/DmYHSr

  • Se hai una delta NON utilizzare questi gcode
  • Se hai stringhe particolari nello start gcode (tipo auto livellamento) apri il file e aggiornalo con i tuoi valori.

Se decidi di usare un tuo profilo di slicing ricordati di impostare una velocità costante per loop esterni e loop interni. Noi siamo partiti da 60 mm/s, puoi modificarla a piacere così come i valori del jerk. Ricordati poi di modificare il gcode generato inserendo nella riga prima che inizi il nuovo layer, la stringa con il codice M205 ecc ecc.

2 Commenti

  1. Massimiliano 31 ottobre 2018 Reply

    Nell’articolo scrivi: “jerk è l’accelerazione in funzione del tempo”.
    In realtà il jerk è la derivata rispetto al tempo dell’accelerazione.

    • Author
      Help3d 31 ottobre 2018 Reply

      Ciao Massimiliano, grazie per la segnalazione.
      In realtà è un copia/incolla di quello che ci ha scritto l’utente, probabilmente si è sbagliato e noi non abbiamo controllato a dovere (prima abbiamo parlato comunque di High Derivate). Modifichiamo subito con “jerk (derivata dell’accelerazione nel tempo)”. Grazie

Leave a reply

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

*