Salve a tutti.
Propongo un quesito per il quale, al momento, non ho trovato risposta.
Scheda Arduino Due, Stepper Nema 17, DRV8825, libreria Accelstepper (ma la libreria non è importante ai fini del problema principale).
All'interno di un loop avvio lo stepper in half-step, assegnado ai pin
digitalWrite (DEC_MODE0, HIGH);
digitalWrite (DEC_MODE1, LOW);
digitalWrite (DEC_MODE2, LOW);
premendo un pulsante, passo in 1/16-step, assegnando ai pin
digitalWrite (RA_MODE0, LOW);
digitalWrite (RA_MODE1, LOW);
digitalWrite (RA_MODE2, HIGH);
Fin qui tutto ok, il motore in effetti passa da half-step a 1/16-step senza problemi, e viceversa.
Il problema:
Che si operi a 1/2-step o 1/16-step, non riesco a far leggere il giusto numero di step; in sostanza, il passaggio crea un impiccio nel numero di step. Io vorrei che propozionalmente, passando da una risoluzione a un'altra, la libreria riuscisse ad assegnare il giusto numero di step, "proporzionato" al settaggio impostato in quel momento.
Ad esempio, se in 1/16-step leggo 8000 step, passando a 1/2 dovrei leggere 1000 step; invece spesso continuo a leggere 8000, e viceversa.
Sbaglio qualcosa o semplicemente non posso switchare il microstepping al volo senza perdere il giusto numero di step?
Grazie,
saluti a tutti.