Nuove funzioni. New Feature.

0 votes, average: 0.00 out of 50 votes, average: 0.00 out of 50 votes, average: 0.00 out of 50 votes, average: 0.00 out of 50 votes, average: 0.00 out of 5 (0 votes, average: 0.00 out of 5)
You need to be a registered member to rate this post.
Loading...

Aggiunte le funzioni:

  • G12 Nozzle Clean
  • G27 Nozzle Park

 

Nozzle clean fa una cosa del genere:

 

Si può settare con dei parametri che permettono dei pattern a zig zag o lineari tra punti nel piano. In questo modo si può mettere una spugnetta o quello che volete per pulire il nozzle prima di partire a stampare.

 

G27 è semplicemente un punto nello spazio dove parcheggiare la testina. Tipo per fare spurgo o quant’altro…

Basta settare le coordinate con #define NOZZLE_PARK_POINT, e ogni volta che date G27 il nozzle si sposterà in quel punto…

Gcode – G29 – Auto bed level Cartesian & Core

1 vote, average: 5.00 out of 51 vote, average: 5.00 out of 51 vote, average: 5.00 out of 51 vote, average: 5.00 out of 51 vote, average: 5.00 out of 5 (1 votes, average: 5.00 out of 5)
You need to be a registered member to rate this post.
Loading...

Finalmente arriviamo al comando più complesso che a molti crea non pochi problemi, G29 Auto Bed Leveling o ABL.

Prima di tutto vediamo la geometria che sta dietro al comando e come teoricamente va ad aggiustare il livellamento del piano.

Quando la stampante con la sua probe prende un punto del piano viene memorizzato in una matrice che contiene le tre coordinate di quel punto (X, Y, Z), la matrice poi viene usata da Vector che crea dei vettori di collegamento da punto a punto. La stampante muoverà il nozzle nello spazio tenendo conto di quei vettori.

Esempio: Se nel punto X 10 Y 10 ho una Z pari a 0 e nel punto X 150 Y10 ho una Z pari a 2 ho un vettore che va da (10, 10, 0) a (150, 10, 2) quindi un vettore che sale leggermente da sinistra verso destra.

Cosi per tutti i punti del piano, naturalmente il sistema non fa altro che collegare con vettori tutti i punti del piano che sono stati sondati, senza sapere minimamente cosa succede nel mezzo…

Esistono due modi per fare i vari probe, uno è con una griglia di punti n * n (dove n è AUTO_BED_LEVELING_GRID_POINTS) e l’altro invece è tre punti, ricordando che una regola di geometria ci dice che per tre punti nello spazio passa uno solo piano.

bed-leveling-method-1[1]

 

Quindi sono fondamentali i valori che andiamo a settare nel FW per un corretto ABL.

AUTO_BED_LEVELING_GRID

Se abilitato definiamo la griglia quindi successivamente il numero dei punti

AUTO_BED_LEVELING_GRID_POINTS

E infine i punti minimi e massimi per le due coordinate sul piano cioè X e Y

#define LEFT_PROBE_BED_POSITION 20
#define RIGHT_PROBE_BED_POSITION 180
#define FRONT_PROBE_BED_POSITION 20
#define BACK_PROBE_BED_POSITION 180

Left è il minimo a sinistra e Right è il massimo a destra, Front è il minimo avanti mentre Back è il massimo indietro. Questi punti dovrebbero essere all’interno del piano. All’interno di questi punti viene creata la nostra griglia n * n. Se la griglia è di 2 allora saranno esattamente i punti di probe, altrimenti verranno creati (n – 2) punti all’interno di quest’area.

Se la griglia non è definita allora andremo a settare esattamente le coordinate dei tre punti di probe.

#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 15
#define ABL_PROBE_PT_3_X 180
#define ABL_PROBE_PT_3_Y 15

Ora veniamo a qualcosa di fondamentale la distanza tra la probe e il nozzle nello spazio definita con i seguenti comandi:

#define X_PROBE_OFFSET_FROM_EXTRUDER 0 // X offset: -left [of the nozzle] +right
#define Y_PROBE_OFFSET_FROM_EXTRUDER 0 // Y offset: -front [of the nozzle] +behind
#define Z_PROBE_OFFSET_FROM_EXTRUDER -1 // Z offset: -below [of the nozzle] (always negative!)

Come vedete è spiegato abbastanza bene come devono essere messi i valori… Se X offset è negativo vuol dire chela sonda è a sinistra del nozzle, se positivo starà a destra. Cosi se Y è negativo vuol dire che è davanti al nozzle, altrimenti starà dietro. Questi due valori devono essere interi, non essenziale una precisione enorme. Questi due valori però andranno a influire sui punti di probe.

Sia che sia una griglia che siano i tre punti, la posizione X Y è della probe e non del nozzle, quindi il nozzle si troverà spostato rispetto al punto di probe di un tot determinato dagli offset. Vado a farvi un esempio abbiamo un offset su X di -25 quindi la sonda è a sinistra del nozzle di 25 mm. Ora andiamo a fare la probe nel primo punto cosi come settato di default:

LEFT_PROBE_BED_POSITION 20

La probe andrà sul punto 20 e il nozzle? Il nozzle andrà a 20 + 25 quindi a 45 nel piano. Fin qui tutto bene.  Andiamo a fare la probe sul secondo punto a destra:

RIGHT_PROBE_BED_POSITION 180

Quindi la sonda starà a 180 mentre il nozzle a 180 + 25 = 205, Se abbiamo messo come valore X_MAX_POS 200 ecco che in compilazione del FW quest’ultimo ci avvertirà con un warning (che non è un errore come tanti e tanti dicono perché non leggono ciò che è scritto) che la posizione massima è stata superata e che non è possibile fare una probe nel punto 180, il massimo che possiamo raggiungere è 175. Stessa identica cosa vale per Y.

Cosa invece serve lo Z_PROBE_OFFSET che come dice il FW DEVE essere solo negativo. Perché negativo? Perché la sonda deve rilevare il piano prima che il nozzle lo tocchi altrimenti crash…

Questo valore è indipendente se la sonda stia più alta del nozzle (vedi pibot o sonde ottiche, oppure quelle di prossimità) o che tramite un movimento meccanico (Servo e/o Bltouch) stia più in basso del nozzle, l’importante è solo che deve rilevare il piano n mm prima del nozzle, questo valore n è il nostro Z_OFFSET.

Questo valore può essere trovato in diversi modi e poi inserito direttamente nel fw con il comando M666 P.

Uno di questi modi è quello di misurare l’altezza vera del nozzle con il solito metodo del foglio, a quel punto dovremmo avere un valore di Z pari a zero, quindi saliamo per poi riscendere piano fino a che non vediamo attivarsi la nostra sonda, magari aiutandoci con il comando M119 che ci dirà se la probe è triggered o meno. a quel punto la differenza d’altezza sarà il nostro offset.

Ricordatevi che esistono i comandi M401 e M402 per le sonde con servo (anche BLTOUCH) che faranno scendere la probe o risalire…

Quindi come è chiaro questo valore Z_PROBE_OFFSET deve essere preciso al centesimo di mm questo perché andrà a influire sull’ABL.

Altri setting da fare sono:

#define XY_TRAVEL_SPEED 10000               // X and Y axis travel speed between probes, in mm/min

Come ben spiegato la velocità di spostamento da un punto all’altro dei vari probe, espressa in mm al minuto, quindi 10000 sono circa 166 mm/s.

#define Z_RAISE_BEFORE_PROBING 10 //How much the extruder will be raised before travelling to the first probing point.
#define Z_RAISE_BETWEEN_PROBINGS 5 //How much the extruder will be raised when travelling from between next probing points
#define Z_RAISE_AFTER_PROBING 5 //How much the extruder will be raised after the last probing point.

Questi dicono al FW quanto si deve alzare il nozzle di Z prima (BEFORE) di iniziare a sondare, per esempio per chi ha probe con il servo. Se per caso la probe è sul piano e il servo farà scendere la probe potremmo causare un altro crash… Poi c’è il valore BETWEEN cioè tra una probe e l’altra, tendenzialmente può essere anche di soli pochi mm, ma ci sono alcune sonde vedi Pibot, che necessitano di arrivare da lontano per avere una misura più precisa, anche quelle di prossimità, quindi meglio allontanarsi di diversi mm anche 10 mm per fare in modo che la sonda rilevi il piano con maggior accuratezza.. Infine un RAISE AFTER, cioè dopo aver fatto tutti i probe si alza per poter portare la sonda a posto senza eventualmente toccare il piano (vedi servo).

Infine ultimamente è possibile dire anche che tipo di sonda abbiamo montato, se di tipo servo lo si farà nel solito modo, altrimenti dobbiamo solo dire al fw che tipo abbiamo:

Z_PROBE_SLED

Z_PROBE_MECHANICAL

Z_PROBE_FIX_MOUNTED

La SLED è una sonda che normalmente rimane staccata dal carrello X, viene parcheggiata fuori e agganciata solo quando serve in maniera magnetica e ha la sonda fissa non si muove quindi abbastanza precisa. Una cosa simile è stata fatta sulla Prusa I3 EVO di NicolaP.

La MECHANICAL è di tipo fisso non c’è movimento alcuno, un sonda di tipo meccanico per esempio è il nozzle stesso che o a pressione sul piano o con qualche connessione elettrica particolare abilita il pin.

La FIX_MOUNTED sono tutte quelle sonde fissate, anch’esse non hanno movimento alcuno e sono per esempio il PiBot o quelle di prossimità.

 

Arriviamo al comando vero e proprio.

G29

uso

  • G29 P<#> S<# speed> D V<#> T F<#> B<#> L<#> R<#>

parametri

  • P numero di punti della griglia se si vuole variare quello di default.
  • S travel speed in mm/min
  • D Flag per il Dryrun mode. Praticamente fa completamente tutto, ma non varia la matrice vettoriale. E’ un test.
  • V Verbose level 0 – 4. Setta quante informazioni ci deve dare il fw indietro, 0 nessuna 4 massimo. Da mettere solo nella fase di controllo.
  • T fa un report della topologia del piano con tutte le informazioni possibili (Verbose 4 fa la stessa cosa oltre a tante altre info).
  • F posizione frontale della griglia, utile per cambiare i punti di probe solo nello spazio utilizzato dal pezzo.
  • B posizione posteriore della griglia, utile per cambiare i punti di probe solo nello spazio utilizzato dal pezzo.
  • L posizione sinistra della griglia, utile per cambiare i punti di probe solo nello spazio utilizzato dal pezzo.
  • R posizione destra della griglia, utile per cambiare i punti di probe solo nello spazio utilizzato dal pezzo.

 

Uno dei problemi che noto spesso è quello del montaggio della probe. Io ho sempre cercato di metterla più vicina possibile al nozzle:

20141117_161557

Questo perché? Semplice il problema nasce quando la probe è molto spostata rispetto al nozzle visto che va a sondare un punto, ma il nozzle è totalmente da un’altra parte, questo crea una matrice vettoriale falsata e non precisa. Mi spiego, se la sonda è 50 mm alla destra del nozzle quando la sonda va a sondare il punto 50 di X il nozzle è nel punto X = 0 quindi va inserire un altezza nella matrice X Y Z di un punto che non centra nulla… Quindi si creano dei vettori falsati rispetto al piano..

Il mio consiglio è sempre quello di mettere la sonda il più vicino possibile al nozzle, difatti la miglior posizione sarebbe il nozzle stesso…

Un altro problema è la precisione stessa della sonda, una sonda che rileva nello stesso punto diversi valori che si discostano di decimi di mm non è affidabile, per provarla basta fare la home di Z al centro diverse volte per verificare che l’altezza di Z rilevata sia si diversa (è impossibile averla sempre uguale), ma con differenze di non più di centesimi di mm…

Un altro modo di livellare il piano con il FW è quello del MBL Mesh Bed Level che vedremo nel prossimo post, per ora il vostro Mago vi augura come sempre delle buone stampe…

 

MagoKimbra

Gcode – G28 – Home

0 votes, average: 0.00 out of 50 votes, average: 0.00 out of 50 votes, average: 0.00 out of 50 votes, average: 0.00 out of 50 votes, average: 0.00 out of 5 (0 votes, average: 0.00 out of 5)
You need to be a registered member to rate this post.
Loading...

Il comando per la home…

Questo comando serve per azzerare gli assi e le posizioni nello spazio del nozzle. Ricordo per l’ennesima volta che il punto fondamentale è il nozzle quello che disegna nello spazio il nostro oggetto. Non ci sono piatti, carrelli o altre cose che contano solo ed esclusivamente il nozzle…

La home viene fatta nelle posizioni dei tre endstop X Y Z, se si trova sul min il valore di quell’asse una volta toccato l’endstop prenderà il valore min messo nella configurazione, viceversa se è sul max, il valore max inserito.

Esempio faccio una home di X che è sul min, una volta toccato l’endstop X_MIN il valore minimo di X è uguale X_MIN_POS. Se invece faccio una home di Y che è sul max, una volta toccato l’endstop y sarà uguale a Y_MAX_POS.

I valori _MIN_POS e _MAX_POS possono essere variati anche in negativo, per ciò che riguarda _MIN_POS, per fare in modo che il nozzle sia sempre nel piatto di disegno sia in posizione min che max.

uso

Questo comando può essere utilizzato senza alcun parametro aggiuntivo. Per la Delta non esiste la Home per singolo asse, solo la home complessiva.

  • G28 X Y Z B

parametri

  • X Flag per fare la home X
  • Y Flag per fare la home Y
  • Flag per fare la home Z
  • B Flag per tornare al punto prima della home

L’ordine della home è sempre X Y Z, nel caso di una Delta le tre carriage tornano indietro contemporaneamente fino al tocco di una delle carriage sugli endstop, a quel punto il firmware farà la home singola per ogni torre.

In caso in cui si fosse abilitato lo Z_SAFE_HOMING (no DELTA), dopo la home di X e Y il fw farà la home di Z spostandosi nel punto Z_SAFE_HOMING_X_POINT Z_SAFE_HOMING_Y_POINT per fare la home di Z, di solito si usa quando si hanno le probe per fare la home sul piano e non fuori dal piano, o anche se si hanno meccaniche particolari dove l’endstop Z è messo in un punto particolare della meccanica…

Il comando B serve per tornare nel punto noto prima della home, vale solo se già è stata fatta una home precedentemente…

Esempio il nozzle si trova a X 12,75 Y 56,28 Z 1,2 e per qualche motivo la stampante ha perso i passi, si può mettere in pausa il tutto, dare il comando G28 B,  il firmware farà la home azzerando cosi gli assi per poi riportarsi nei punti su detti e riprendere la stampa. Naturalmente se la home prevede la sonda al centro è impossibile poter fare questo comando perché oramai al centro c’è il pezzo in stampa…

Gcode – G10 G11 – Ritrai e Recupera

0 votes, average: 0.00 out of 50 votes, average: 0.00 out of 50 votes, average: 0.00 out of 50 votes, average: 0.00 out of 50 votes, average: 0.00 out of 5 (0 votes, average: 0.00 out of 5)
You need to be a registered member to rate this post.
Loading...

Ritrai e recupera solo in caso in cui si sia abilitato il FWRETRACT.

uso

  • G10 ritrae filamento in base alle impostazioni di M207
  • G11 recupera filamento in base alle impostazioni di M208

Gcode – G4 – Pausa

0 votes, average: 0.00 out of 50 votes, average: 0.00 out of 50 votes, average: 0.00 out of 50 votes, average: 0.00 out of 50 votes, average: 0.00 out of 5 (0 votes, average: 0.00 out of 5)
You need to be a registered member to rate this post.
Loading...

Comando per pausa.

uso

  • G4 Pnnn o Snnn

parametri

  • Pnnn Tempo di attesa, in millisecondi
  • Snnn Tempo di attesa, in secondi

esempio

  • G4 P200 pausa di 200 millisecondi
  • G4 S10 pausa di 10 secondi