I professionisti della stampa 3D al tuo servizio

Impostare il valore step/mm – Parte 1

Regolazione step/mm

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:

  1. Pazienza
  2. Pazienza
  3. Un calibro digitale (anche quello dei cinesi va bene)
  4. Una calcolatrice

Motore stepper

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

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.

Step per vitiStep cinghia

 

 

 

 

 

 

 

 

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:

Direct Drive

mk7 drive gear

 

 

 

 

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.

wade extruderHobbed bolt

 

 

 

 

 

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

MKestrusoriMKstep

 

 

 

 

 

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

Regolazione step/mm

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

25 Commenti

  1. Giorgio 28 settembre 2017 Reply

    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

    • Author
      Help3d 29 settembre 2017 Reply

      Ciao Giorgio

      Detta così è molto “vaga”, cosa vuol dire “non vanno bene i settaggi” ?

  2. Emanuele 13 dicembre 2017 Reply

    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

    • Author
      Help3d 13 dicembre 2017 Reply

      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!

  3. Claudio 4 marzo 2018 Reply

    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!

    • Author
      Help3d 4 marzo 2018 Reply

      Ciao
      Purtroppo ci sono dei firmware che non accettano il cambio dei valori eeprom. Prova con il comando M92 direttamente in uno start gcode

    • Daniele 7 maggio 2018 Reply

      Ciao Claudio! Potrei gentilmente sapere come trovare nel Firmware stock i valori di step/mm? ho trovato solo quelli relativi all’estrusore

      • Author
        Help3d 13 maggio 2018 Reply

        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!

  4. Claudio 5 marzo 2018 Reply

    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.

    • Author
      Help3d 5 marzo 2018 Reply

      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

      • Claudio 6 marzo 2018 Reply

        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.

        • Author
          Help3d 6 marzo 2018 Reply

          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à.

  5. Sebastiano Farina 30 marzo 2018 Reply

    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

    • Author
      Help3d 30 marzo 2018 Reply

      Ciao! Procedi alla stessa maniera 🙂

  6. Giovanni 13 maggio 2018 Reply

    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

    • Author
      Help3d 13 maggio 2018 Reply

      Ciao, sei sicuro che sia ben raffreddato?

      • Giovanni 13 maggio 2018 Reply

        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.

        • Author
          Help3d 22 maggio 2018 Reply

          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!

  7. andreafalegna 22 maggio 2018 Reply

    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

    • Author
      Help3d 22 maggio 2018 Reply

      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.

  8. andreafalegna 23 maggio 2018 Reply

    Ciao
    Perfetto grazie della risposta, scusa se non ho letto i commenti sono un tipo piu’ da video ciao grazie

  9. Agostino Russo 20 luglio 2018 Reply

    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

    • Author
      Help3d 20 luglio 2018 Reply

      Ciao! Controlla bene che il filamento non slitti sulla ruota zigrinata di caricamento! Ciao!

  10. Costantino 9 novembre 2018 Reply

    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

    • Author
      Help3d 9 novembre 2018 Reply

      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!

Leave a reply

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

*