- Motori passo-passo:
- Calcolo dei passi per giro per il motore passo-passo:
- Perché quindi abbiamo bisogno di moduli driver per motori passo-passo?
- Schema del circuito per il motore passo-passo rotante con potenziometro:
- Codice per la scheda Arduino:
- Lavorando:
I motori passo-passo stanno prendendo sempre più posizione nel mondo dell'elettronica. Partendo da una normale telecamera di sorveglianza a complicate macchine / robot CNC, questi motori passo-passo vengono utilizzati ovunque come attuatori poiché forniscono un controllo accurato. In questo tutorial impareremo a conoscere il motore passo-passo più comunemente / economico disponibile 28-BYJ48 e come interfacciarlo con Arduino utilizzando il modulo stepper ULN2003.
Nell'ultimo progetto abbiamo semplicemente interfacciato il motore passo-passo con Arduino, dove è possibile ruotare il motore passo-passo inserendo l'angolo di rotazione nel monitor seriale di Arduino. Qui in questo progetto, ruoteremo il motore passo-passo usando il potenziometro e Arduino, come se girassi il potenziometro in senso orario, lo stepper ruoterà in senso orario e se giri il potenziometro in senso antiorario, ruoterà in senso antiorario.
Motori passo-passo:
Diamo un'occhiata a questo motore passo-passo 28-BYJ48.
Ok, quindi a differenza di un normale motore CC, questo ha cinque fili di tutti i colori fantasiosi che ne escono e perché è così? Per capirlo dobbiamo prima sapere come funziona uno stepper e qual è la sua specialità. Prima di tutto i motori passo-passo non ruotano, scorrono e quindi sono noti anche come motori passo-passo. Significa che si muoveranno solo un passo alla volta. Questi motori hanno una sequenza di bobine presenti in essi e queste bobine devono essere eccitate in un modo particolare per far ruotare il motore. Quando ogni bobina viene eccitata il motore fa un passo e una sequenza di eccitazione farà compiere al motore passi continui facendolo ruotare. Diamo uno sguardo alle bobine presenti all'interno del motore per sapere esattamente da dove provengono questi fili.
Come puoi vedere, il motore ha una bobina unipolare a 5 conduttori. Ci sono quattro bobine che devono essere eccitate in una sequenza particolare. I fili rossi verranno forniti con + 5V e i restanti quattro fili verranno tirati a terra per attivare la rispettiva bobina. Usiamo un microcontrollore come Arduino per eccitare queste bobine in una sequenza particolare e fare in modo che il motore esegua il numero di passaggi richiesto.
Allora, perché questo motore si chiama 28-BYJ48 ? Sul serio!!! Non lo so. Non vi è alcun motivo tecnico per cui questo motore sia stato chiamato così; forse dovremmo immergerci molto più a fondo. Vediamo alcuni dei dati tecnici importanti ricavati dalla scheda tecnica di questo motore nella foto qui sotto.
Questa è una testa piena di informazioni, ma dobbiamo esaminarne alcune importanti per sapere quale tipo di stepper stiamo utilizzando in modo da poterlo programmare in modo efficiente. Per prima cosa sappiamo che è un motore passo-passo da 5V poiché eccitiamo il filo rosso con 5V. Quindi, sappiamo anche che si tratta di un motore passo-passo a quattro fasi poiché aveva quattro bobine. Ora, il rapporto di trasmissione è 1:64. Ciò significa che l'albero che vedete all'esterno farà una rotazione completa solo se il motore all'interno ruota per 64 volte. Ciò è dovuto agli ingranaggi che sono collegati tra il motore e l'albero di uscita, questi ingranaggi aiutano ad aumentare la coppia.
Un altro dato importante da notare è l' angolo di falcata: 5.625 ° / 64. Ciò significa che il motore, quando funziona in una sequenza di 8 fasi, si muoverà di 5,625 gradi per ogni fase e saranno necessari 64 passaggi (5,625 * 64 = 360) per completare una rotazione completa.
Calcolo dei passi per giro per il motore passo-passo:
È importante sapere come calcolare i passi per giro del tuo motore passo-passo perché solo così potrai programmarlo in modo efficace.
In Arduino opereremo il motore in sequenza a 4 fasi, quindi l'angolo di falcata sarà di 11,25 ° poiché è 5,625 ° (dato nella scheda tecnica) per la sequenza a 8 passi sarà 11,25 ° (5,625 * 2 = 11,25).
Passi per giro = 360 / angolo di passo
Qui, 360 / 11,25 = 32 passi per giro.
Perché quindi abbiamo bisogno di moduli driver per motori passo-passo?
La maggior parte dei motori passo-passo funzionerà solo con l'aiuto di un modulo driver. Questo perché il modulo controller (nel nostro caso Arduino) non sarà in grado di fornire abbastanza corrente dai suoi pin I / O per il funzionamento del motore. Quindi useremo un modulo esterno come il modulo ULN2003 come driver del motore passo-passo. Esistono molti tipi di moduli driver e il valore di uno cambierà in base al tipo di motore utilizzato. Il principio principale per tutti i moduli driver sarà quello di generare / assorbire corrente sufficiente per il funzionamento del motore.
Schema del circuito per il motore passo-passo rotante con potenziometro:
Lo schema del circuito per il controllo del motore passo-passo utilizzando potenziometro e Arduino è mostrato sopra. Abbiamo utilizzato il motore passo-passo 28BYJ-48 e il modulo driver ULN2003. Per eccitare le quattro bobine del motore passo-passo stiamo usando i pin digitali 8,9,10 e 11. Il modulo driver è alimentato dal pin 5V della scheda Arduino. Un potenziometro è collegato ad A0 in base ai cui valori faremo ruotare il motore passo-passo.
Ma, alimenta il driver con un alimentatore esterno quando colleghi un carico al motore steppa. Dato che sto usando il motore solo a scopo dimostrativo, ho usato il binario + 5V della scheda Arduino. Ricorda inoltre di collegare la massa di Arduino con la massa del modulo Driver.
Codice per la scheda Arduino:
Prima di iniziare a programmare con il nostro Arduino, cerchiamo di capire cosa dovrebbe effettivamente accadere all'interno del programma. Come detto in precedenza, utilizzeremo il metodo della sequenza in 4 fasi, quindi avremo quattro passaggi da eseguire per eseguire una rotazione completa.
Passo |
Pin eccitato |
Bobine eccitate |
Passo 1 |
8 e 9 |
A e B |
Passo 2 |
9 e 10 |
B e C |
Passaggio 3 |
10 e 11 |
C e D |
Passaggio 4 |
11 e 8 |
D e A |
Il modulo Driver avrà quattro LED che ci consentono di controllare quale bobina viene eccitata in un dato momento. Il video dimostrativo completo si trova alla fine di questo tutorial.
In questo tutorial programmeremo l'Arduino in modo tale da poter ruotare il potenziometro collegato al pin A0 e controllare la direzione del motore Stepper. Il programma completo si trova alla fine del tutorial, alcune righe importanti sono spiegate di seguito.
Il numero di passi per giro per il nostro motore passo-passo è stato calcolato essere 32; quindi lo inseriamo come mostrato nella riga sottostante
#define PASSAGGI 32
Successivamente devi creare istanze in cui specifichiamo i pin a cui abbiamo collegato il motore Stepper.
Stepper stepper (STEPS, 8, 10, 9, 11);
Nota: il numero di pin è disordinato come 8,10,9,11 di proposito. Devi seguire lo stesso schema anche se cambi i pin a cui è collegato il tuo motore.
Poiché stiamo utilizzando la libreria stepper di Arduino, possiamo impostare la velocità del motore utilizzando la riga sottostante. La velocità può variare da 0 a 200 per i motori passo-passo 28-BYJ48.
stepper.setSpeed (200);
Ora, per far muovere il motore di un passo in senso orario, possiamo usare la seguente riga.
stepper.step (1);
Per far muovere il motore di un passo in senso antiorario possiamo usare la seguente riga.
stepper.step (-1);
Nel nostro programma leggeremo il valore del pin analogico A0 e lo confronteremo con il valore precedente (Pval). Se è aumentato spostiamo 5 passi in senso orario e se è diminuito spostiamo 5 passi in senso antiorario.
potVal = map (analogRead (A0), 0,1024,0,500); if (potVal> Pval) stepper.step (5); if (potVal
Lavorando:
Una volta stabilita la connessione, l'hardware dovrebbe essere simile a questo nell'immagine sottostante.
Ora, carica il programma seguente nel tuo Arduino UNO e apri il monitor seriale. Come discusso in precedenza, è necessario ruotare il potenziometro per controllare la rotazione del motore passo-passo. Ruotandolo in senso orario si farà girare il motore passo-passo in senso orario e viceversa.
Spero che tu abbia capito il progetto e ti sia piaciuto realizzarlo. Il funzionamento completo del progetto è mostrato nel video sottostante. Se hai dei dubbi pubblicali nella sezione commenti qui sotto o sui nostri forum.