- Motore passo-passo:
- Driver del motore passo-passo ULN2003:
- Materiali richiesti:
- Schema elettrico:
- Codice e spiegazione di lavoro:
In questo tutorial interfacciamo il motore passo-passo utilizzando MSP430. L' MSP-EXP430G2 è uno strumento di sviluppo aka LaunchPad fornito dal Texas Instruments per imparare e la pratica su come usare i loro microcontrollori. Questa scheda rientra nella categoria MSP430 Value Line dove possiamo programmare tutti i microcontrollori della serie MSP430. Se sei nuovo su MSP, controlla il nostro tutorial per iniziare con MSP430.
Motore passo-passo:
Il motore passo-passo è un tipo di motore CC senza spazzole che converte gli impulsi elettrici in movimenti meccanici distinti. L'albero di un motore passo-passo ruota a passi discreti. Possiamo ottenere passi precisi e velocità in base alle nostre necessità.
Useremo il motore passo-passo bipolare 35BYJ46 che è disponibile a buon mercato sul mercato. Ha 6 fili ma viene fornito anche con 5 fili. Ci sono 2 bobine nel nostro motore passo-passo. Ognuno ha 3 fili che escono da esso. Su 3 fili, 1 è centrato toccato così, i restanti 2 fili sono collegati direttamente con la bobina. In totale, abbiamo 4 fili di segnale e 2 fili filettati centrati che sono collegati con alimentazione 5-12V.
Nel caso in cui ci sono 5 fili in totale che escono dal motore, 4 fili sono fili di segnale e 1 è centrato su entrambe le bobine. Come questo.
Per controllare quale filo è centrato o quale filo di segnale, è necessario controllare la resistenza dei fili che escono dal motore. Quindi, quei fili, che sono collegati con la stessa bobina, hanno un valore di resistenza elevato rispetto alla resistenza della presa centrata.
Nel diagramma sopra, se abbiamo controllato il valore di resistenza dei fili blu e giallo e la resistenza tra di loro è maggiore del valore tra giallo e rosso o blu e rosso. Quindi, il rosso è un filo maschiato centrato.
Abbiamo precedentemente interfacciato il motore passo-passo con altri microcontrollori:
- Interfacciamento del motore passo-passo con Arduino Uno
- Controllo motore passo-passo con Raspberry Pi
- Interfacciamento motore passo-passo con microcontrollore 8051
- Interfacciamento del motore passo-passo con il microcontrollore PIC
Il motore passo-passo può anche essere controllato senza alcun microcontrollore, vedere questo circuito del driver del motore passo-passo.
Driver del motore passo-passo ULN2003:
La maggior parte dei motori passo-passo funzionerà solo con l'aiuto di un modulo driver. Questo perché il modulo controller (nel nostro caso MSP) non sarà in grado di fornire corrente sufficiente 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.
In questo progetto, useremo l'IC del driver del motore ULN2003. Di seguito è riportato il diagramma dei pin dell'IC:
Useremo 4 porte di input e 4 di output se IC.
Materiali richiesti:
- MSP430
- Motore passo-passo 35BYJ46 o 28-BYJ48
- ULN2003 IC
- Fili
- Breadboard
Schema elettrico:
Nello schema sopra, il filo ROSSO dello stepper non è collegato al PIN5 di IC. Deve essere collegato a 5V. Il codice colore del motore passo-passo potrebbe essere diverso dai colori indicati nello schema elettrico. Quindi, collegare i fili dopo aver controllato i cavi del segnale corretti.
Scriveremo il nostro codice utilizzando Energia IDE. È lo stesso di Arduino IDE e facile da usare. Il codice di esempio per guidare lo stepper può essere trovato anche nel menu di esempio dell'IDE di Arduino.
Codice e spiegazione di lavoro:
Prima di iniziare a programmare con il nostro MSP430, cerchiamo di capire cosa dovrebbe effettivamente accadere all'interno del programma. Useremo il metodo della sequenza in 4 fasi, quindi avremo quattro passaggi da eseguire per eseguire una rotazione completa. Considera A, B, C e D come quattro bobine.
Passo |
Pin eccitato |
Bobine eccitate |
Passo 1 |
6 e 7 |
A e B |
Passo 2 |
7 e 8 |
B e C |
Passaggio 3 |
8 e 9 |
C e D |
Passaggio 4 |
9 e 6 |
D e A |
In questo tutorial, scriveremo il codice del motore passo-passo MSP430. 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
const int STEPS = 32;
Successivamente devi creare istanze in cui specifichiamo i pin a cui abbiamo collegato il motore Stepper.
Stepper myStepper (STEPS, 6, 7, 8, 9);
Dato che stiamo usando la libreria Stepper, possiamo impostare la velocità del motore usando la riga sottostante. La velocità può variare da 0 a 200 per i motori passo-passo 35BYJ46.
Mystepper.setSpeed (200);
Ora, per far muovere il motore di un passo, possiamo usare la seguente riga.
myStepper.step (STEPS);
Poiché abbiamo 32 passi e 64 come rapporto di trasmissione, dobbiamo muoverci di 2048 (32 * 64 = 2048), per fare una rotazione completa. Ora, carica il codice sottostante e cambia il no. di passaggi in base alle tue esigenze.
È così che puoi interfacciare il motore passo-passo con un microcontrollore PIC, ora puoi usare la tua creatività e scoprire le applicazioni per questo. Ci sono molti progetti là fuori che utilizzano un motore passo-passo.