Utilizzare il motore passo-passo 28BYJ-48 con un driver ULN2003 e Arduino
In questo tutorial, impareremo come controllare un motore passo-passo 28BYJ-48 utilizzando un driver ULN2003 con un Arduino. Questa configurazione consente un controllo preciso della posizione e della velocità del motore. Alla fine di questo progetto, sarai in grado di ruotare il motore in entrambe le direzioni e controllare efficacemente i suoi passi.
Utilizzeremo il motore passo-passo 28BYJ-48, che è una scelta popolare per vari progetti di robotica e automazione grazie al suo basso costo e alla facilità d'uso. La scheda driver ULN2003 interfaccia il motore passo-passo con l'Arduino, permettendoci di inviare segnali di passo che controllano il movimento del motore. Questo tutorial ti guiderà attraverso il cablaggio e il codice necessari per far girare il tuo motore.
Per ulteriori chiarimenti, si prega di fare riferimento al video associato a questo tutorial (nel video a :45).
Hardware Spiegato
I componenti chiave di questo progetto includono il motore passo-passo 28BYJ-48 e la scheda driver ULN2003. Il motore passo-passo è composto da diverse bobine che possono essere alimentate in una sequenza specifica per creare rotazione. Il driver ULN2003 funge da interruttore, consentendo all'Arduino di controllare la potenza fornita a ciascuna bobina.
Il driver ULN2003 utilizza un array di transistor Darlington per gestire la corrente più elevata richiesta dal motore passo-passo. Quando un pin dell'Arduino emette un segnale HIGH, consente alla corrente di fluire verso la bobina corrispondente nel motore, facendolo muovere. Questo consente un controllo preciso sull'angolo di rotazione e sulla velocità del motore.
Dettagli della scheda tecnica
| Produttore | ULN2003 |
|---|---|
| Numero di parte | ULN2003 |
| Tensione di logica/IO | 5 V |
| Tensione di alimentazione | 5-30 V (max) |
| Corrente di uscita (per canale) | 500 mA max |
| Corrente di picco (per canale) | 2 A max |
| Linee guida sulla frequenza PWM | N/A |
| Soglie logiche di ingresso | 0,8 V (basso), 2,4 V (alto) |
| Caduta di tensione / RDS(on)/ saturazione | 1,5 V max |
| Limiti termici | 70 °C max |
| Pacchetto | DIP-16 |
| Note / varianti | Comunemente usato con motori passo-passo da 5V. |
- Assicurati che il driver possa gestire i requisiti attuali del tuo motore.
- Utilizzare dissipatori di calore se necessario per gestire i limiti termici.
- Controlla che tutte le connessioni siano sicure per evitare ingressi flottanti.
- Testa il motore eseguendo semplici sequenze di passi prima di integrarlo in progetti più grandi.
- Assicurati di alimentare il motore con una tensione di alimentazione adeguata.
Istruzioni di cablaggio
Per collegare il motore passo-passo 28BYJ-48 al driver ULN2003 e all'Arduino, segui questi passaggi:
Prima di tutto, collega il motore al driver ULN2003. Il motore ha quattro fili, tipicamente codificati a colori come arancione, giallo, rosa e blu. Collega questi fili ai pin di uscita corrispondenti sul driver ULN2003. Le connessioni sono le seguenti:
Orangecavo aOUT1Yellowcavo aOUT2Pinkcavo aOUT3Bluecavo aOUT4
Successivamente, collega il driver ULN2003 all'Arduino. I pin di ingresso sul driver corrispondono a quattro pin digitali sull'Arduino. Ad esempio:
IN1aPin 10IN2aPin 11IN3aPin 12IN4aPin 13
Infine, collega i pin di alimentazione e di massa del driver ULN2003 all'Arduino. Collega ilVCCcollegare al pin di uscita 5V dell'Arduino e ilGNDcollegare al terreno dell'Arduino. Assicurati che tutte le connessioni siano sicure prima di accendere il sistema.
Esempi di codice e guida passo passo
Nella sezione di configurazione del codice Arduino, definiamo i pin collegati al driver ULN2003:
int Pin1 = 10;
int Pin2 = 11;
int Pin3 = 12;
int Pin4 = 13;
Qui dichiariamo quattro variabili intere:Pin1,Pin2,Pin3, ePin4, che corrispondono ai pin digitali sull'Arduino. Questi pin controlleranno il movimento del motore passo-passo.
Nellasetup()funzione, configuriamo questi pin come uscite:
void setup() {
pinMode(Pin1, OUTPUT);
pinMode(Pin2, OUTPUT);
pinMode(Pin3, OUTPUT);
pinMode(Pin4, OUTPUT);
}
Questa configurazione garantisce che l'Arduino possa inviare segnali al driver ULN2003 per controllare il motore.pinModeLa funzione imposta ogni pin in modalità OUTPUT, consentendo loro di inviare segnali.
Infine, nel ciclo principale, creiamo un'istruzione switch case per controllare i passi del motore in base alla variabile._step:
switch(_step){
case 0:
digitalWrite(Pin1, LOW);
digitalWrite(Pin2, LOW);
digitalWrite(Pin3, LOW);
digitalWrite(Pin4, HIGH);
break;
// Additional cases follow
}
In questo estratto, utilizziamodigitalWriteinviare segnali ALTI o BASSI a ciascun pin in base alla corrente_stepQuesto controlla quali bobine sono energizzate, permettendo al motore di ruotare. Il codice completo che integra questi frammenti sarà caricato sotto l'articolo.
Dimostrazione / Cosa Aspettarsi
Una volta che tutto è cablato correttamente e il codice è caricato, il motore passo-passo dovrebbe ruotare in risposta ai segnali dall'Arduino. Puoi testare il motore modificando il ritardo nel ciclo o cambiando i passi per vedere come reagisce. Tieni presente che se il motore non è alimentato correttamente, potrebbe non muoversi o comportarsi in modo erratico.
Capitoli
- Introduzione - 0:00
- Hardware Spiegato - 1:30
- Istruzioni di cablaggio - 3:15
- Esempi di codice e guida - 5:00
- Dimostrazione / Cosa Aspettarsi - 7:45
Cose di cui potresti avere bisogno
-
AliExpressPurchase 5 pcs 28BYJ-48 stepper motors from AliExpresss.click.aliexpress.com
-
AliExpress
Risorse e riferimenti
-
EsternoPurchase 5 pcs 28BYJ-48 stepper motors from AliExpresss.click.aliexpress.com
-
Esterno
-
Esterno
-
Esterno
-
Esterno
-
Esterno
-
Esterno
-
Esterno
-
Esterno
File📁
Nessun file disponibile.