Autori: ZeroPX, Nick_IT & ReneG
Bltouch - Introduzione
Prima di parlare di come installare il bltouch (oppure 3d touch o qualche altra diavoleria del genere, che poi, alla fine, sono tutti sensori di livellamento), vediamone l'utilita' e le differenze tra i vari tipi di sensori
In tutte le stampanti 3D, la precisione e' uno dei requisiti fondamentali per un buon uso: con la tecnologia di stampa FDM (quella usata dalle stampanti consumer con i filamenti) viene rilasciato un materiale fuso da un ugello (nozzle) che si deposita su un piatto e raffreddandosi, strato dopo strato, creano l'oggetto. Come potrete immaginare, se l'ugello deve depositare questo materiale fuso su un piatto, la distanza deve essere sempre la stessa, perciò il piatto deve essere livellato nel miglior modo possibile
Per livellare il piatto ci sono diversi sistemi: il piu' comune e' di aggiustare l'altezza del piatto con 4 manopole, una per ogni angolo, oppure e' possibile usare dei sistemi di livellamento automatico (ABL auto bed leveling), tramite i quali il piatto verra' livellato in modo molto accurato senza troppi sforzi manuali.
Attenzione!!! Questa funzionalita' non elimina tutti i mali, ci deve gia' essere una parvenza di livellamento del piatto, questi sistemi non manuali possono compensare un dislivello di alcuni mm e non di cm tra un angolo e l'altro del piatto
Il sensore di livellamento e' un sistema di correzione della distanza dell'ugello dal piatto tramite la misurazione di diversi punti sul piatto stesso, creando una mappa in 3d del piatto dove saranno evidenziate le varie differenze della distanza ottimale dall'ugello al piatto
Dall'esempio qui sopra potete vedere che ci sono alcune parti concave e altre convesse, percio', durante la stampa, l'ugello verra' sempre portato alla stessa distanza dal piatto affinche' questi dislivelli siano compensati dalla stampante
Maggiori sono i punti misurati, maggiore sara' la precisione
Solitamente si fa un mesh di 3x3, cioe' 9 misurazioni (per capirci, e' come dividere il piatto sull'asse y in tre parti uguali e sull'asse x in 3 parti uguali e le intersezioni saranno i punti di misurazione del piatto) ma io solitamente preferisco una misurazione di 5x5, cioe 25 misurazione sul piatto
Vari tipi di sensori di livellamento per stampanti 3D
Esistono diverse tecnologie alla base del sensore di livellamento:
- induttivi
- capacitivi
- infrarossi
In questo articolo, pero', ne vedremo solo un tipo: quelli ad effetto Hall (se volete vedere un domani quelli induttivi regalatemi una prusa, accetto pure la Mini! 😁)
I sensori ad effetto Hall determinano la vicinanza di un oggetto rilevando la presenza di campi magnetici statici
I sensori di livellamento automatico del letto utilizzano sensori ad effetto Hall in modo meccanico: un piolo viene esteso e retratto tramite magneti
Prima della misurazione, il piolo viene abbassato e poi, quando incontrera' il piatto, si spostera' verso l'alto, cambiando internamente un campo elettrico nel dispositivo
Questo cambiamento viene rilevato dal sensore con una precisione di circa 0,01 mm
In quanto sensore fisico, il dispositivo BLTouch non ha alcuna restrizione per i materiali delle piastre di costruzione compatibili
Che modello scegliere
Prima di entrare nel dettaglio sul vedere come funziona il BL touch su stampanti come la Eryone ER-20, Er-20 Link Aliexpress, oppure la Genius pro link Aliexpress, oppure la Ghost 5, solo per citarne alcune, vediamo cosa ci offre il mercato per capire che modello scegliere
Per queste tre macchine, vista la differenza tra le teste di stampa e il tipo di piatto che usano (che potrebbe essere in pei, vetro, microforato, oppure in vibranio), meglio non usare un sensore di livellamento ad induttanza
Dovremo quindi usare, come descritto in precedenza, un sensore ad "Effetto Hall". A questo punto le scelte possono essere principalmente due
BL Touch
Secondo il produttore originale, che e' coreano, la sonda BLTouch "e' un sensore di livellamento automatico per stampanti 3D in grado di misurare con precisione l'inclinazione della superficie del letto"
Vantaggi
- Compatibile con molti tipi di stampanti
- Molto supportato dalla comunity
- facile da configurare in Marlin
- e' tra i più precisi
Svantaggi
Molto più costoso del 3D Touch, e questa differenza di prezzo e' legittimata dalla qualita' del prodotto
E' uno dei sensori di livellamento con il consumo maggiore di corrente, percio', se avete spremuto l'alimentatore della stampante fino all'ultimo milliwatt, ci dovrete pensare bene (dovreste pensarci comunque perché un alimentatore che lavora al 100% avra' una vita breve e tortuosa)
3D Touch
Per dirla breve, il 3D Touch e' semplicemente un BL touch copiato dai cinesi o taiwanesi (Makerbase e' di Taiwan), ed e', ovviamente, quello che uso io. Anche il 3d Touch e' un sensore per il livellamento automatico del piano di stampa, ed e' composto da un elettromagnete ed un perno di pressione
Si caratterizza per la sua elevata precisione, mentre il prodotto e' anche facile da usare. Ciò e' dovuto, tra l'altro, all'autotest intelligente
Vantaggi
- Meno costoso del BL Touch, fondamentale per la mia scelta finale
- compatibile con molti tipi di stampanti
- molto supportato dalla comunity
- facile da configurare in Marlin
- tra i più precisi, pero' comunque meno del BL Touch
Svantaggi
- Consumo non indifferente di corrente, siamo sui 15mA, che non e' cosi' poco
Come configurare il BL Touch (o 3D Touch)
Ora si che inizia il bello, tenete presente che per ogni stampante avra' il suo adattatore, anzi, ogni testa avra' il particolare adattatore!
- Ghost 5
- Artillery Genius
- Artillery Sidewinder X1
Ora iniziamo a conoscere due termini molto importanti per il montaggio del BL-Touch:
- z-offset
- probe
Tenete presente che state per montare una aggiunta alla vostra testa di stampa, e questo la stampante lo deve sapere per due motivi: in primis per usare la nuova funzionalita' e secondo, perche' deve sapere dove e' il sensore rispetto all'ugello, per poter ricostruire una matrice dei punti che e' andata a misurare per capire dove ci sono dei dislivelli rispetto al piano di stampa, e questo e' il probe
Inoltre, il Bl-Touch deve essere montato in modo che non dia fastidio durante la fase di stampa, per evitare che si vada a scontrare con le stampe e le faccia fallire, perciò il sensore, una volta retratto, deve essere più in alto rispetto al punto piu vicino al piano di stampa, che e' l'ugello. Questa differenza misurata sull'asse Z si chiama Z Offset
Detta in parole povere lo Z-offset e' la distanza tra la posizione del perno quando tocca il letto di stampa e triggera la sonda, e il nozzle, sull'asse Z (in altezza)
Quando il nozzle arriva al punto di triggering, rifa' l'operazione una seconda volta per trovare un valore piu preciso, poi passa al punto sucessivo
Quando comincia la procedura di campionamento, a seconda del tipo di stampante, il piatto si abbassa o la testa si alza per fare estendere il pin completamente e lasciare un po' di spazio per non far sbattere il pin contro il piatto
A quel punto, la testa si muove nella posizione di homing (che puo' essere definita tramite firmware) ed il piatto comincia ad alzarsi lentamente (nel caso della Ghost 5, mentre la testa si abbassa nel caso della Artillery Genius o della Eryone ER-20) fin quando il pin non innesca il grilletto (trigger) del bltouch. A questo punto verra' rifatta l'operazione una seconda volta, per trovare un valore piu preciso e poi passare al punto sucessivo
La macchina registrera' quindi il valore attuale della posizione dell'asse Z, che verra' quindi salvato in memoria come lo zero
I valori del probe e dello Z-offset vanno prima calcolati e poi inseriti nel firmware attraverso marlin, oppure attraverso i comandi G-code. Noi vedremo in seguito solo la seconda procedura
Il numero di misurazioni e' determinato nel firmware Marlin. Per il momento, assumiamo che la griglia sia 3x3, quindi la sequenza sara' come quella illustrata qui sotto:
Il punto 1 rappresenta l'area sinistra anteriore del piatto, il punto 9 l'area destra posteriore del piatto
Una volta completata la procedura, la stampante avra' in memoria una serie di misurazioni, una griglia 3x3, che riportera' il discostamento sull'asse z di ciascuno punto della griglia dall'origine, che sarebbe l'altezza dell'asse z quando la sonda raggiunge lo z offset
Per spiegare meglio: lo zero, l'origine, e' il punto in cui la sonda viene innescata. Se la sonda viene innescata per un valore di z piu' elevato dell'origine, vuol dire che il piatto e' basso; viceversa, se il valore di z e' piu' basso, vuol dire che il piatto e' troppo attaccato
La mesh e le sue rappresentazioni
Per chiarire meglio il concetto espresso qui sopra, andiamo a vedere una mappa generata da Repetier Host, che rappresenta la nostra mesh salvata
0 | 1 | 2 | |
---|---|---|---|
0 | +0.035 | -0.028 | -0.091 |
1 | +0.018 | -0.018 | -0.053 |
2 | +0.002 | -0.006 | -0.012 |
Questi numeri rappresentano il discostamento dallo zero del piatto e sono calcolati tramite la differenza del valore di z nello zero del piatto e quello della z in un determinato punto del piatto quando la sonda viene triggerata durante il campionamento
Per visualizzarli meglio e per farci un'idea del livellamento del piatto, possiamo utilizzare un paio di strumenti
Il primo e' un sito web gratuito, lockspace.ue, che consente di inserire i dati della mesh pari pari come vengono forniti da repetier per visualizzarli
Questo e' un esempio di visualizzazione, il tipo sta fuori di testa e si e' fatto una mesh 12x12
Se invece avete octoprint installato, c'e' un plugin che permette di visualizzare il livellamento che si chiama... bhe, ovviamente Bed Level Visualizer!!!
Memorizzare e richiamare la mesh
Il gcode per attivare il campionamento e' G29
Una volta lanciato, la testa fara' prima un homing su Z, poi X ed Y. Completato l'homing, passera' a campionare la mesh
Se questa procedura viene effettuata tramite Repetier Host, nell'output potrete visualizzare i valori rilevati. Questo tipo di informazione e' perfetta per determinare il livellamento del piatto, apportando eventualmente delle modifiche alla calibrazione
Per immagazzinare la mesh in memoria, basta inviare il gcode M500
Per assicurarsi che i dati della mesh siano stati salvati in memoria, inviare M503
Campionamento tramite gcode iniziale
Per avere risultati piu' precisi, e' possibile effettuare il campionamento della bed level mesh prima di ogni stampa
In questo caso, il comando G29 va inviato subito dopo aver inviato il gcode per l'homing, G28
Il campionamento viene salvato in memoria, ma non nella eeprom!!!
Il gcode di homing, G28, che e' praticamente obbligatorio in qualunque gcode di partenza, resetta la mesh, quindi il campionamento viene annullato e le misurazioni devono essere effettuate un'altra volta!
Se invece siete sicuri del livellamento del vostro piatto, potete caricare la mesh salvata nella eeprom (sempre che l'abbiate salvata...) tramite il gcode M420 S1;, da inserire rigorosamente dopo il comando di homing
Se non volete caricare la mesh dalla memoria, ma volete misurare ogni volta il livellamento del piatto, per evitare che il nozzle riscaldato lasci in giro delle tracce di filamento durante il campionamento, riscaldate prima il piatto, poi lanciate il *G29**, poi riscaldate l'ugello
Di seguito un gcode iniziale per Ideamaker:
M220 S100 ;Reset Feedrate
M190 S{temperature_heatbed}
G28 ;Home
M420 S1;
;G29 ;Calibration
G1 X0 Y0 F2000; Move to X0, Y0
M109 S{temperature_extruder1} T0; Wait for nozzle to reach temp
;Code for nozzle cleaning and flow normalization
G92 E0 ;Reset Extruder
G1 Z2.0 F3000 ;Move Z Axis up
G1 X10.4 Y20 Z0.2 F5000.0
G1 X10.4 Y170.0 Z0.2 F1500.0 E15
G1 X10.1 Y170.0 Z0.2 F5000.0
G1 X10.1 Y40 Z0.2 F1500.0 E30
G92 E0 ;Reset Extruder
G1 Z2.0 F3000 ;Move Z Axis up
In questo caso, va disabilitato il riscaldamento sia del piatto che del nozzle, che vanno abilitati tramite gcode come mostrato sopra
Dove scaricare il progetto
Il file e' disponibile su Thingiverse, insieme ad una breve descrizione a questo link
Cablatura del BL Touch
Per connettere il BL Touch, riferirsi alla figura qui sotto
Sebbene la scheda sia una MKS Robin Nano 1.2, quindi la vostra scheda potrebbe avere colori o driver diversi, non vi preoccupate: le schede della Flyingbear sono delle versioni ribrandizzate delle schede mks, i pin rimangono sempre gli stessi
Firmware
Coming Soon