Mi scuso per la precisazione, ma per esperienza personale e di alcuni utenti che hanno avuto gli stessi problemi, non mi sento di consigliarvi l’acquisto del sensore per cui è stata scritta la guida. Non conoscevo questo sensore, e la guida è stata scritta durante la sua installazione.
Lascio comunque la guida online, per quelli che comunque vogliono provare l’utilizzo del 3D Touch, sperando che siano più fortunati di me. Il mio purtroppo ha smesso di funzionare, e son ritornato alla vecchia ma sicura calibratura manuale.
Buona lettura
Cablaggio e installazione del sensore di auto livellamento 3DTouch
Questa guida è rivolta ai possessori della stampante 3D Anet A8, che stanchi del sistema di taratura manuale dell’hotbed, hanno deciso di installare un sensore di auto livellamento. In commercio ne esistono diversi, con caratteristiche e costi differenti. Personalmente, dopo aver provato un sensore capacitivo, e aver visto che con la lastra di vetro sopra l’hotbed non funzionava, ho deciso di acquistare il 3D Touch della Geeetech.
Il 3D Touch è un sensore di livellamento automatico per Stampanti 3D, che può misurare con precisione, l’inclinazione della superficie di stampa. Dotato di servo RC e micro switch, migliora notevolmente la precisione delle stampe 3D. Attualmente il suo costo è di circa 11 euro, e lo potete acquistare su Aliexpress cliccando su 3D Touch.
Il sensore è fornito di un comodo kit elettronico, con tutto l’occorrente per collegarlo alla scheda stock della stampante. Unico punto a sfavore, la dimensione dei cavi che sono corti, e che misurano solo 150 mm. Indispensabile quindi, assemblare una prolunga.
Vorrei precisare, che il 3D Touch non è altro che un clone del più blasonato e costoso BIQU BL Touch che potete acquistare anche su Amazon, ma che costa molto di più.
Dopo questa breve introduzione e presentazione del sensore, passiamo al suo assemblaggio.
Per questo volevo ringraziare l’amico Luca Ghiani che grazie alle sue video guida e alla sua preziosa collaborazione online, mi ha permesso di installare e rendere funzionale il sensore. Le video guida di Luca, le potete trovare su Youtube cliccando sui seguenti indirizzi:
Preparazione del supporto
Prima di effettuare qualsiasi modifica all’elettronica della stampante, dovete stamparvi il supporto per fissare il sensore al gruppo estrusore.
Di supporti ne esistono tantissimi, tutti liberamente scaricabili da Thingiverse. Il sensore può essere fissato, anteriormente, posteriormente, a destra o a sinistra del gruppo estrusore. Attenti, perché alcuni possono essere fissati esclusivamente solo se il gruppo estrusore non ha la ventola laterale che raffredda il motore.
Tutti i supporti sono diversi uno dall’altro. Per ogni supporto bisogna conoscere dei parametri chiamati offset, che vanno inseriti nel firmware Marlin. Generalmente è il progettista del supporto che fornisce questi parametri, ma su alcuni sono assenti o sbagliati. Alla fine della guida, vi farò vedere come determinarli e inserirli nel firmware.
Il supporto che ho utilizzato è questo:
Lo potete scaricare al seguente link
Il supporto va fissato tra il motore e la ventola che raffredda l’estrusore. Probabilmente sarà necessario procurarvi delle viti più lunghe. Una volta fissato il sensore sul supporto, accertatevi che l’ago completamente esteso, sia più basso dell’ugello. Attenzione perché in caso contrario, durante la lettura l’ugello andrebbe a sbattere sul bed.
Gli spessori da me disegnati per fissare il sensore al supporto, potete scaricarli al seguente link
Preparazione e cablaggio parte elettronica
Piccola premessa, non mi assumo nessuna responsabilità su eventuali danni provocati a voi stessi, alla vostra stampante, o peggio…………… Se non siete sicuri di quello che fate, lasciate perdere e rivolgetevi ad un tecnico.
Per prima cosa occorre cablare e preparare la parte elettronica. Come vi ho già detto, insieme al sensore arriva un kit di componenti che servono per collegarlo alla scheda elettronica.
Preparatevi una prolunga con 4 fili dello stesso spessore di quelli del sensore. Personalmente, ho utilizzato una prolunga flat per display acquistata su ebay (per non modificare il cavo originale, e per non effettuare saldature dirette sulla scheda elettronica), associata ad un comunissimo cavo flat (recuperato da un vecchio PC).
Per il cablaggio potete seguire lo schema che ho preparato:
Preparazione dell’Hotbed
Questa parte potete anche non farla, o farla successivamente. Serve esclusivamente per stabilire visivamente il centro dell’hotbed, e per modificare eventuali deviazioni dell’ago del sensore. Sarà questo infatti che andrà ad effettuare l’Home, che dovrà ricadere al centro dell’hotbed.
Tracciate 2 diagonali sul piano e fissate il baricentro nel punto in cui le 2 diagonali si incontrano (preferisco specificarlo che dare per scontato che tutti sappiano trovare un baricentro 🙂 )
Ci servirà successivamente
Modifica del firmware Marlin
Se siete arrivati a questo punto, probabilmente conoscete già la procedure sull’aggiornamento del firmware Marlin. Se non la conoscete, o se non avete ancora aggiornato, vi rimando alla mia precedente guida: Firmware Marlin scheda Anet A8
Le modifiche per utilizzare il sensore di auto livellamento dell’hotbed, non funzionano con il firmware stock. E’ necessario avere a bordo il firmware Marlin.
NB: in alcuni post letti nei vari gruppi Facebook, pare che esista un aggiornamento del firmware stock, predisposto per l’auto livellamento. Personalmente ho installato subito il Marlin.
Il file che andrà modificato e configurato per abilitare il sensore 3 DTouch, è il solito Configuration.h. Iniziamo con la procedura. L’ho suddivisa in step per facilitarla:
- Modificare la logica dell’endstop Z (finecorsa meccanico asse Z) . Cercare la riga 508:
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe,
e sostituire true con false
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.
- Attivare il sensore 3D Touch. Cercare la riga 647: //#define BLTOUCH
Per attivare una riga commentata, basta de commentarla togliendo il doppio slash “//” iniziale. In questo modo viene attivata un’istruzione che è solamente impostata, ma non funzionante.
Questa modifica va bene sia per il sensore BL Touch, che per il clone 3 DTouch
- Aggiungere nella riga successiva il comando #define SERVO0_PIN 27
#define BLTOUCH
#define SERVO0_PIN 27
Questo abilita il pin 27 della scheda (che non è altro che una scheda Arduino modificata) a ricevere il segnale proveniente dal sensore.
- Inserire gli offset del sensore rispetto a alla posizione del nozzle (ugello dell’estrusore).
Gli offset (X e Y) generalmente sono forniti dal progettista del supporto su cui va fissato il sensore. Qualche volta sono assenti, come nel caso di quello che ho utilizzato, o i valori forniti sono errati. Occorre quindi ricavarseli. Nel codice base del firmware Marlin, ci viene fornito un esempio che considera la posizione del probe (sensore) posteriormente e a destra del nozzle (estrusore). Valutiamo il nostro sensore e posizioniamolo nello schema sottostante. Per il momento vi indicherò gli offset che ho ricavato con il mio supporto. Ma seguendo lo schema indicato sul firmware, sarà abbastanza semplice ricavarsi i propri offset anche con altri supporti.
Come ho già scritto poco più su, alla fine della guida vi fornirò uno schema per misurare e calcolare il valore di questi offset.
Il mio sensore (probe), è posizionato anteriormente e a sinistra del nozzle
Cercate le righe 694 e 695:
#define X_PROBE_OFFSET_FROM_EXTRUDER 0
#define Y_PROBE_OFFSET_FROM_EXTRUDER 0
Modificatele inserendo i seguenti valori: per la X -17; per la Y -44.
Per il momento lasciate su 0 il valore della Z
#define X_PROBE_OFFSET_FROM_EXTRUDER -17 // X offset: -left +right [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER -44 // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle]
- Dobbiamo ora modificare o aggiustare, la posizione in cui il sensore effettuerà l’Auto Home.
La prima cosa che va verificata, è che le dimensioni del vostro hotbed corrispondano a quelle impostate sul firmware. Il piano di stampa dell’Anet A8 è di 220 X 220 mm.
Cercate le seguenti righe:
riga 791 #define X_BED_SIZE 220 non modificare
riga 792 #define Y_BED_SIZE 220 non modificare
Successivamente vanno indicati gli offset per centrare la posizione dell’Home. Se avete una stampante stock i valori di default dovrebbero andare bene, se invece avete fatto un upgrade con il frame Tatara, probabilmente andrà fatta qualche correzione.
Cercate le righe
riga 795 #define X_MIN_POS -33 con frame stock dovrebbe andare bene
riga 796 #define Y_MIN_POS -10 con frame stock dovrebbe andare bene
Nel mio caso con upgrade Tatara, dopo varie prove l’Home è centrato utilizzando questi valori:
riga 795 #define X_MIN_POS -32
riga 796 #define Y_MIN_POS -14
La riga che riguarda l’asse Z non va modificata.
Come fare se nonostante i valori consigliati e impostati, l’Home risulta decentrato ?
Premesso che l’home verrà effettuato dal sensore e non dal nozzle (questo può confondere), più aumentano i valori negativi per X e Y, più l’home si allontana anteriormente e a sinistra dal centro del piatto di stampa. Occorrono varie prove per trovare il punto esatto.
- Ci sono diverse tipologie di auto livellamento. Nel firmware Marlin, ci viene data la possibilità di impostare il numero di rilevazioni che verranno effettuate per l’auto livellamento. Noi utilizzeremo quella a 9 punti.
Cercare la riga 882 e abilitate la funzione AUTO_BED_LEVELING_BILINEAR.
Per farlo, stessa procedura di prima, de commentate la riga, eliminando il doppio slash.
//#define AUTO_BED_LEVELING_3POINT
//#define AUTO_BED_LEVELING_LINEAR
#define AUTO_BED_LEVELING_BILINEAR
//#define AUTO_BED_LEVELING_UBL
//#define MESH_BED_LEVELING
- impostate i limiti del piatto in cui il sensore effettuerà il sondaggio
// Set the boundaries for probing (where the probe can reach).
#define LEFT_PROBE_BED_POSITION 20 posizione del sensore nei rilevamenti a sinistra
#define RIGHT_PROBE_BED_POSITION 200 posizione del sensore nei rilevamenti a destra
#define FRONT_PROBE_BED_POSITION 20 posizione del sensore nei rilevamenti anteriori
#define BACK_PROBE_BED_POSITION 170 posizione del sensore nei rilevamenti posteriori.
Per un problema ancora da me irrisolto, le 3 rilevazioni posteriori, avvengono leggermente avanzate. Il valore massimo che la stringa #define BACK_PROBE_BED_POSITION 170 accetta, è 170. Valori superiori producono un’errore nella compilazione dello script. Quando troverò la soluzione al problema, effettuerò l’aggiornamento della guida.
Per far si che la stampante effettui la calibrazione prima della stampa, bisogna aggiungere nello script iniziale dello slicer, i comandi G28 e G29.
G28 effettuerà lo spostamento degli assi e li posizionerà nella posizione home;
G29 effettuerà la calibrazione del piano riscaldato utilizzando i 9 punti.
8. l’ultima modifica che andrà fatta sarà sarà l’abilitazione dello “Z Safe Homing”.
Posizionatevi sulla riga 1042 e de commentate la riga //#define Z_SAFE_HOMING.
LA nuova riga deve essere uguale a questa:
#define Z_SAFE_HOMING
La prima parte della procedura è terminata.
Nella seconda parte, effettuerete la taratura dello Z-OFFSET. Armatevi di molta pazienza, in quanto saranno necessarie parecchie prove, per arrivare ad una taratura ottimale.
Taratura dello Z-OFFSET
Per effettuare la taratura dello Z-OFFSET, occorre collegare la stampante ad un PC. In questo modo, è possibile calcolare ed avere un riscontro numerico, della distanza che c’è tra ugello e hotbed. Questa distanza andrà poi inserita nella configurazione della stampante, e memorizzata nell’EEprom della scheda, così da poter essere utilizzata per tutte le stampe successive. Per calcolare lo Z-OFFSET, serve uno slicer che abbia un’interfaccia grafica che comandi la stampante, e che abbia una console in cui inserire i comandi g-code. Lo slicer Cura che utilizzo prevalentemente per generare i g-code, non si collega alla stampante, per cui ho optato per Simplify3D.
- Aprire l’interfaccia macchina con lo slicer preferito
Effettuate in sequenza i comandi elencati sotto. Ricordate di premere INVIO dopo ogni comando, in modo che questo venga accettato
- Effettuare HOME ALL
M851 Z0 Imposta il valore della Z a 0
M500 Salva tutte le impostazioni sulla EEPROM
M501 Carica tutte le impostazioni salvate dalla EEPROM
M503 Stampa un rapporto sintetico di tutte le impostazioni correnti sulla console host
G28 Z0 Effettuerà la Home solo sull’asse Z
- Prepariamo un foglio bianco e lo mettiamo sotto l’estrusore
G1 F60 Z0 L’estrusore si abbasserà fino allo Z reale. Verificare che non ci sia attrito tra ugello e foglio
M211 S0 Rimuove la protezione software degli endstop per poter scendere sotto il minimo della Z.
- Verificare sul display dello slicer o della stampante, le coordinate della Z
- Con i vari pulsanti grafici dello slicer, effettuare spostamenti dell’estrusore sull’asse Z. Utilizzare step negativi da -0,1 per abbassare l’estrusore, finché questo creerà attrito sul foglio.
- Una volta ottenuta la distanza ottimale, leggere le coordinate dell’asse Z. Per provare l’attrito, far scorrere diverse volte il voglio sotto l’ugello.
- Verificare le coordinate dell’asse Z anche sul display della stampante
- Utilizzare il valore ricavato, a cui va sommato lo spessore del foglio (circa 0.7 mm). Nel mio caso ho ricavato il valore -1.89 + 0,7 = – 2.59 mm
M851 Z-2.59 Imposta il valore della Z a -2.59
M211 S1 Riabilita la protezione software degli endstop
M500
M501
M503
G28 Z0 Effettuerà la Home solo sull’asse Z
Sul display comparirà il valore Z di 11.70. Voi probabilmente avrete un’altro valore
G1 F60 Z0 L’estrusore si abbasserà fino allo Z reale.
- Effettuate un HOME ALL
Con questo ultimo comando la procedura è finita, ed è stato settata la Z-OFFSET.
Questo potrebbe essere o troppo basso, o troppo alto. Il valore impostato va provato facendo qualche stampa. Se non dovesse andare bene, o se necessitasse di qualche piccola correzione, lo si può fare dal menù Marlin sulla stampante.
Controllo > Movimento > Z OFFSET (misura da noi impostata). Sollevate o abbassate il valore dell’ugello in base alla vostra richiesta.
Se eventualmente il valore dello Z OFFSET venisse modificato, bisogna salvarlo in EEPROM. Oppure lo si può salvare dalla console dello slicer digitando nuovamente
M500
M501
M503
Problemi di memorizzazione dello Z-Offset
Talvolta i comandi impartiti sul terminale dello slicer per memorizzare lo Z-Offset non hanno nessun effetto. O perlomeno bisogna ripetere la procedura più volte.
Ho provato un sistema che con me e altri amici ha funzionato perfettamente, e la taratura del piatto riscaldato, è risultata più veloce. Provo a descriverlo.
NB: alcuni comandi g-code vanno comunque impartiti da terminale
- Prima di iniziare la taratura riscaldate l’estrusore. Questo per evitare che precedenti colate di filamento che si sono solidificate, possano alterare la rilevazione.
- Effettuate un Home.
- Digitate G28 Z0 sul terminale e premete INVIO. Questo comando effettua un Home solo sull’asse Z. Probabilmente sul display apparirà un messaggio di errore. Questo perché, avendo effettuato al punto 2 un Home su tutti gli assi, questo comando non determina nessun spostamento dell’asse. Da qui il messaggio di errore. Lo si fa per maggior sicurezza.
- Posizionate un foglio di carta sotto l’estrusore.
- Digitate G1 F60 Z0 sul terminale. Questo comando porterà l’estrusore alla Z reale, cioè quella che in cui il nozzle dovrebbe iniziare la stampa. Tenetevi pronti a spegnere la stampante, qualora il nozzle scendesse troppo.
- Verificate sul foglio, se l’estrusore è troppo alto o troppo basso. La regola è sempre la stessa. Quando l’estrusore scorre sul foglio con un leggero attrito, va bene.
- Regolate lo Z-Offset sul display. Controllo > Movimento > Z Offset
- Sul display cliccate su “Salva in memoria”.
- Se l’attrito sul foglio va bene, lasciate lo Z-Offset corrente, altrimenti ripartire dal punto 2.
Sono necessarie diverse prove e rilevazioni per trovare lo Z-Offset ottimale.
Misurazione degli offset (distanza tra nozzle e probe)
Come ho scritto all’inizio della guida, gli offset che dobbiamo conoscere sono quelli che riguardano la distanza tra nozzle (ugello) e probe (sensore). Questi valori dipendono dalla posizione in cui viene installato il sensore 3D Touch. Generalmente sono forniti dal progettista del supporto, ma talvolta come già detto, sono assenti o sbagliati. E’ utile quindi saperseli calcolare, anche se solo per una verifica di quelli esistenti.
Per prima cosa individuiamo la posizione del nozzle nel hotbed, e la posizione del probe rispetto al nozzle. Nello schema seguente, vi spiegherò come misurare gli offset con il supporto che io ho usato e che ho descritto ad inizio guida.
Immaginate di far passare delle linee immaginarie al centro del nozzle e che queste linee dividano il piano di stampa in quattro quadranti. Individuate in uno dei quattro quadranti, la posizione del probe. Seguendo lo schema:
- se il probe si trova nel quadrante superiore sinistro gli offset saranno (-X ; +Y);
- se il probe si trova nel quadrante superiore destro gli offset saranno (+X ; +Y);
- se il probe si trova nel quadrante inferiore sinistro gli offset saranno (-X ; -Y);
- se il probe si trova nel quadrante inferiore destro gli offset saranno (+X ; -Y);
Stabilito che segno avranno gli offset, non resta altro che prendere delle misure. Mettete un foglio di carta sotto l’estrusore e tracciate delle linee passanti per il centro del nozzle e del probe. Con queste linee potete misura la distanza verticale e orizzontale tra i due componenti.
Spero di essere stato abbastanza chiaro.
Spero che questa guida vi possa essere stata d’aiuto, e risolva almeno in parte le difficoltà dell’installazione del sensore 3D Touch.
Se la guida vi è piaciuta o se volete fare delle critiche, potete farlo direttamente in questa pagina o nella pagina degli ospiti
Buona stampa3D