Se, da un lato, è una buona pratica impostare un discreto numero di micropassi (4x, 8x), diventa completamente inutile, se non dannoso, impostare valori (molto) superiori.
Pilotare lo stepper a micropassi è positivo perché le correnti di pilotaggio dei motori approssimano sempre di più una sinusoide (vedi immagine). Le correnti sinusoidali riducono le vibrazioni del motore rendendolo un po' più silenzioso e meno incline a innescare risonanze.
Inoltre, l'utilizzo dei micropassi aumenta la risoluzione di posizionamento. Almeno fino ad un certo punto.
Quindi perché non aumentare il micropasso all'infinito?
Innanzitutto perché la coppia incrementale (e sottolineo incrementale) del micropasso diventa così piccola che il motore non raggiungerà mai la posizione desiderata, ma rimarrà sempre qualche micropasso indietro (in base alla forza applicata all'asse).
Inoltre, ad ogni raddoppio del numero di micropassi, corrisponde un raddoppio della frequenza di pilotaggio del driver.
Questo raddoppio non è indolore perché:
1) il controllore deve riuscire ad effettuare i calcoli di posizionamento rispettando la frequenza;
2) tutta l'elettronica deve sostenere la frequenza degli impulsi senza creare problemi di affidabilità e senza superare i limiti del sistema;
3) anche se il motore riuscisse a posizionare in modo esatto l'asse, gli errori dovuti ad altri fattori (ad es. la meccanica, l'errore di posizionamento tipico del 5% di un passo dello stepper), diventano molto superiori della presunta precisione di posizionamento.
Chiaramente il primo problema è legato strettamente alle prestazioni del controllore. GRBL, se gira su Arduino, avrà prestazioni molto più limitate di quando gira su un processore a 32 bit.
Ecco perché non ha senso spingersi oltre un certo numero di micropassi (a mio parere la configurazione ideale è tra 800/1000/1600 micropassi/giro).
Giusto per fare un esempio:
Marlin, il firmware per le stampanti 3D che gira su Arduino, ha un limite ben preciso sulla frequenza massima (vedi primo link). Tale firmware ha una temporizzazione fissa con la quale controlla gli impulsi. Per poter inviare impulsi ad una frequenza superiore, utilizza un trucco inviando due o quattro impulsi per ciclo di controllo. Trucco che, da un lato aumenta la frequenza massima, dall'altro dimezza la risoluzione effettiva
Nota: la coppia del motore non cambia in base al micropasso. È il singolo micropasso ad avere una coppia molto minore (vedi il secondo link). Ma, se il motore non si muove, la coppia dei micropassi che vengono comandati si accumula (da qui il termine incrementale) fino a raggiungere la coppia del passo intero.
Il fatto che il motore non si posizioni esattamente dove desiderato, non significa però che il motore perda passi. Si tratta semplicemente di un posizionamento non accurato.
Link
https://reprap.org/wiki/Step_rates
https://www.faulhaber.com/en/know-how/t ... realities/