Come si calcolano i passi per mm
Un motore passo-passo ruota di un angolo fisso a ogni passo: 1,8° sulla maggior parte dei motori, cioè 200 passi interi per giro, oppure 0,9° e 400 passi. Il driver divide ogni passo intero in microstep, di solito 16. I passi per mm sono i microstep di un giro divisi per la distanza che un giro fa percorrere all’asse.
passi/mm = passi interi per giro × microstep × rapporto ÷ corsa per giro cinghia: corsa per giro = passo della cinghia × denti della puleggia vite: corsa per giro = passo del filetto × principi (l’avanzamento)
Esempio: una cinghia GT2 (passo 2 mm) su una puleggia da 20 denti avanza di 40 mm per giro. Con un motore da 1,8° a 1/16 fanno 200 × 16 ÷ 40 = 80 passi/mm, e ogni microstep sposta l’asse di 12,5 µm.
Configurazioni comuni
| Trasmissione | Corsa per giro | 1,8° · 1/16 | 0,9° · 1/16 | Passo intero (1,8°) |
|---|---|---|---|---|
| Cinghia GT2, 16 denti | 32 mm | 100 | 200 | 0,16 mm |
| Cinghia GT2, 20 denti | 40 mm | 80 | 160 | 0,2 mm |
| Cinghia GT2, 36 denti | 72 mm | 44,444 | 88,889 | 0,36 mm |
| T8 (Tr8x8) | 8 mm | 400 | 800 | 0,04 mm |
| Tr8x2 | 2 mm | 1600 | 3200 | 0,01 mm |
| Barra filettata M8 | 1,25 mm | 2560 | 5120 | 0,0063 mm |
| Vite a sfere SFU1605 | 5 mm | 640 | 1280 | 0,025 mm |
| Vite a sfere SFU1610 | 10 mm | 320 | 640 | 0,05 mm |
A 1/16 di microstep, senza riduzione. A 1/32 i passi per mm raddoppiano, a 1/8 si dimezzano.
Passo, avanzamento e principi di una vite
Il passo è la distanza tra due filetti; l’avanzamento è quanto si sposta la chiocciola in un giro. Su una vite a un principio, come una barra filettata o una Tr8x2, coincidono. Una vite T8 (Tr8x8) ha passo 2 mm e quattro principi, quindi avanza di 8 mm per giro: guardala in punta e vedrai quattro filetti separati. Le viti a ricircolo di sfere si indicano con diametro e avanzamento: una SFU1605 ha 16 mm di diametro e 5 mm di avanzamento.
La rotation_distance di Klipper
Klipper non usa i passi per mm. Chiede rotation_distance, la distanza che l’asse percorre in un giro completo del motore (o dell’ultimo ingranaggio, se è impostato gear_ratio), insieme a microsteps e full_steps_per_rotation. Per una cinghia è passo × denti, per una vite il suo avanzamento. Per convertire un vecchio valore: rotation_distance = passi interi × microstep ÷ passi/mm.
La documentazione di Klipper fa notare che quasi tutte le stampanti hanno una rotation_distance intera su X, Y e Z, per esempio 32, 40 o 8. Un valore con i decimali di solito indica un passo o un numero di denti sbagliato, a meno che le parti non siano MXL o in pollici.
Calibrare l’estrusore
- Porta l’hotend alla temperatura di stampa, così il filamento fonde e scorre liberamente.
- Fai un segno sul filamento 120 mm sopra il punto in cui entra nell’estrusore.
- Estrudi piano. Marlin: M83, poi G1 E100 F100. Klipper: G91, poi G1 E50 F60, e inserisci 50 mm come lunghezza richiesta.
- Misura di nuovo dall’ingresso al segno: 120 meno quella distanza è la lunghezza effettivamente estrusa.
- Inserisci le misure qui sopra e salva il nuovo valore: M92 E… e M500 su Marlin, rotation_distance su Klipper.
- Ripeti la prova se l’errore superava i 2 mm circa.
Microstep: risoluzione non vuol dire precisione
Più microstep rendono il movimento più fluido e silenzioso, non più preciso. Ogni microstep dispone solo di una parte della coppia, sin(90° ÷ microstep): circa il 20 % a 1/8 e il 5 % a 1/32, come spiega Monolithic Power Systems, quindi basta un po’ di attrito per fermare l’albero tra due microstep. I motori NEMA 17 più diffusi hanno una tolleranza di ±5 % di un passo intero. Driver come il TMC2209 interpolano internamente a 256 microstep, quindi 1/16 sull’ingresso di passo basta per un movimento fluido.
Altezza degli strati sull’asse Z
Con una vite T8 e un motore da 1,8°, un passo intero sposta Z di 0,04 mm. Le altezze multiple del passo intero (0,12; 0,16; 0,2; 0,24 mm…) mettono l’ugello dove il motore tiene meglio. Il calcolatore di Prusa spiega che se i motori si spengono su un microstep, l’asse può saltare al passo intero più vicino.
Frequenza di passo e velocità massima
Ogni millimetro al secondo costa passi al secondo: 200 mm/s a 80 passi/mm fanno 16.000 passi al secondo. Se non è impostato altro, Marlin considera 5 MHz per i driver TMC2xxx, 500 kHz per l’A4988, 250 kHz per il DRV8825, 150 kHz per il TB6600 e 15 kHz per il TB6560. Spesso il limite vero è il processore con il firmware, non il driver: Marlin invia i passi a raffiche alle frequenze alte, e Klipper pubblica i benchmark della frequenza di passo per ogni processore. Ridurre i microstep è il modo più semplice per abbassare la frequenza.
Calcolo della Vref dei driver passo-passo →
Fonti: documentazione di Klipper (Rotation distance), documentazione di Marlin (M92, impostazioni di movimento) e codice del planner, calcolatore RepRap di Prusa, Monolithic Power Systems sui microstep, pagina prodotto del TMC2209, pagina Bondtech del BMG, datasheet delle viti a sfere di Sorotec e datasheet di un motore 17HS4401.
Domande frequenti
Quanti passi per mm servono con una cinghia GT2 e una puleggia da 20 denti?
80 con un motore da 1,8° a 1/16 di microstep, 160 con un motore da 0,9°. In Klipper è rotation_distance: 40 con microsteps: 16. Una puleggia da 16 denti dà 100 passi/mm, rotation_distance 32.
Quanti passi per mm servono con una vite T8?
Una T8 (Tr8x8) avanza di 8 mm per giro, quindi un motore da 1,8° a 1/16 dà 400 passi/mm e la rotation_distance è 8. Una Tr8x2 a un principio dà 1600 passi/mm, rotation_distance 2.
Come si calibrano gli e-steps?
Fai un segno sul filamento 120 mm sopra l’estrusore, estrudi piano 100 mm con l’hotend in temperatura e misura quanto resta fino al segno. Nuovo valore = attuale × 100 ÷ millimetri effettivamente estrusi: per esempio 93 × 100 ÷ 95 = 97,89. Salvalo con M92 E97.89 e M500.
Devo correggere i passi per mm di X e Y dopo aver misurato un cubo stampato?
No. Con cinghie e viti il valore calcolato è esatto, e la documentazione di Klipper sconsiglia di correggere X, Y o Z misurando le stampe. Se un pezzo esce della misura sbagliata, controlla invece estrusione, tensione delle cinghie e impostazioni dello slicer.
Più microstep rendono la stampante più precisa?
Rendono il movimento più fluido, non più preciso. Un microstep dispone solo di sin(90° ÷ microstep) della coppia a passo intero, circa il 5 % a 1/32, e i motori hanno di solito una tolleranza di ±5 % di un passo intero. In più moltiplicano la frequenza di passo che la scheda deve generare.
Come converto i passi/mm nella rotation_distance di Klipper?
rotation_distance = passi interi per giro × microstep ÷ passi/mm. Con un motore da 1,8° (200 passi) a 1/16: 3200 ÷ 80 = 40. Per un estrusore a 415 passi/mm senza gear_ratio: 3200 ÷ 415 = 7,711. Se imposti gear_ratio il valore cambia: per un Bondtech BMG con gear_ratio: 50:17 è 22,679, come nella documentazione di Klipper.
Quali altezze di strato vanno bene con una vite T8?
Con un motore da 1,8° un passo intero sposta Z di 0,04 mm, quindi 0,04; 0,08; 0,12; 0,16; 0,20; 0,24; 0,28 e 0,32 mm sono multipli del passo intero. Con un motore da 0,9° il passo intero è di 0,02 mm.