Il motore passo-passo 28ByJ-48 è un motore passo-passo popolare e conveniente spesso utilizzato nei progetti elettronici fai-da-te. Abbinato alla scheda di driver ULN2003, è una scelta eccellente per le applicazioni che richiedono un movimento preciso, come robotica, cursori della fotocamera e automazione domestica. Questo tutorial ti guiderà attraverso l'impostazione e il controllo del motore passo-passo 28ByJ-48 con Arduino.
Cosa avrai bisogno
- 28BYJ-48 Motore Stepper
- Scheda driver ULN2003
- Arduino Board (ad es. Uno, Mega, Nano)
- Fili jumper
- Breadboard (opzionale)
- Un computer con l'IDE Arduino installato
Passaggio 1: comprensione dei componenti
28BYJ-48 Motore Stepper
- Il 28ByJ-48 è un motore passo-passo a 5 fasi a 5 fili con un rapporto di riduzione degli ingranaggi di circa 1:64, che lo rende preciso e affidabile.
Scheda driver ULN2003
- L'ULN2003 è una scheda di driver progettata specificamente per il motore 28ByJ-48. Include i LED per indicare la fase attiva del motore e semplifica le connessioni all'Arduino.
Passaggio 2: cablaggio ULN2003 ad Arduino
-
Collegare il motore 28ByJ-48 alla scheda driver ULN2003. Il connettore del motore si adatta direttamente all'intestazione etichettata "in" sul tabellone.
-
Utilizzare i fili jumper per collegare la scheda driver ULN2003 all'Arduino come segue:
PIN ULN2003 | Arduino Pin |
---|---|
In1 | Pin 8 |
In2 | Pin 9 |
In3 | Pin 10 |
In4 | Pin 11 |
VCC | 5v |
GND | GND |
Passaggio 3: installa la libreria stepper
L'IDE Arduino include una libreria integrata per il controllo del motore passo-passo.
- Apri l'IDE Arduino.
- Vai a Schizzo > Includi la libreria > Stepper.
Passaggio 4: caricare il codice
Ecco un codice di esempio di base per controllare il motore passo -passo:
#include <Stepper.h>
// Define the number of steps per revolution for the 28BYJ-48 motor
#define STEPS_PER_REV 2048
// Initialize the Stepper library on pins 8, 9, 10, and 11
Stepper stepper(STEPS_PER_REV, 8, 10, 9, 11);
void setup() {
stepper.setSpeed(15); // Set motor speed (in RPM)
Serial.begin(9600);
Serial.println("28BYJ-48 Stepper Motor Test");
}
void loop() {
Serial.println("Moving Forward");
stepper.step(STEPS_PER_REV); // Move one full revolution forward
delay(1000);
Serial.println("Moving Backward");
stepper.step(-STEPS_PER_REV); // Move one full revolution backward
delay(1000);
}
Passaggio 5: testare l'installazione
- Collega l'Arduino al tuo computer tramite USB.
- Apri l'IDE Arduino e seleziona il corretto Asse E Porta sotto il Utensili menu.
- Carica il codice su Arduino facendo clic Caricamento.
- Una volta caricato il codice, il motore passo -passo dovrebbe ruotare una rivoluzione completa in avanti e quindi arretrato ripetutamente.
Controllo avanzato con accelerazione
Per un controllo più fluido e più preciso, puoi usare il Accelstepper Libreria invece della libreria Stepper integrata. Ecco un esempio:
#include <AccelStepper.h>
// Define the motor interface type
#define HALFSTEP 8
// Initialize the AccelStepper library
AccelStepper stepper(HALFSTEP, 8, 10, 9, 11);
void setup() {
stepper.setMaxSpeed(1000); // Set maximum speed
stepper.setAcceleration(500); // Set acceleration
stepper.setSpeed(200); // Set initial speed
}
void loop() {
stepper.runSpeed(); // Continuous rotation
}
Risoluzione dei problemi
- Motore non si muove: Controllare tutte le connessioni e assicurarsi che i pin corretti siano definiti nel codice.
- Movimento irregolare: Verificare che l'alimentazione del motore sia sufficiente e che il codice corrisponda alla configurazione.
- Coppia bassa: Il 28ByJ-48 non è un motore ad alto. Assicurati che non sia sovraccarico.
Applicazioni del motore passo-passo 28ByJ-48
- Cursori della fotocamera
- Braccia robotiche
- Blinds automatizzato
- Meccanismi di stampante 3D
Conclusione
Hai impostato e controllato con successo il motore Stepper 28ByJ-48 con il driver e Arduino ULN2003. Questo motore economico e affidabile è perfetto per vari progetti fai -da -te. Sperimenta con velocità, passaggi e metodi di controllo diversi per rendere i tuoi progetti più dinamici!