BLtouch ovvero auto-livellamento su CR10S

Guida definitiva (si spera ) per l’installazione del BLTouch su CR10S

Quest’articolo sarà molto lungo quindi prendetevi il tempo per leggerlo e seguitelo bene !! Sara composto da 4 Parti differenti da seguire in ordine ! La parte del livellamento automatico e calibrazione va bene per tutti i tipi di stampanti che montano BLTouch e firmware marlin !

PARTE 1

CR10S Firmware upgrade per abilitare il BLTouch

Aggiorna il Firmware della CR10S  è un’operazione da pochi minuti (10 minuti bastano )  che spesso crea non pochi problemi a chi come molti non è esperto nel linguaggio di programmazione.

Scarichiamo l’ IDE Arduino

In quest’articolo andremo a vedere passo passo come aggiornare il firmware Marlin 1.1.x presente sulle nuove CR10-S (questa guida non va bene per CR10 ! ).

Il procedimento è molto semplice , la prima cosa da fare è scaricare l’IDE arduino dal sito ufficiale

successivamente procediamo con l’installazione guidata e una volta terminata chiudiamo il programma.

Ora spostiamoci sul sito Marlin e nella sezione Download scarichiamo il firmware ufficiale ( ad oggi 1.1.8) .

Una volta scaricato estraiamo il file e nella cartella Marlin -1.1.x avviamo il file Marlin.ino .

Ora ci troveremo in questa situazione.

Ide Arduino

Procediamo ad attivare la visualizzazione del numero riga per muoverci piu velocemente, andiamo su File->Impostazioni e abilitiamo “Visualizza i numeri di linea”.

 

Iniziamo la compilazione del nostro nuovo Firwmare per CR10-S !

Andiamo sulla scheda Configuration.h e usiamo il comando CTRL+L per inserire in numero di riga

Riga 114 , modifichiamo il valore BAUDRATE 250000 -> BAUDRATE 115200 ;

Riga 127, cancelliamo // e modifichiamo il nome della stampante CUSTOM_MACHINE_NAME “nome stampante”

Riga 140, DEFAULT_NOMINAL_FILAMENT_DIA 3.0  ->DEFAULT_NOMINAL_FILAMENT_DIA 1.75

Riga 289,controlliamo #define TEMP_SENSOR_0 1

( se avete un E3D dovere impostare il n5 )

Riga 294 , modifichiamo come segue #define TEMP_SENSOR_BED 5

Riga 328 , controlliamo la massima temperatura del nozzle -> #define HEATER_0_MAXTEMP 250 (300 se avete un E3D full metal)

Riga 333,  modifichiamo la massima temperatura del piano -> #define BED_MAXTEMP 120

Per il momento non andiamo a modificare i valori dei PID e passiamo a configurare le accelerazioni e i valori di step/mm.

Riga 532, impostiamo gli steps/mm -> #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 95 }

Riga 539, impostiamo il max feedrate -> #define DEFAULT_MAX_FEEDRATE { 2500, 2500, 100, 25 }

Riga 547, impostiamo la massima accelerazione ->#define DEFAULT_MAX_ACCELERATION { 1000, 1000, 100, 10000 } se volete potete diminuire un po’cosi da avere meno vibrazioni sulla struttura.

Riga 557, impostiamo il valore -> #define DEFAULT_ACCELERATION 575

Riga 558, impostiamo il valore-> #define DEFAULT_RETRACT_ACCELERATION 1000

Riga 559, impostiamo il valore ->#define DEFAULT_TRAVEL_ACCELERATION 1000

Se in fase di stampa notate strane vibrazioni potete diminuire i valori di Jerk come segue  Righe 569 a 572

#define DEFAULT_XJERK 10.0
#define DEFAULT_YJERK 10.0
#define DEFAULT_ZJERK 0.3
#define DEFAULT_EJERK 5.0

Ora tocca configurare i movimenti degli assi X, Y,Z  modificando le Righe 752 a 754

#define INVERT_X_DIR false
#define INVERT_Y_DIR false
#define INVERT_Z_DIR true

Controlliamo ora le dimensioni del piano  X Y Z

Riga 784 , #define X_BED_SIZE 300  se cr10S 30×30

Riga 785 ,#define Y_BED_SIZE 300   se cr10S 30×30

Riga 793 , #define Z_MAX_POS 400 se cr10s 30X30

Per abilitare il sensore di fine filamento bisognerà de commentare  la Riga 828 , de commentare significa eliminare i due ” // ” che precedono il testo

Riga 827,  passiamo da //#define FILAMENT_RUNOUT_SENSOR ->#define FILAMENT_RUNOUT_SENSOR

Riga 824, impostiamo il valore ->#define FIL_RUNOUT_INVERTING true

Abilitiamo il sensore BLTouch

Passiamo ora all’abilitazione del’ auto livellamento del piano di stampa con il sensore BLTouch che potete acquistarlo ( il modello originale ovviamente ) al seguente Link

Riga 874;decommentiamo e passiamo da //#define AUTO_BED_LEVELING_BILINEAR ->#define AUTO_BED_LEVELING_BILINEAR

Riga 640, de commentare #define BLTOUCH e premere INVIO per andare a capo e scriviamo   #define SERVO0_PIN 11

Ora una parte molto importante , infatti andremo a definire come è installato il nostro sensore di livellamento e quanto dista dal nozzle.

Riga 676 possiamo notare un semplice disegno che spiega come impostare i valori, se ad esempio usate il supporto del LINK  potete impostare questi valori (Riga 687-688-689)

#define X_PROBE_OFFSET_FROM_EXTRUDER -42 // -42 perché il sensore è spostato a sinistra di 42 mm lungo l’asse x rispetto al nozzle
#define Y_PROBE_OFFSET_FROM_EXTRUDER 0 //  0 perché il sensore è in linea con il nozzle
#define Z_PROBE_OFFSET_FROM_EXTRUDER -1.25 // Z offset , qui il procedimento è un po’ fastidioso , i valori possono essere solo negativi  e bisognerà misurare quanto è più altro rispetto al nozzle, questa procedura sara fatta dopo utilizzando il software PRONTERFACE  !!!

Passiamo a configurare la funzione di livellamento automatico e successivamente torneremo su questo punto !!

Riga 914, #define GRID_MAX_POINTS_X 4  , se utilizzare il valore 3 la stampante effettuerà 9 misure  mentre  se utilizzate 4 ne effettuerà 12. In teoria bastano 9 misure ma data la dimensione del pino conviene farne 12 ( in termini di tempo si spende al massimo 1 minuto in piu ).

 

Bisogna  ora impostare i punti perimetrali per effettuare le misure del sensore , nel mio caso vanno bene i seguenti punti.

Riga 918 , #define LEFT_PROBE_BED_POSITION 20

Riga 919 ,  #define RIGHT_PROBE_BED_POSITION 240

Riga 920, #define FRONT_PROBE_BED_POSITION 30

Riga 921,  #define BACK_PROBE_BED_POSITION 260

Se volete capire il funzionamento ecco il pippone!!!

Il punto LEFT_PROBE_BED_POSITION 20   significa che il sensore si andrà a posizionare sul punto del piano (20mm,__)  fin qui tutto facile. In problemi possono nascere quando andare a impostare il valore limite desto , infatti inserendo RIGHT_PROBE_BED_POSITION 240 il sensore andrà a posizionarsi nel punto (240,__) pero essendo il sensore sposato di 45mm ( come da configurazione riga 687 ) il nozzle andra nella posizione (240+45 =285) in questo caso non è un problema perché il piano di stampa è 300×300 , ma se avessimo impostato il valore RIGHT_PROBE_BED_POSITION 280 il compilatore avrebbe restituito un errore di compilazione perché facendo la somma (280+45=325) la posizione è maggiore della dimensione del piano di stampa (300×300).

 

Riga 924, #define MIN_PROBE_EDGE 10  , la minima distanza dagli angoli del piano vale il discorso fatto sopra  ( impostando 10 significa che il piano viene visto come 290×290).

Passimo ad Abilitare la scrittura EEPROM

Riga 1117, #define EEPROM_SETTINGS

Riga 1118, #define DISABLE_M503

Abilitiamo la funzione seguente per assicurarci che l home Z venga effettuato al centro del piano di stampa cosi il sensore sicuramente toccherà il piano  !!

 

Riga 1035  #define Z_SAFE_HOMING

 

 

Impostiamo i valori di preriscaldamento per PLA e ABS Righe 1149 a 1150

#define PREHEAT_1_TEMP_HOTEND 205

#define PREHEAT_1_TEMP_BED     60

#define PREHEAT_1_FAN_SPEED     0 // Value from 0 to 255

 

#define PREHEAT_2_TEMP_HOTEND 250

#define PREHEAT_2_TEMP_BED     85

#define PREHEAT_2_FAN_SPEED     0 // Value from 0 to 255

Riga 1168 , de commentare #define NOZZLE_PARK_FEATURE

 

Abilitiamo ora il display  e le relative funzioni

 

Riga 1333,de commentiamo #define SDSUPPORT

Riga 1358, de commentare #define ENCODER_PULSES_PER_STEP 1

Riga 1364 , de commentare #define ENCODER_STEPS_PER_MENU_ITEM 5

Riga 1404, de commentare #define SPEAKER

Riga 1485, de commentare #define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER

 

Ora spostiamoci nella scheda CONFIGURATION_ADV.H

Riga 658 , de commentiamo #define BABYSTEPPING

Questa funzione è comodissima infatti darà la possibilità di effettuare in fase di stampa delle piccolissime correzioni all’altezza dell nozzle cosi da garantire  un primo layer perfetto !!

Riga 662, #define BABYSTEP_MULTIPLICATOR 5

Riga 664, #define DOUBLECLICK_FOR_Z_BABYSTEPPING

Riga 733, commentiamo la riga aggiungendo //#define ARC_SUPPORT

Riga 879, abilitiamo  #define ADVANCED_PAUSE_FEATURE

 

Passiamo alla scheda PINS_RAMPS.H

Riga 255, impostiamo il valore #define FIL_RUNOUT_PIN      2

 

Ora se per voi è la prima volta dovrete aggiungere una libreria. L’operazione e semplicissima basta semplicemente andare su

Sketch ->#includi libreria->Gestione libreria  e nella barra “Filtra la tua ricerca “ inserite U8glib e installatela.

libreria IDE
Arduino firmware libreria display

 

Fatto questo il firmware è completo  , non resta che andare su Strumenti ed impostare come da foto

Firmware upgrade
Selezionare le impostazioni Firmware corrette

Aggiorniamo la nostra stampante

Collegare il pc alla stampante impostare la Porta COM esatta

Successivamente Sketch-> Verifica e compila , se non da errori  Sketch->Compila

Fatto questo complimenti avete aggiornato la vostra CR10S con la funzione di livellamento con BLTouch!!

 

PARTE 2

Installazione BLTouch su CR10S

Adesso vediamo come collegare il sensore alla stampante e come eseguire il comando di auto livellamento. L’articolo sara diviso in varie fasi per rendere il tutto più semplice. L’unica cosa a cui prestare attenzione è scollegare l’alimentazione elettrica!

Come sempre se non vi va di leggere l’artico ecco il link al video sul canale Youtube   (video vecchio che a breve verrà sostituito )

 

 

Ecco cosa serve per iniziare !

Per installare il BLTouch serviranno semplicemente alcune chiavi esagonali , un cavo prolunga 3 poli +2 cavi aggiuntivi o un meglio ancora  kit di connettori ” che serve sempre anche nel prossimo articolo sulla sostituzione delle ventole ” , delle tronchesi , saldatore e della termo-restringente se volete fare un lavoro pulito.

La prima cosa da fare è staccare l’alimentatore e ora possiamo procedere a smontare prima queste  5 viti esagonali  e successivamente le 4 viti laterali che fissano l’alimentatore.

Alimentatore CR10

Ora se volete fare un lavoro pulito potete creare una prolunga come ho fatto io “dato che smonto spesso la stampante ” altrimenti potete semplicemente far passare il cavo vicino le guaine passacavi.

Una  volta fatto questo procediamo a sganciare i cavetti da connettore, potete utilizzare un piccolo cacciavite a taglio per sollevare il fermo in plastica e sfilare i cavi , oppure, rompete il connettore nero!

 

Passaggio cavo per BLTouch
Cavo BLTouch

Eliminiamo il connettore in plastica

ora non resta che collegare i cavi del sensore .

I cavi saranno cosi collegati

Collegare i cavi può sembrare una cosa molto difficile ma non è cosi . Basterà riutilizzare i connettori presenti nella prolunga ed il gioco è fatto. Ovviamente se avete del nastro isolante o della termo-restringete potete utilizzarla al fine di garantire l’isolamento dei cavi!

Detto questo ecco come collegare i tre cavi .

 

Schema di connessione !

-Rosso = +5v  sul sensore è il colore Rosso ;

-Nero = Ground   sul sensore il colore è Marrone ;

-Verde = Segnale pin D11 sul sensore è il colore Arancione ;

-Bianco (Segnale ) e Nero (GND)  vanno collegati al posto del finecorsa asse Z originale , se non avete il connettore necessario potete (come ho fatto io ) collegarlo al connettore originale presente sul finecorsa dell’asse Z ( montato sulla stampante).

Una volta collegato tutto bastera fare un piccolo test giusto per essere sicuri di aver collegato bene il finecorsa. Portate l ‘asse Z in alto e fate una home z, mentre l’asse scende toccate l’alberino del sensore..se vedere che il sensore scatta ma la stampante non si ferma allora spegnete tutto e invertite i cavi bianco e nero e rifate il test…funzionerà sicuramente !

 

 

Implementazione dello script iniziale

Ora non resta che montare il sensore utilizzando il supporto presente a questo link  e utilizzare le  viti che fissano la gabbietta protettiva del nozzle . Nel mio caso ho dovuto inserire uno spessore (un dado aggiuntivo) tra supporto in plastica e BLtouch perchè il sensore era troppo sollevato rispetto al nozzle.

 

PARTE 3

Primo avvio e configurazione altezza

La prima cosa da fare una volta installato il tutto è collegarsi alla stampante tramite il programma Pronterface (LINK)   avviare la comunicazione selezionando correttamente la porta COM e la velocità di comunicazione  (115000) . Una volta connessi possiamo tramite stringa di comando inserire il codice funzione  G28 (G maiuscola ) home x y z.

 

Fatto questo la stampante procederà a fare l home x poi l home y si sposterà al centro del piano di stampa e fare l home Z , se avete collegato bene il sensore BLTouch noterete che verra rilasciato l’alberino in ferro e il nozzle inizierà a scendere fino a bloccarsi nel momento esatto in cui scatterà il sensore BLTouch. Successivamente il nozzle salirà di 10mm !!

Ovviamente il sensore essendo posto più in basso rispetto al nozzle toccherà prima e il nozzle risulterà molto più alto rispetto al piano….è normale infatti ora dobbiamo procedere a calcolare il vero  zero del piano che è  facilissimo da fare ma difficile da spiegare !!

 

Le operazioni che andremo a fare ora sono molto importanti quindi seguitele attentamente!! ( tutte le lettere dei comandi sono MAIUSCOLE e vanno inserite nella barra in basso a destra)

 

1)dopo il G28 la stampante sale di 10 , quindi scendere fino al valore 0 con il comando G1 F60 Z0

2) Disabilitiamo via software gli endstop per poter scendere con valori di altezza negativi , comando  M211 S0

3) Inserire un foglio di carta sotto il nozzle e tramite l’interfaccia di proterface scendere con piccoli passi fino a fare il classico test di livellamento ( nel muovere il foglio sotto il nozzle dovrete percepire una piccola resitenza) , fatto questo leggere il valore di Z sul display della CR10 . Il valore sara ovviamente negativo , nel mio caso Z -1.99 a cui per sicurezza andremo ad aggiunge -0.01 quindi valore finale -2

4) Ora andiamo a compensare l altezza inserendo il comando M851 Z X.XX  ( sostituire il valore alle X , nel mio caso il comando sara M851 Z -2 )

5) Riabilitiamo i finecorsa con il comando M211 S1

6)Salviamo i valori impostati nella Eprom della CR10 S con il comando M500 abilitiamola con il comando M501 e per sicurezza leggiamo nel Box testo di Pronterface i valori salvate con il comando M503 , il valore più importante sarà M851 Z-2.00 ( il mio caso !!!)

7)Per essere sicuri diamo un ultimo comando G1 F60 Z0 e ora il nozzle dovrebbe toccare leggermente il foglio di carta se cosi fosse allora avete correttamente settato l’altezza del BLTouch rispetto al nozzle.

PARTE 4

Ed ultima !!!

Ora non vi resta che abilitare da programma la funzione di livellamento automatica.. semplicissimo ..pero varia da programma a programma.. nel mio caso uso Simplify3D  basterà andare sul profilo ->Script ->di stampa su start code e inserire questi due comandi dopo il G28

G29;

M420 S1;

 

Fatto questo avete abilitato correttamente la funzione di livellamento del piano di stampa !!!

Ora potete provare a stampare il classico cubo di test e se volte un consiglio per un ottimo primo layer potrete una volta effettuato il livellamento del piano e pulito il nozzle  , tramite la manopola della cr10S spostatevi sulla funzione TUNE , andate su Babystepping e modificate a piacere il valore IN POSITIVO se notate che il primo layer è troppo basso o in Negativo se troppo alto!! Una volta soddisfatti premete la manopola per confermare !!

La funzione Babystepping potre essere sempre usata e il valore di compensazione sara cancellato ogni volta spenta la stampante !!

PS: i valori di compensazione sono piccolissimi quindi non spaventatevi se effettuate una compensazione di 0.100 è normale !!

Detto questo spero di essere stato completo e chiaro.. a breve provvederò ad inserire il firmware precompilato per la CR10S , se l’articolo vi è piaciuto o se è stato utile commentate …e condividetelo su facebook

 

Un saluto a tutti e BUONE STAMPE !

 

Please follow and like us:

Autore dell'articolo: samu.palumbo

3 commenti su “BLtouch ovvero auto-livellamento su CR10S

    snorts

    (1 maggio 2018 - 2:12)

    I thіnk the admin of this web page is actually working
    һard in favor of his website, as here every information is
    quality based materіаl.

    Marco

    (8 maggio 2018 - 20:00)

    Per l’Sd che con questo fw non mi compariva più, ho risolto con questa guida 😉 https://github.com/MarlinFirmware/Marlin/issues/8242

      samu.palumbo

      (11 maggio 2018 - 5:46)

      Strano ,non ho mai avuto di questi problemi..
      Grazie mille per aver linkato la guida

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *