fbpx

Come calibrare il valore K del Linear Advance

Quando si parla di ottimizzazione del processo di stampa è necessario prendere in considerazione una delle funzionalità offerte dal Firmware Marlin, il Linear Advance. Di default non è attivo e deve essere abilitato all’interno del file “Configuration-adv.h” cercando la seguente stringa:

#define LIN_ADVANCE  #if ENABLED(LIN_ADVANCE)    //#define EXTRA_LIN_ADVANCE_K // Enable for second linear advance constants    #define LIN_ADVANCE_K 0.13    // Unit: mm compression per 1mm/s extruder speed    //#define LA_DEBUG            // If enabled, this will generate debug information output over USB.    #define EXPERIMENTAL_SCURVE // Enable this option to permit S-Curve Acceleration  #endif

togliendo le due // dalla linea //#define LIN_ADVANCE per attivare la funzionalità. A quel punto si andrà ad impostare un valore provvisorio del K lasciando anche quello proposto di 0.22 (potete mettere anche 0 e poi regolarlo successivamente) l’obiettivo di questa guida è proprio quello di calibrarlo per trovare il valore migliore. Una volta compilato e caricato il firmware con il “Linear pressure control” attivo (ovvero il Linear Advance in breve…) poi potremo modificare a piacere il valore K attraverso il comando M900 scritto nelle prime linee del nostro start gcode o inviato da terminale. 

Questa cosa è importantissima perchè come potrai notare durante i test, il valore K dipende moltissimo dal filamento caricato ma anche da:

  • Tipologia di estrusione, direct drive oppure bowden
  • Diametro del nozzle
  • Materiale del nozzle
  • Lunghezza del canale di estrusione
  • Lunghezza del bowden
  • Materiale di stampa (come detto prima)
  • Velocità massima di stampa
  • Altezza layer
  • Temperatura di stampa

e quindi ti troverai ad associare K differenti in differenti profili di stampa.

La calibrazione di questo valore ci permetterà di regolare in anticipo la pressione all’interno della camera di estrusione del nozzle, evitando mancamenti di materiale nei cambi di accelerazione o oppure rigonfiamenti nei cambi di direzione come gli angoli a 90°. In uno dei vecchi video in cui parlavamo di Retraction e Stringing avevamo menzionato il problema della fuoriuscita di materiale quando si interrompe l’estrusione, la stessa cosa avviene quando ci sono dei cambi di direzione del tracciato tali da impedire una corretta regolazione del flusso. I motori si muovono con delle rampe di accelerazione e decelerazione ben definite e conosciamo con certezza il punto di inizio e di arrivo di un movimento: con l’estrusione del filamento non è proprio così poiché quando interrompiamo un’estrusione il filamento si ferma effettivamente, ma la pressione accumulata all’interno del nozzle continua a far fuoriuscire il materiale presente nella camera di estrusione già fusa. Ecco quindi ritrovarci puntualmente angoli molto arrotondati o con sovrabbondanza di materiale oppure punti di inizio loop senza materiale o con pochissimo depositato. Questo in parte è dovuto anche ad un aumento repentino del valore relativo al Jerk o alle accelerazioni e velocità di stampa che ovviamente vanno ad aggravare il problema relativo al controllo del flusso in uscita una volta che si smette di estrudere. 

Un parametro che si trova negli slicer chiamato “Coasting”, permette all’estrusione di fermarsi X mm prima della fine del loop, questo viene utilizzato per evitare la formazione di blob sulla cucitura. Altri slicer come Prusa Slicer hanno il parametro “pressure advance” oppure Kisslicer una cosa simile chiamata “Preload”. Con il Linear Advance stiamo parlando di un valore (K) all’interno del Firmware che ci permette di regolare in anticipo la pressione in estrusione nei punti in cui sia richiesta una diminuzione (come ad esempio nei pressi di un cambio di direzione a 90°) oppure un aumento di questa quando sono previste improvvise accelerazioni, aumentando la pressione in anticipo, poco prima dell’accelerazione. Ecco quindi spiegato il termine “advance” (in anticipo) e a cosa serve sulla nostra stampante. Utilizziamo l’immagine della guida ufficiale per spiegare ancora meglio il test che andremo a fare:

Verranno stampate una serie di linee divise principalmente in 3 settori / variazioni di velocità (lento – veloce – lento) mentre per ogni riga verrà variato il solo valore K al fine di cercare quale linea risulta essere la più uniforme. All’interno del generatore inserite una Start value for K di 0.1 e una End Value for K pari a 1 (o più) poi dopo potrete eseguire dei test intermedi per capire su quale fascia di valori concentrare i successivi test e trovare il valore perfetto.

Prima di proseguire il test assicuratevi di aver regolato correttamente gli STEP/MM dell’estrusore e di aver misurato con il calibro il diametro del filamento. Assicurati inoltre di aver regolato bene il primo strato di stampa (Z offset primo layer).

Andando in dettaglio cerchiamo di capire cosa guardare nel test:

Ogni singola riga verrà creata secondo questo semplicissimo schema, tutti i parametri sono modificabili come le lunghezze e le velocità di ogni segmento all’interno del generatore che abbiamo visto prima. 

  1. I primi 20 mm sono eseguiti alla velocità impostata come “Slow Speed”.
  2. Il passaggio alla “Fast speed” ,che ricordiamo deve essere molto più alta della Slow speed (esempio 20 slow 70 fast oppure 40 slow 100 fast ecc ecc), porterà con sé una riduzione della larghezza di linea depositata proprio perchè non si è ancora creata in questa zona la pressione necessaria all’interno dell’ugello.
  3. Ad un certo punto l’estrusione si normalizzerà “sincronizzandosi” con la velocità Fast impostata.
  4. Possiamo identificarlo come una svolta di 90° o una variazione di velocità improvvisa: i motori degli assi XY seguono la loro classica curva di decelerazione ma, come spiegato prima, l’estrusione del filamento non è del tutto lineare e quindi tenderà ad estrudere un po’ più del materiale previsto creando una linea più larga.
  5. Una volta ritornati alla Slow speed la pressione deve ancora stabilizzarsi e ci mette ancora un piccolissimo lasso di tempo prima di tornare alla pressione corretta per la generazione della larghezza di linea impostata.
  6. La linea sarà uniforme perchè la pressione all’interno dell’ugello è ok.

Quale valore scegliere ? Volto semplice, quello che corrisponde alla linea più uniforme possibile. Se vedete che, ad esempio, tra i valori K 0.3 e 0.5 ci sono le linee migliori, eseguite un nuovo test tra questi due valori inserendoli come Start value for K e  End Value for K. Potreste poi trovarvi con valori tipo K=0.42 oppure K=0.33 (anche seconda di quale K-factor Stepping avete impostato. Piccola nota per chi utilizza firmware basati su RepRap Firmware, questo test può essere eseguito normalmente ma andrà sostituito il valore M900 K con M572 D0 S

Una volta trovato il valore perfetto vi accorgerete come i valori di retraction impostati nello slicer diminuiranno sensibilmente quindi anche lo stringing beneficerà dalla regolazione del linear advance e non solo la stampa dell’oggetto. Si potranno anche disattivare (come consigliato dalla guida ufficiale) parametri come il Coasting, Pressure Advance, Extra restart Distance, Wipe.

Per maggiori informazioni seguite comunque l’articolo ufficiale sul sito di marlin e i relativi approfondimenti/consigli che spiegano ancor più nel dettaglio come funziona il Linear Advance.