Motore stepper con Arduino (28BYJ-48 + driver ULN2003ARG)

Motore stepper con Arduino (28BYJ-48 + driver ULN2003ARG)

Ben ritrovati su 9minuti.it, oggi vedremo come utilizzare un motore stepper  con Arduino.

Si tratta di un motore standard chiamato 28BYJ-48 presente in quasi tutti i kit e che trovo sia molto interessante da far funzionare.

Il driver che utilizzeremo per questo motore è il famoso ULN2003ARG.

Questo motore ha un’ottima coppia e quindi difficilmente riusciremo a girare a mano il perno di ottone.

motore stepper con Arduino

Motore stepper con Arduino

Il collegamento elettrico per il motore stepper con Arduino

I motori stepper possono essere usati in diverse maniere, noi lo utilizzeremo con un integrato chiamato ULN2003 che ci consentirà di utilizzarlo in maniera semplicissima con l’apposita libreria.

Come potete vedere il collegamento per utilizzare il motore stepper è molto semplice e non prevede nulla di particolare.

Nel caso si volessero collegare più motori stepper si consiglia di utilizzare un’alimentazione separata che potrà essere da 5v a 12v.

In ogni caso fino a due motori stepper 28BYJ-48 ULN2003ARG  possono essere tranquillamente attaccati direttamente ad Arduino.

stepMotorUln2003

 

Lo sketch per il motore stepper con Arduino

Vediamo ora lo sketch che ci aiuterà a capire come farlo funzionare per i nostri progetti.

Useremo la libreria Stepper.h già inclusa nell’IDE di Arduino.

Se non sapete come si installa una libreria vi lascio QUESTA guida dove spiego anche come installarle.

Nello sketch di esempio vedremo come far ruotare il motore stepper di 90 gradi per poi farlo tornare alla posizione di partenza dopo un secondo.

Vediamo il codice riga per riga:

1 – Includiamo la libreria Stepper.h
3 – Creiamo l’oggetto myStepper di tipo Stepper. I parametri che inseriremo saranno il numero di step (ovvero passi) che il nostro motore dovrà compiere per effettuare un giro di 360°. Inseriremo poi i quattro pin necessari per far funzionare il motore stepper.
6 – Il metodo setSpeed() ci consente di scegliere la velocità. La scala è da 1 a 10.
11 – Ho creato una variabile di nome gradi e di tipo float e l’ho inizializzata a 90, ovvero i gradi che voglio far compiere al motore.
12 – Usando la funzione map() viene effettuata una proporzione fra i 360° di un giro completo e i 2048 step che il motore deve eseguire. Il valore restituito dalla funzione viene poi salvato all’interno della variabile gradi. In questo caso il valore sarà di 512.
13 – Il metodo step() ci consente di muovere il motore facendogli compiere il numero di step che gli passiamo come parametro.
14 – Delay di 1 secondo.
15 – Richiamiamo il metodo step(), questa volta con valore negativo.
16 – Delay di 1 secondo.

Considerazioni sul motore stepper con Arduino

Se ti è piaciuto l’articolo ti prego di farmelo sapere nei commenti e di condividerlo sulle tue pagine social in modo da supportare il blog.

Vi ringrazio per l’attenzione e rimango a disposizione per aiutarvi nel caso doveste averne bisogno.

Alessandro

Alessandro

Alessandro è un milanese che vorrebbe scappare da Milano, è appassionato di informatica ma vorrebbe vivere senza telefono, è un artigiano eppure vorrebbe robotizzare tutto, impara una cosa e già vorrebbe studiare dell’altro. Autodidatta da sempre, gli piace sbattere la testa finché tutto non funziona come vuole lui, spesso ci riesce anche! Il motto che si ripete dentro la testa è: “Se ci sono riusciti gli altri ci posso riuscire anche io”.

Potrebbero interessarti anche...

Cosa ne pensi? Fammelo sapere con un messaggio

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

%d blogger hanno fatto clic su Mi Piace per questo: