Welcome! Log In Create A New Profile

Advanced

BLTouch, "Mesh bed compensation" e M208

Posted by Starliner 
BLTouch, "Mesh bed compensation" e M208
January 07, 2019 10:44AM
Saluti a tutti
apro questa discussione per comprendere come implementare il BLTouch in RepRap e quali siano le procedure corrette di "Mesh bed compensation".

Condizioni hardware
  • Stampante cartesiana custom pilotata da RepRap 1.21 + Duet 2
  • La movimentazione in Z avviene tramite movimento del piano. L'homing Z del piano avviene facendo calare il piano verso il fondo della macchina, fino all'avvenuto contatto con l'hardstop (interruttore meccanico.)

Situazione attuale
Oggi stampo a centro piano, utilizzando (all'interno del file config.g) il parametro M208 con un opportuno valore di Z. Questo valore, essendo un "softstop", indica al piano quanto risalire prima di iniziare la stampa. Per determinate condizioni di temperatura ho identificato un valore di Z che porta il piano di fatto a contatto con l'ugello di stampa (a centro piano!), definendo dunque il mio Gcode Zero.

Obbiettivo
Il piano è molto grande (400x200 mm) e dovendo ora stampare su tutta la superficie le deformità del piano stesso si fanno sentire. Disponendo di BLTouch ho già provveduto ad ottenere una mappatura ad alta risoluzione (> 400 punti) del piano, salvando la stessa in formato .CSV.

La domanda generica é: come far utilizzare la mappa del piano alla macchina, slegandomi dal valore di Z del parametro M208, così da poter essere in grado di avere l'ugello alla medesima distanza dal piano per il primo layer, su tutta l'area del piano?
Quello che idealmente avrei bisogno di ottenere è l'utilizzo di un valore Z (per M208) variabile in base alla topologia del piano: sono conscio non funzioni così la questione, tento solo di rendere l'idea.
Non mi accontento ad ogni modo di ottenere un primo layer adeguato su tutto il piano, la necessità è quella di capire a fondo cosa avvenga, così da poter avere pieno controllo della distanza di partenza ugello/piano, su tutto il piano appunto, e dunque il controllo dello spessore del primo layer.

Note aggiuntive

- Ho già effettuato una serie di tastature a centro piano, impostando (sempre in config.g) il corretto valore di Z per il parametro "G31", ma come il cambiamento di questo valore vada ad influire in fase di stampa mi risulta ancora un mistero.

- Sono conscio delle funzionalità del comando G29: l'utilizzo non mi soddisfa in quanto, pur constatando come la macchina ora tenga conto delle tastature (lo vedo guardando a come il primo layer risulta omogeneo in spessore sull'intera area del piano), non ottengo il controllo sullo spessore del primo layer. Quali calcoli opera il firmware quando il comando G29 viene tirato in ballo? Operando con il comando G29 il valore Z di M208 viene ignorato oppure tale valore deve lavorare di concerto con la tastatura del piano?

- Conosco i diversi script di partenza utili in questo caso. Ad esempio:

M561 ; 					Elimina ogni eventuale trasformazione del piano
G1 X402.5 Y227 Z10 ;			Posiziona il probe al centro del piano
G30 ; 					Esegui una singola tastatura
M375 P"mappa.csv" ;  			Carica mappa custom (altrimenti usare G29 S1)
G1 Z20 F6000 ;				Allontana piano

Ma ancora una volta mi sono di poca utilità, perchè quali calcoli esegua la macchina, quali parametri "G" realmente intervengano nelle operazioni di "Mesh bed compensation" e come questi parametri lavorino o debbano lavorare in accordo... rimane un mistero.

- Il firmware non conosce la distanza tra la punta dell'ugello e la distanza del BLTouch dal piano nel momento in cui avviene il "trigger" del BLTouch appunto. Ciò porta ad affermare che il BLTouch è si in grado di costruire una mappa del piano, ma non di costuire una mappa di valori assoluti di distanza dell'ugello dal piano.
La mappa ottenuta con il BLTouch dovrà giocoforza andare a modificare la posizione dell'ugello, in fase di stampa, rispetto ad una posizione di partenza (il GCode zero): come va definita questa posizione, nel firmware, quando si intende appunto tenere conto delle deformità del piano?


Ringrazio per ogni risposta, nella speranza che questa discussione possa aiutare altri utenti in difficoltà quanto il sottoscritto.
Luke.

P.S. purtroppo in rete si trovano, e vengono fornite, risposte molto elusive sulla questione: pare quasi che ben pochi conoscano nel dettaglio l'argomento, e che chi sa davvero... tace.
Re: BLTouch, "Mesh bed compensation" e M208
January 07, 2019 12:04PM
Penso che il problema vero sia che in pochi usano il firmware reprap e magari quei pochi in pochi hanno il bltouch, e di questi ancora di meno frequentano il forum italiano...
Cmq si da qualche parte devi andare a dire l'offset del probe rispetto allo zero, dove non saprei proprio....


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: BLTouch, "Mesh bed compensation" e M208
January 30, 2019 05:37PM
Premettendo che faccio fatica a capire la tua richiesta confused smiley :
per prima cosa devi configurare il BLTouch in config.g
; Z-Probe
M574 Z1 S2                                         ; Set endstops controlled by probe
M558 P9 H5 F120 T6000                              ; Set Z probe type to bltouch and the dive height + speeds
G31 P500 X0 Y65 Z1.75                              ; Set Z probe trigger value, offset and trigger height
M557 X20:240 Y40:260 S20                           ; Define mesh grid
Lascia perdere i miei valori strani: sono di test.

Poi devi fare l'auto bed compensation e a questo punto inserire un richiamo del .csv alla fine di homeall.g (e magari anche alla fine di homez.g)
;G29 S1                  ; load heightmap
S1 ti serve per evitare di ripetere l'auto mesh bed ogni volta che fai home


Se non hai i file homeall.g e homez.g li puoi ottenere usando il configuratore per RepRap Firmware: [configurator.reprapfirmware.org]
Re: BLTouch, "Mesh bed compensation" e M208
February 07, 2019 06:18AM
Grazie Mr. Yod, le tue indicazioni sono risultare prezione per risolvere i miei problemi winking smiley
Re: BLTouch, "Mesh bed compensation" e M208
February 07, 2019 07:28AM
thumbs up

Altra cosa: il mio G29 S1 è commentato perchè io uso l'auto mesh bed solo per vedere il grafico e calibrare manualmente di conseguenza il piatto, ovviamente se uno volesse usare il .csv risultante dovrebbe togliere il punto e virgola.

Inoltre c'è da modificare homeall.g e homez.g per usare il BLTouch come endstop.
Re: BLTouch, "Mesh bed compensation" e M208
February 07, 2019 08:34AM
Il mio piano di stampa è molto grande e per come è realizzato non è possibile agire sulle numerose viti di supporto per "livellarlo", inoltre l'homing avviene nel mio caso muovendo gli assi verso degli interruttori meccanici quindi senza fare uso del tastatore per l'homing appunto.

Questa dunque la procedura che ho seguito (utile a chiunque possa trovarsi nelle mie medesime condizioni) per "tastare" il piano ed attivare/utilizzare la funzione di Mesh bed Compensation durante la stampa:

1. Impostare correttamente il probe nel file config.g:

; Z PROBE
M558 P5 X0 Y0 Z1 H5 F200 T6000 B0	; Set Z probe type to bltouch and the dive height + speeds
G31 P50 X15 Y-30 Z0.23			; Set Z probe trigger height and x/y offset from the nozzle
M557 X8:800 Y3:400 S130			; Define probing grid

I valore in G31 (quelli riportati sono di esempio) si ottengono misurando la distanza in X/Y del tastatore dalla punta dell'ugello, mentre il valore Z si può ottenere dalla media tra i risultati ottenuti effettuando diverse, ripetute tastature a centro piano (In rete si trovano utili guide a questa operazione preliminare.)

2. Utilizzare, nel Gcode start script i seguenti comandi (assieme agli altri personali):

M561		; Delete any previous bed fitting
M376 H0		; Set bed compensation taper to zero
G28		; Homing
G29		; Probe the bed, activate and use mesh bed compensation with the obtained map

Naturalmente il comando G29 può essere utilizzato nelle sue diverse opzioni per effettuare la tastatura prima di ogni singola stampa oppure sfruttare una mappatura effettuata precedentemente (o salvata in un file .csv.).

Importante: se al piede del file config.g è stato inserito il comando M501 ("Read stored parameters in config-override"), accertarsi che nel file config-override.g non vi siano istruzioni che vadano a sovrascrivere i parametri precedentemente discussi per il file config.g!

Buona stampa!

Edited 2 time(s). Last edit at 02/07/2019 08:43AM by Starliner.
Re: BLTouch, "Mesh bed compensation" e M208
March 01, 2019 08:31AM
Buon Giorno a Tutti
La mia domanda sarà sicuramente bizzarra,considerate che parto da zero non ho una conoscenza allargata della materia,cercherò di spiegarmi al meglio,siate pazienti,grazie in anticipo.
Ho comperato il kit BLTouck della creality per la mia ender 3, siccome è un kit è a prova di newbie,funziona benissimo. Ma un giorno stampando il filamento si è rotto,qui mi si è aperto un nuovo mondo che non conoscevo,vale a dire che non posso riprendere la stampa per non buttarla perchè quando riparte fà la mesh del piatto ogni volta e si trova il pezzo sul piatto,quindi tasta il pezzo e quando riparte risulta più alto,ho tolto il G29 dallo slicer,c'è una possibilità di risolvere il problema,considerando che la scheda è molto limitata? e che io non ho il pieno controllo del marlin perchè è già precompilato,siccome possiedo una sola stampante mi chiedevo ,come fanno le stampanti provviste di sonda a riprendere la stampa e ad non incorrere in questa problematica?
Scusate se sono stato troppo prolisso,e spero di essere stato il più chiaro possibile.
Re: BLTouch, "Mesh bed compensation" e M208
March 01, 2019 10:52AM
Quote
Ema.m
ho tolto il G29 dallo slicer,c'è una possibilità di risolvere il problema,considerando che la scheda è molto limitata?

Ciao Ema,
Il firmware che stai utilizzando è Marlin o RepRap?

Alcuni suggerimenti che potrebbero tornarti utili:

  • Considera che l'utilizzo della variante "G29 S1" (o la rispettiva versione specifica al firmware in uso) permette di stampare facendo uso dell'ultima mappatura ottenuta (la mappatura eseguita, nel tuo caso, nel corso della stampa che è andata poi interrompendosi.)
  • Indubbiamente l'altezza raggiunta al momento del blocco ti risulterà ignota e dovrai rilevarla tramite misurazione manuale oppure lettura delle informazioni sulla posizione in Z dell'ugello al momento del blocco.
  • Software di Slicing quali ad es. Simplify3D dispongono della funzione "Start printing at height", che può essere impostata dunque al valore del quale si è parlato nel punto precedente.

Edited 1 time(s). Last edit at 03/01/2019 10:52AM by Starliner.


Understanding the universe since the last century.
Re: BLTouch, "Mesh bed compensation" e M208
June 01, 2019 05:14PM
Grazie Starliner ho risolto così

G91 ; imposta le coordinate in modo relativo
G92 E0
G21 ; unita di misura in mm
G28 X0 ; homing degli assi
G1 Z30 F1000 ; Alza l'ugello di 30 mm rispetto al piano
M106 ; accendi la ventola
M104 S210 T0 ;imposta la temperatura di cambio filo
M109 S210 T0 ;imposta la temperatura di cambio filo
G92 E0
G1 E20 F300 ;E indica i mm da estrudere prima dell'espulsione del filo F la velocità in mm/m
G92 E0
G1 E-450 F2000 ; quantità di filo da espellere in mm
M400 ; attendi che la funzione precedente venga completata
M300 S300 P1000 ; avviso acustico
M0 Inserisci il nuovo filamento
G1 E400 F2000 ; quantità di filo da inserire
G92 E0
G1 E20 F100 ; spurgo finale a bassa velocità. Regolare la quantità di materiale a piacemento e la velocità
G28 X0 ; effettua l'homing del solo asse X
M84 ; spegni i motori
M104 S0 T0 ;porta a zero la temperatura
G90 ; imposta le coordinate in modo assoluto

Edited 2 time(s). Last edit at 06/01/2019 05:17PM by Ema.m.
Sorry, only registered users may post in this forum.

Click here to login