Una delle operazioni fondamentali da eseguire sulla propria stampante 3D, è la regolazione del valore firmware DEFAULT_AXIS_STEPS_PER_UNIT
#define DEFAULT_AXIS_STEPS_PER_UNIT {80, 80, 3200, 625, 625, 625, 625}
ovvero i famosi Step/mm. Qualsiasi firmware presenta questa voce: per comodità e sopratutto semplicità in questa breve guida, farò riferimento ad una “branch” del Marlin ufficiale chiamata MARLIN KIMBRA (by MagoKimbra alias Alberto Cotronei). Perchè dico semplice? Cliccando QUI troverete il comodissimo configuratore online. Una volta inseriti i parametri, vi basterà scaricare il file .zip contentente il firmware per poi caricarlo direttamente in macchina. Per chi invece preferisce smanettare con il codice… nessun problema, spiegherò anche quella parte!
Materiale occorrente:
- Pazienza
- Pazienza
- Un calibro digitale (anche quello dei cinesi va bene)
- Una calcolatrice
I motori che (generalmente) muovono le nostre stampanti, sono chiamati Stepper: il motivo è semplice… perchè si muovono a Step! Anche se il movimento della nostra stampante risulta essere bello fluido e lineare, in realtà è frutto di una serie di step eseguiti dal motore stesso su comando della nostra elettronica). Non mi dilungo più di tanto sulla spiegazione del suo funzionamento , però sappiate che il fine ultimo di questa guida è tarare il numero di step che compie il motore, con il fine di ottenere un movimento accurato.
La domanda è: quanti step dovrà fare il mio motore per muovere il carrello dell’asse X (per esempio) di 100 mm ?
Sappiate subito che tale valore dipende molto dal tipo di movimentazione che sceglierete e dal tipo di
- pulegge
- riduzioni
- cinghie
- passo viti
- tipo di motori
- microstepping del driver
In linea del tutto teorica, i primi valori da inserire ve li darà il fornitore/costruttore della macchina. E se è una di quelle auto-costruite? Sicuramente salvatevi tra i preferiti questo calcolatore by Prusa. Partiamo dunque da questo caso, ovvero NON conosco i valori da inserire. Controllate di che tipo sono i vostri motori e se la movimentazione è a cinghia (generalmente per X e Y) oppure a vite (per la Z di solito) e poi inserite i valori nel calcolatore.
Nel configuratore relativo alle cinghie (belt), mettete i valori di rotazione del vostro motore (controllate le specifiche del produttore), il passo della cinghia , il numero di denti della puleggia e il microstepping impostato sulla scheda. Stessa cosa va fatta per il calcolatore della movimentazione a vite: al posto del passo della cinghia, inserite quello relativo alla vite che movimenta il piano in Z. Facile no?
Il bello arriva quando bisogna calcolare gli step/mm relativi all’estrusore! I casi principali da analizzare sono 2:
Estrusore di tipo direct drive senza riduzione: è il più semplice e tra i più comuni in circolazione. Misurate correttamente il diametro della ruota godronata/zigrinata (possibilmente dentro la scanalatura se avete quel modello) e usate la seguente formula
e_steps_per_mm = (motor_steps_per_rev * driver_microstep) / (hob_effective_diameter * pi)
- Motor_steps_per_rev: è il numero di step che il vostro motore fa per compiere un giro completo
- Driver_microstep: è il microstepping del driver (1/1, 1/4, 1/8, 1/16 e così via…)
- Hob_effective_diameter: diametro della ruota godronata
- Pi: valore Pi greco, ovvero 3,14159
Di conseguenza, per uno standard MK7 extruder con motori da 200 step per rivoluzione, microstep a 1/16, ruota godronata da 10.56 avremo:
e_steps_per_mm = (200*16)/(10.56*3,14159) —–> 96.45 step/mm
questo significa che il nostro motore dell’estrusore dovrà compiere 96.45 step per estrudere 1 mm di filamento.
Estrusore di tipo direct drive con ingranaggi di riduzione (wade extruder): facile trovarlo sulle comunissime Prusa I3 e in particolare per le macchine che utilizzano filamenti da 2.85/3.00 mm. In questo caso dovete tenere a mente anche il n° di denti dei due tipi di ingranaggi che utilizzerete e il diametro della hobbed bolt (la versione “allungata” della ruota godronata di prima). La formula in questo caso sarà:
e_steps_per_mm = (motor_steps_per_rev * driver_microstep) * (big_gear_teeth / small_gear_teeth) / (hob_effective_diameter * pi)
- big_gear_teeth: n° di denti della corona grande
- small_gear_teeth: n° di denti della corona piccola
- Hob_effective_diameter: diametro della hobbed bolt
Quindi per un wade extruder con rapporto 39:11 e hobbed bolt da 7 mm avremo:
e_steps_per_mm = (200 * 16) * (39 / 11) / (7 * 3.14159) —–> 515.91048 step/mm
Ora che avete individuato i valori “teorici” dei vostri step/mm, cerchiamo di capire dove andarli ad inserire all’interno del firmware. Come dicevo all’inizio, se usate il configuratore online del Marlinkimbra, vi basterà inserire i valori ottenuti nella tab MECCANICA e ESTRUSORI
Se invece siete degli smanettoni e vi gusta aprire e compilare a mano il firmware, allora è il caso di aprire il file (di Marlin) chiamato configuration.h. Cercate poi questo tratto di codice:
#define DEFAULT_AXIS_STEPS_PER_UNIT {80,80,4000,500} // default steps per unit for Ultimaker
e inserite i valori che avete precedentemente trovato. Come? Molto semplice, scrivete in quest’ordine (mi raccomando le virgole e per i decimali usate i punti):
#define DEFAULT_AXIS_STEPS_PER_UNIT {stepX , StepY , StepZ , Step Estrusore}
Perfetto, ora avete capito come individuare la BASE su cui partire per regolare al meglio la stampante. Per proseguire con la calibrazione vera e propria, consulta la parte 2 della guida
30 Comments
Ciao Andrea, è possibile avere supporto per la regolazione degli assi su una delta? Il modello in questione è una Anycubic Predator, vorrei riuscire a regolare gli step per l’estrusore e gli assi ove mai c’è ne fosse bisogno. Grazie mille.
Ciao,
ottima guida e bravissimi voi a spiegare tutto perfettamente. sono in possesso di una ENDER 3 PRO inserito Gcode per calibrare step x mm mi ritrovo che invece che 150mm di filamento estruso ne escono circa 6… sia senza hotend che con.
il valore di E step originale è 93 con questo dato dovrei andare a mettere circa 250!! è possibile?
come posso controllare cosa non va?
grazie in anticipo per l’aiuto
https://youtu.be/KbxZPZjwaIw segui attentamente questo video ! E’ molto probabile che la ruota godronata non trascini correttamente il filamento o che addirittura si sia rotto il supporto cuscinetto sul feeder
Ciao, ti seguo da tempo e ho trovato i tuoi tutorial molto chiari e interessanti…ho effettuato gli step per mm come indicato nel video ma ho notato che oltre a estrudere pochissimo materiale già prima (circa la metà), successivamente alla calibrazione cambia di 1 cm o 2.
Ho provato sia con il Gcode (fornito nel video) sia dal programma ma purtroppo non cambia nulla 🙁
L’estrusore non fa rumore a circa 225° con PLA, ho un ugello da 0.4 la stampante è una geeetech i3 pro b.
Puoi aiutarmi ad individuare il problema?
Grazie
Emiliano
Salve. Bisogna andare per esclusione, è un problema di estrusione o di step/mm regolati male? Ovvero… senza hot end montato il materiale viene estruso nei mm impostati? No? Allora è un problema dell’hot end purtroppo e bisogna vedere se è la throat o il nozzle il problema. Ciao!
Ciao , mi scuso per il fastidio ma purtroppo sono rimasto impallato con una stampante da me costruita simile AM8 32x32x60 , uso un bowden con e3dv5 e all’accensione sono rimasto fregato con la regolazione degli step per mm che a vuoto regolo a 96,5 mentre unito il bowden la ruota godronata gira e non porta avanti il filamento,se invece stringo il filamento con il cuscinetto a ll’intrno del motore si sente scattare ed il filamento rimane fermo ho provato a regolare anche i vref ma se lo porto a 80 come da consiglio di amici più esperti il motore inizia solo a scattare mentre prima a 1,25 qualche cm lo estrudeva aumentato il vref a1.75 estrudeva 12 cm di filo con qualche scatto ora non so più cosa fare mi puoi aiutare
Ciao Costantino. Qui il problema non è tanto di motore quanto di nozzle e hotend + throat. Controlla di averli montati correttamente e averli liberi. Inoltre verifica che sia BEN raffreddata la parte con le alette.
Ciao!
ciao ho un problema, uso un estrusore e3vd6 con fw marlin, non riesco a calibrare mm di estrusione del PLA , ho eseguito la guida per calcolare la quota esatta ma mi ritrovo su 150mm mi ritrovo con 20 mm non estrusi , cosa può essere cosa devo controllare? ma cè un valore max? può essere che mi esce 117?
Grazia
Ciao! Controlla bene che il filamento non slitti sulla ruota zigrinata di caricamento! Ciao!
Ciao
Perfetto grazie della risposta, scusa se non ho letto i commenti sono un tipo piu’ da video ciao grazie
Ciao Piraz
ho da poco una stampante 3d e sto seguendo i tuoi video ho provato i settaggi del mio estrusore, sono riuscito a cambiare i parametri sia da lcd che da repetier host pero non li salva, da lcd mi manca la voce salva in eeprom e da repetier ho dato il comando M500 ma non salva. ciao grazie
Ciao! Se dai una occhiata ai commenti dei video, vedrai che molti hanno il tuo stesso problema. La tua stampante non ha il FW con la EEPROM sbloccata. Significa che non puoi salvare i valori su EEPROM. Ma se inserisci la stringa sullo Start Gcode è lo stesso! Ricordati però di averla sempre presente all’interno dei gcode che dovrai andare a stampare.
Ciao,
ho cambiato la lunghezza della gola della mia stampante 3d. Prima era 40mm ed ora 50mm. Però noto che ad un certo punto non estrude più, e devo spingere a mano il PLA altrimenti si brucia. Devo cambiare anche io queste impostazioni??
Grazie
Ciao, sei sicuro che sia ben raffreddato?
Grazie per la risposta. Sono un neofita del settore, e quindi non saprei darti una risposta corretta al 100%, ma io ho semplicemente cambiato il tubicino (con dentro il teflon), e noto che ad un certo punto il filamento non viene più estruso. Allora ho pensato che forse, essendo più lungo di 1 cm rispetto al precedente, bisognerebbe cambiare questo parametro nel firmware, altrimenti il motore dell’estrusore sbaglia ad erogare il filamento, in quanto ne eroga 1 cm in meno.
in realtà non devi modificare nulla. Che sia più corto o più lungo il tubicino, poco cambia! Il motore girerà sempre con lo stesso numero di passi!
Ciao, bellissima guida.
L’ho eseguita correttamente per una geeetech pro b, ma per quanto riguarda una mk3 prusa originale come devo procedere?
Grazie mille
Ciao! Procedi alla stessa maniera 🙂
Infatti è ciò che ho fatto, come indicato sopra:
invio il gcode M92 per settare gli step/mm e subito dopo i comandi per estrudere 10cm, e non cambia nulla.
Inoltre, capisco che alcuni FW non consentano grossi interventi, ma quello della Anet per quanto riguarda gli step/mm dell’estrusore consente la modifica e il salvataggio in Eeprom (non si può fare invece con gli step/mm XYZ che per puro caso risultano corretti visto che il cubo di test misura esattamente 20mm).
inoltre volevo capire questo:
da simplify3d setto un moltiplicatore di estrusione a 0.86 (già abbastanza basso) e stampando il cubo vuoto ottengo perimetri spessi .050 mm invece di 0.45 come impostato (con estrusore da 0.4mm).
Se poi però come detto sopra, ho una estrusione ridotta a causa degli step/mm dell’estrusore, infatti viene estruso meno filamento del previsto, come si concilia il settaggio degli step/mm con una maggiore estrusione fino a raggiungere la misura corretta, con un problema di spessore dei perimetri già maggiore del dovuto?
Nel momento in cui riuscissi a estrudere la quantità prevista (10cm) non avrei poi un problema di sovraestrusione, essendo costretto ad abbassare a valori anomali il moltiplicatore sullo slicer?
Grazie in anticipo per ogni consiglio.
Da repetier lancia un M503 e verifica che effettivamente venga letto il nuovo valore inserito. Non concordo sul fatto che salvi quelli dell’estrusione e non quelli degli assi… O tutti o nessuno. Controlla anche la sintassi del comando che stai inviando.
Di quanto hai scritto dopo ho capito poco: se parti già “magro” teoricamente il flusso dovrebbe essere >1 e non minore. Quindi o stai utilizzando un nozzle (NON estrusore, quello è un’altra cosa) con dimensioni differenti o sei fuori con gli step/mm estrusore. Ciao
e infatti è la mia stessa perplessità, che forse non sono riuscito a esprimere in modo chiaro.
Considerando che da quanto vedo viene estruso meno filamento del dovuto in partenza, bypassando il profilo .fff di simplify, non capisco come possa stampare un bordo di 0.50mm con un moltiplicatore 0.86 nel profilo .fff avendo impostato 0.45mm
Per quanto riguarda le impostazioni degli step/mm su YXZ su firmware stock, ricontrollerò, ma credo che molti utilizzino Marlin 1.1 al posto dello stock proprio per avere più flessibilità nei settaggi.
Come dimensioni sono abbastanza certo di avere uno 0.4, la Anet A8 ha quel valore come foro di estrusione.
Purtroppo non è detto che se c’è scritto 0.4 mm il foro sia effettivamente da 0.4 !
Ripeto, tutto è sballato a monte, ovvero gli step/mm dell’estrusore. Risolto quello dovresti trovare la normalità.
Salve,
su una Anet A8 con FW stock, ho gli step/mm dell’estrusore a 100 sul display.
Da simplify3d invio direttamente il gcode per estrudere 10cm di filamento.
Ne estrude 86mm.
Allora invio il gcode per settare gli step/mm calcolato con: 100/86*100 ma quando riprovo, la lunghezza estrusa è grossomodo la stessa.
Allora imposto 116.0 step/mm sul display e salvo in Eeprom.
Stesso risultato.
Dove sbaglio?
Grazie mille!
Ciao Claudio! Potrei gentilmente sapere come trovare nel Firmware stock i valori di step/mm? ho trovato solo quelli relativi all’estrusore
Ciao. Quando ti colleghi con reptetier dovrebbe darti tutti e tre i valori. Se non li trovi te li calcoli in base alla puleggia e il n° di denti!
Ciao
Purtroppo ci sono dei firmware che non accettano il cambio dei valori eeprom. Prova con il comando M92 direttamente in uno start gcode
Ciao,
Ho un problema con l’asse Z, avendo impostato gli step giusti nel firmware (1600),
se faccio muovere l’asse dal controllo dell’lcd di 10mm, lo muove invece di oltre 60mm..
Non capisco assolutamente perché, i microstepper sono 16, il motore ha 200 step e la vite è passo 2. Cosa potrei fare?
Grazie
Ciao. I calcoli sono giusti, 1600 step sono ok per la configurazione. I casi sono due: o non sono barre con passo 2 mm o non hai impostato correttamente il microstepping!
Ciao,
Ti seguo da tempo e sei uno dei migliori sul web per spiegare i settaggi…ho un problema con gli step/mm dell’estrusore, faccio tutta la procedura ma ogni volta che faccio il test finale non va bene, ho cambiato lo spingi filamento perché scattava ad alte velocità, ma il problema è rimasto, ora però sembra andar bene.
Non capisco come mai non riesca a dettarlo bene c’è qualche valore sbagliato secondo te?
Grazie
Giorgio
Ciao Giorgio
Detta così è molto “vaga”, cosa vuol dire “non vanno bene i settaggi” ?