Cablaggio e installazione del 3D Touch

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:

  1. 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.

  1. 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

  1. 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.

  1. 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]

  1. 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.

  1. 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

  1. 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