Welcome! Log In Create A New Profile

Advanced

Guida all'uso dell'auto bed level

Posted by MagoKimbra 
Guida all'uso dell'auto bed level
October 07, 2014 05:41PM
Mi sono deciso a cercare di fare questa piccola guida per l'auto bed level, iniziamo con la cartesiana o corexy, per le delta vediamo dopo...
La guida è per il firmware Marlin, meglio se è il mio, ma se preferite l'originale fa lo stesso, peggio per voi... smileys with beer
Cominciamo ad aprire il file Configuration.h (nel mio il file configuration_cartesian.h) e cerchiamo queste due righe:
//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
//#define Z_PROBE_REPEATABILITY_TEST  // Delete the comment to enable (remove // at the start of the line)
Decommentiamo la prima e se volete anche la seconda servirà poi per testare la meccanica dell'auto bed level e anche della vostra stampante.
Cercate poi questa riga un po più su nella sezione degli end stop:
#define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
e mettete false, vi tornerà utile per i setting della sonda, ma non scordatevi alla fine di rimettere true, altrimenti rischiate di rompere il piatto...
A questo punto dovete solo settare i servo per il movimento della sonda, se utilizzate i servo, per altri sistemi poi vediamo... Andate in fondo al file configuration e troverete la sezione servo:
//#define NUM_SERVOS 1 // Servo index starts with 0 for M280 command
.
.
.
//#define SERVO_ENDSTOPS {-1, -1, 0} // Servo index for X, Y, Z. Disable with -1
//#define SERVO_ENDSTOP_ANGLES {0,0, 0,0, 70,0} // X,Y,Z Axis Extend and Retract angles
Per ora limitatevi a decommentare le linee, lasciate i valori come sono. il servo andarà attaccato sulla porta servo della vostra scheda, per la ramps il primo servo va attaccato sul connettore servo 11. Ricordatevi che i 5 v di quel connettore ci sono solo se avrete fatto il ponticello tra il pin VCC e 5v vicino al pin PS.

Lo switch invece dovrà essere attaccato sempre su Z-MIN come lo switch classico.
A questo punto scaricate il FW e andiamo a iniziare il setting della probe.
La prima cosa da fare e provare a vedere se va il servo con il comando M280 P0 S{angle}
Esempio M280 P0 S90
A questo punto dovete trovare l'angolo in cui la probe è retratta e quello in cui la probe può toccare il piano. Io per esempio ho 10° retratta e 105° estesa.
Segnatevi questi valori che poi dovremmo mettere nel FW.
Ritraete la probe con il comando M280 P0 S10 (se 10° è il vostro angolo per la posizione retratta)
Date il comando G28 X0 Y0, cosi farete solo la home di X e Y, poi spostatevi in un punto del piano (magari quello centrale) segnandolo con un pennarello.
Scendete lentamente di Z fino a far toccare il nozzle al piano, utilizzate sempre il metodo del foglio di carta. In questo caso vi tornerà utile il fatto che avete messo in false l'endstop software, quindi la stampante andrà anche in Z negativo.
Una volta che avrete trovato il punto esatto del contatto del nozzle con il piano (il foglio è bloccato) alzatevi di 0.1 (foglio libero), dopo di che date il comando G92 X0 Y0 Z0.
Questo comando azzere gli assi in quel punto, infatti su repetier vedrete i valori 0 su tutti e tre gli assi.
Ora alzate di Z in modo da poter permettere alla sonda di poter scendere, scrivetevi questo valore, date il comando M280 P0 S90 e la sonda scende. Ora spostate di X e Y in modo che la sonda concidi sul punto evidenziato precedentemente con il pennarello e cominciate a scendere di Z.
Appena siete vicini al piano, cominciate a scendere di 0,1 alla volta fino a quando non sentirete il click dello switch, date il comando M119 per verificare l'avvenuta chiusura di quest'ultimo.
Ora date il comando M114 che vi restituirà le coordinate X Y Z tipo: X:1.1 Y:-20 Z:3.8, segnatevi questi valori e torniamo al firmware.
La prima cosa da fare è mettere i due valori per il servo che abbiamo trovato all'inizio, quindi nella riga:
#define SERVO_ENDSTOP_ANGLES {0,0, 0,0, 70,0}
andremo a metter i due valori
#define SERVO_ENDSTOP_ANGLES {0,0, 0,0, 105,10}

Bene ora torniamo alla sezione autobed level.
Mettiamo in queste righe i tre valori di X Y e Z, ma invertiti di segno, mi raccomando invertite il segno. Per X 1 diventa -1 e cosi via....

ATTENZIONE!!!!!!

I VALORI DI OFFSET ADESSO PER X E Y DEVONO ESSERE NUMERI INTERI

// Offsets to the probe relative to the extruder tip (Hotend - Probe)
  // X and Y offsets MUST be INTEGERS
  #define X_PROBE_OFFSET_FROM_EXTRUDER -1      // Probe on: -left  +right
  #define Y_PROBE_OFFSET_FROM_EXTRUDER 20      // Probe on: -front +behind
  #define Z_PROBE_OFFSET_FROM_EXTRUDER -3.8     // -below (always!)
questi diranno al firmware l'offset tra sonda e nozzle...

Ora dobbiamo definire il modo di sondare il piano, con una griglia o con dei punti prefissati, io preferisco la griglia ma potete fare come meglio credete.
La griglia è definita da questa riga:
#define AUTO_BED_LEVELING_GRID
Se questa riga non è commentata allora significa che dovremmo dirgli come è composta la nostra griglia. Innanzitutto diamo i valori dei quattro angoli della griglia.
// set the rectangle in which to probe
#define LEFT_PROBE_BED_POSITION 15
#define RIGHT_PROBE_BED_POSITION 185
#define BACK_PROBE_BED_POSITION 185
#define FRONT_PROBE_BED_POSITION 15
Il punto più a sinistra, quello più a destra, quello più dietro e per finire quello più avanti. Poi di quante righe e colonne è formata la griglia:
#define AUTO_BED_LEVELING_GRID_POINTS 2
In questo caso sono due righe e due colonne, quindi i 4 punti sono esattamente i 4 angoli della nostra griglia. Se invece mettiamo 3, allora avremmo tre righe e tre colonne quindi 9 punti in tutto.
Questo sistema può essere variato grazie al comando G29 Lxx Rxx Bxx Fxx del mio marlin, in questo modo potete variare i punti direttamente nel gcode. Io per esempio mi sono fatto un plug in che verifica i 4 punti massimi raggiunti dall'oggetto che si va a stampare e il probe lo fa in quei punti, in modo da migliorare la precisione in quella zona.
Se non si usa il plug in si possono vedere in repetier cliccando sulla rotellina e andando sull'analisi dell'oggetto, qui possiamo vedere X e Y min, X e Y max.

Per esempio nel nostro caso sarà G29 L90 R110 B110 F90...
Ma torniamo al firmware, nel caso invece che non volgiamo la griglia e vogliamo definire dei punti a caso nel piano allora commenteremo la riga:
//#define AUTO_BED_LEVELING_GRID
A questo punto definiamo i punti:
#define ABL_PROBE_PT_1_X 15
#define ABL_PROBE_PT_1_Y 180
#define ABL_PROBE_PT_2_X 15
#define ABL_PROBE_PT_2_Y 20
#define ABL_PROBE_PT_3_X 170
#define ABL_PROBE_PT_3_Y 20
Come vedete sono le coordinate di tre punti nel piano, possono essere ovunque, purché nel piano.

I valori di questi punti cosi come quelli della griglia sono valori in cui il nozzle è nel piano, non vi preoccupate perché poi il fw terrà conto dell'offset.
Quello che dovete tener conto è che se, per esempio, la sonda è a destra del nozzle di 30 mm e voi volete fare il probe in un punto a 5 mm, il carrello dovrà andare a -25 (30-5) cosa impossibile, quindi state attenti ai valori che date.

Andiamo avanti:
#define Z_RAISE_BEFORE_HOMING 20       // (in mm) Raise Z before homing (G28) for Probe Clearance
Questa riga definisce di quanto si deve alzare di Z il nozzle per essere sicuri che la sonda possa scendere, mettiamo il valore che avevamo trovato quando ci siamo alzati per permettere alla sonda di scendere...
Immaginiamo il caso limite, ci troviamo con il nozzle proprio sul piatto quando diamo il G28 dovrà alzarsi di quel tanto che basta per far scendere la sonda tamite il servo.

#define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min
Questo valore imposta la velocità di spostamento tra un probe e l'altro, espresso in mm al minuto, però in nessun caso supererà mai la vostra velocità massima impostata nel Firmware. Se per esempio avrete impostato per X e Y un feedrate di 100, visto che questo è un valore espresso in mm al secondo, la massima velocità sarà 100 * 60 quindi 6000 mm/min, anche se impostato a 8000 più di 6000 non andrà.

#define Z_RAISE_BEFORE_PROBING 20    //How much the extruder will be raised before traveling to the first probing point.
#define Z_RAISE_BETWEEN_PROBINGS 8  //How much the extruder will be raised when traveling from between next probing points
Questi due valori invece impostano di quanto si deve alzare Z prima del primo probe e poi durante.
Come il precedente il primo valore serve a far si che il nozzle, nel caso limite, dal piatto si alzi per permettere alla sonda di scendere con facilità, quindi impostatelo sempre di qualche mm in più. Il secondo invece è tra il primo e gli altri, visto che già con il primo sa a che altezza ci troviamo basta quel poco a far si che la sonda si possa ritrarre e riscendere.

#define PROBE_SERVO_DEACTIVATION_DELAY 300
Questo valore imposta dopo quanto tempo il servo non viene alimentato, in modo da rimanere rigido durante la fase di probing (espresso in secondi).

#define Z_SAFE_HOMING
Questo serve a far si che il fw sappia che non si può iniziare l'auto bed se non si è fatto prima la home di X e Y, in più tramite una formula successiva viene calcolato il centro del piatto per fare il probe appunto al centro, nel caso si faccia solo G28.


Fatto tutto ciò possiamo iniziare... A no rimettiamo a posto:
#define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.

Ok scarichiamo e verifichiamo il tutto.

Prima di tutto proviamo il comando G28. Se tutto è stato fatto alla perfezione, la stampante farà prima la home di X e Y, poi si sposterà al centro si alzerà di 20 (il valore impostato in: #define Z_RAISE_BEFORE_HOMING 20) abbasserà la sonda e scenderà fino al click dello switch, dopo di che ritrarrà di nuovo la sonda.
Ora proviamo a vedere se è tutto ok diamo il comando G1 Z10 F3000 e il nozzle andarà a circa 10 mm dal piatto. Scendiamo fino al raggiungimento del piano se lo raggiunge, sempre con il metodo del foglio, esattamente a zero allora abbiamo fatto tutto bene.
Se invece lo raggiunge prima dello zero o dopo dovremmo fare delle piccole modifiche al fw.
Se lo raggiunge prima, per esempio già a 0,2 è sul piatto significa che l'offest di Z è troppo alto di 0,2 quindi dobbiamo togliere 0,2 a:
#define Z_PROBE_OFFSET_FROM_EXTRUDER -3.8
Se invece a 0 non raggiunge il piatto significa che l'offset di Z è troppo basso dovremmo aggiungere qualcosina...

Se è tutto ok passiamo alla seconda fase.
Prima di tutto diamo il comando G28 X0 Y0 e poi il comando G29, a questo punto dopo la home di X e Y la sonda comincerà a fare il suo lavoro o nella griglia o nei punti decisi.

Concludo mettendovi questo link per come funziona il Z_PROBE_REPEATABILITY_TEST.
Spero possa essere utile...

Edited 3 time(s). Last edit at 04/08/2015 06:48PM by enricodare.


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: Guida all'uso dell'auto bed level
October 08, 2014 06:42AM
non si può dire che...
Grazie Mago :-)


Enrico

[www.dapa3dservice.it] [www.studiodapa.it]
repstrap dApA, Ramps 1.4, MarlinKimbra / scanner 3D Cubify Sense / Formlabs Form 2
Re: Guida all'uso dell'auto bed level
October 12, 2014 10:09AM
Spero che con questa immagine si riesca a capire dove attaccare il servo e dove fare il ponticello per i 5V.
Se qualche amministratore mi edita la guida e me la sostituisce mi farebbe un favore, io non posso più!!



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: Guida all'uso dell'auto bed level
October 13, 2014 11:06AM
Non so voi ma io gli farei un monumento a quell'ometto qui thumbs up


R2 Evo-Prometeo-Poseidon-Titan0
Multiextruder NPr3-WR4
[www.3dmakerlab.it]
Licenza Creative Commons
Re: Guida all'uso dell'auto bed level
October 13, 2014 06:39PM
Insomma ometto,....... 'ha due spalle come un corazziere .
Grazie mago.
Cosa dici Mago, i servi mini 9650 di Futaba, consumano troppo per questo lavorino???
L'hs 55 di hitech l'ho bocciato
Re: Guida all'uso dell'auto bed level
October 14, 2014 06:16AM
Ho edittato l'immagine, ma vorrei procedere con la pulizia della discussione, in modo da rendere la lettura la più chiara e scorrevole possibile. Eventuali discussioni le dirotterei nel topic già creato.


Ivan Bortolin
Stampa 3D e prototipazione rapida Friuli, Italia
MendelMax, Ramps 1.4, Marlin V1
Re: Guida all'uso dell'auto bed level
April 08, 2015 06:34PM
ATTENZIONE!!!!!!

I VALORI DI OFFSET ADESSO PER X E Y DEVONO ESSERE NUMERI INTERI

// Offsets to the probe relative to the extruder tip (Hotend - Probe)
  // X and Y offsets MUST be INTEGERS
  #define X_PROBE_OFFSET_FROM_EXTRUDER 0      // Probe on: -left  +right
  #define Y_PROBE_OFFSET_FROM_EXTRUDER 0      // Probe on: -front +behind
  #define Z_PROBE_OFFSET_FROM_EXTRUDER -1     // -below (always!)


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: Guida all'uso dell'auto bed level
June 27, 2015 06:28PM
Nel caso di Delta + Alligator con Repetier?


Manuel
Prusa i3 - disassemblata
Ultimaker 2**HC (Marlin+ e3d 1.75 +estrusore made by Andrea Lillia)
SIENCI cnc
Re: Guida all'uso dell'auto bed level
November 08, 2015 11:11AM
ATTENZIONE!!!

Dopo il comando G29 non usate mai comandi G1 che muovono Z...

Il fatto che Marlin e MarlinKimbra lavorano con la pianificazione... I comandi vengono messi in pianificazione uno dopo l'altro, quindi anche dopo il comandi G29 vengono pianificati i comandi, quindi un eventuale comando G1 Zzzz viene messo in pianificazione quando ancora non è stato completata la matrice del bed level questo vuol dire che il fw muoverà Z nella posizione richiesta senza la matrice. La posizione di Z risulterà quindi errata....

Dopo il comando G29 mettete quello che volete, ma non muovete Z....


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
Sorry, only registered users may post in this forum.

Click here to login