[[guide:encoder_dav]]

Encoder DAV per controllo filamento

Il sistema DAV (realizzato da D'Angella Vincenzo) permette di controllare con grande precisione i movimenti compiuti dal filamento durante la stampa. Tali movimenti vengono letti tramite un encoder che notifica la scheda elettronica inviando dei segnali di interrupt. MK4duo si occupa poi di confrontare i movimenti impartiti via software con quelli che effettivamente vengono rilevati dal DAV: in questo modo è possibile rilevare errori causati dalla fine del filamento o da un blocco avvenuto all'interno dell'estrusore.

Trovare una sistemazione in cui l’encoder sia ben stabile e posizionato tra la bobina e l’estrusore in modo che il filo si inserisca e scorra agevolmente senza nessun impedimento o forzatura. L'encoder deve essere fissato ad un supporto che rimanga fermo durante la stampa. L'uscita del filamento dall'encoder deve essere posizionata in prossimità dell’estrusore o collegata ad esso con un tubo bowden di modo che il filamento non fletta durante le retrazioni, che così possono essere lette correttamente dall'encoder.

Per questa sezione, a puro titolo di esempio, si è scelto di utilizzare la scheda RAMPS 1.4. I collegamenti elettrici devono essere adattati alla scheda della propria macchina.

L’encoder ha bisogno di alimentazione a 5V e di un terzo pin per inviare il segnale:

Nella RAMPS 1.4 per comodità conviene utilizzare un pin dei servo, in modo da avere i 5V, il GND ed il segnale vicini tra loro. Nella guida viene utilizzato il pin 4 ma è possibile utilizzare qualsiasi altro pin.

Per attivare l'encoder nel firmware, aprire il sito ufficiale di MK4duo e, nel menu a tendina dal titolo Firmware configurator, scegliere una versione >= MK4duo V4.3.3.

Se si sta già usando MK4duo sulla propria macchina, è necessario caricare la più recente versione del file Configuration_Overall.h e cliccare su Next step. Altrimenti, seguire preventivamente la guida del configuratore online.

Per configurare l’encoder DAV si deve accedere alla sezione Estrusori e scegliere il pin a cui è stato collegato (in questo caso il pin 4):

Ora si deve aprire la tab Funzioni e attivare Extruder encoder control. Di seguito sono da impostare due parametri per il corretto funzionamento dell'encoder, ovvero l'Encoder step for error detect ed il Min extruder step for check:

  • Encoder step for error detect: questo parametro indica ogni quanti millimetri di filo il firmware confronta la quantità teoricamente estrusa con quella effettivamente misurata dall'encoder.
  • Min extruder step for check: questo secondo parametro è una sorta di tolleranza o errore accettabile. Se la differenza tra il filo teoricamente estruso e quello misurato è inferiore a tale tolleranza il firmware continua la stampa, viceversa se l'errore è maggiore il firmware bloccherà la stampa mettendo la macchina in pausa.

Per un corretto funzionamento del sistema bisogna impostare il primo parametro per passaggi successivi. Si può iniziare eseguendo un controllo ogni 5mm di filamento estruso, diminuendo poi progressivamente il valore di Encoder step for error detect fino ad quando il firmware riuscirà a riconoscere gli errori "veri" e non metterà erroneamente la stampante in pausa.

Nell'esempio qui sotto è stato inserito 5 volte il valore degli step/mm dell’estrusione (450x5=2250), quindi l’encoder effettuerà un controllo ogni 5mm. Min extruder step for check è impostato a 50 step, circa il 10% di mm di errore tollerato

Per impostare correttamente gli step in base alla lettura seguita dal DAV encoder conviene misurare quanti step intercorrono tra due accensioni consecutive del led dell'encoder. Per avere una stima media degli step tra due accensioni conviene, ad hot end in temperatura, posizionare il filamento fino al punto in cui il led si accende. A questo punto estrudere un quantitativo noto di filamento (es. 100mm) e contare quante accensioni si hanno tra l'inizio e la fine dell'estrusione. Se ad esempio estrudendo 100mm di filamento si contano 97 accensioni, avremo 100/97=1,031mm medi tra due accensioni consecutive. A 450step/mm impostati nel firmware per l'estruder, questo equivale a 464 step medi tra due accensioni dell'encoder.

Nella pagina Funzioni alla voce Encoder step for error detect si dovranno impostare multipli degli steps calcolati con la procedura qui descritta. Se ad esempio misuriamo 464 step medi tra due accensioni e vogliamo eseguire un controllo ogni due secondi in Encoder step for error detect dovremo inserire 928 steps (circa 930).

Infine, nella sezione LCD, è necessario attivare la funzione Advanced Pause Feature:

Una volta impostati tutti i parametri adatti alla propria stampante, deve essere attivato il comando Park Head on Pause:

Se sono già stati eseguiti tutti i passaggi descritti sopra, è finalmente possibile scaricare il firmware dalla tab Scarica. Si deve poi decomprimere l'archivio zip appena scaricato (facendo attenzione che tutti i file siano all’interno della cartella MK4Duo).

Aprire il file MK4duo.ino e andare nella scheda Configuration_Overall.h. Premere ctrl+F e cercare la parola "encoder":

Scorrendo verso il basso è possibile trovare questa riga:

//#define INVERTED_ENCODER_PINS

Tale riga deve essere decommentata togliendo le doppie barre, in questo modo:

#define INVERTED_ENCODER_PINS

Ora non resta che verificare e caricare il firmware sulla propria stampante. Prima di cominciare a stampare, però, bisogna aggiungere il comando M530 S1 nello "Start gcode" e M530 S0 nell'"End gcode" tramite il proprio programma di slicing per attivare il controllo del filamento durante la stampa.