La libreria Stepper Arduino è ottima per controllare un solo stepper, ma quando si desidera controllare velocità e accelerazione dello stepper oppure è necessario controllare contemporaneamente più stepper bisogna utilizzare la libreria AccelStepper.
In questo breve tutorial vedremo come controllare velocità e accelerazione ed in una successiva lezione controlleremo più stepper.
AccelStepper aggiunge le seguenti funzionalità:
- accelerazione e decelerazione;
- supporta il mezzo passo;
- controllo di più stepper simultaneamente e simultaneamente si possono far fare passi indipendenti su ogni stepper.
AccelStepper non è inclusa nell’IDE di Arduino, bisognerà installarla.
Installazione della libreria
Per installare la libreria, andare in Sketch > Include Library > Manage Libraries…

Nel campo di ricerca inserire “AccelStepper”. Selezionare la prima voce che compare e procedere con l’installazione

Lo schema elettrico di collegamento è il medesimo visto nella lezione precedente, potete utilizzare entrambi gli schemi proposti, con alimentazione presa direttamente da Arduino o con alimentazione esterna che vi consiglio.

Codice Arduino
Di seguito lo sketch di esempio “Bounce”, che permette l’accelerazione del motore passo-passo in una direzione per decelerare e poi fermarsi. Trovate lo sketch “Bounce” tra gli esempi a corredo della libreria, su questo programma ho apportato alcune modifiche inserendo i commenti che ne spiegano il funzionamento.

7 | #include <AccelStepper.h> |
22 | AccelStepper mioStepper(FULLSTEP, 8, 10, 9, 11); |
31 | mioStepper.setMaxSpeed(1000); |
32 | mioStepper.setAcceleration(50); |
33 | mioStepper.setSpeed(100); |
34 | mioStepper.moveTo(2048); |
45 | if (mioStepper.distanceToGo() == 0) |
46 | mioStepper.moveTo(-mioStepper.currentPosition()); |
Per maggiori informazioni vi rimando alla pagina di riferimento della libreria
Esercizi per i miei studenti
Esercizio 1
Realizzare uno sketch che da serial monitor permetta all’avvio di Arduino l’impostazione di:
- velocità massima;
- accelerazione;
- velocità iniziale;
- numero di passi da compiere;
Con l’inserimento dell’ultimo parametro ed il successivo invio si avvia lo stepper.
Esercizio 2
Eseguire le stesse funzionalità dell’esercizio precedente, ma l’avvio dello Stepper avviene solamente alla pressione di un pulsante.
Esercizio 3
Aggiungere all’esercizio precedente un pulsante di stop che permetta di interrompe in qualsiasi momento la rotazione dello stepper.