Motorul Stepper 28BYJ-48 este un motor stepper popular, accesibil, adesea folosit în proiectele de electronice DIY. Împerecheat cu placa de șofer ULN2003, este o alegere excelentă pentru aplicațiile care necesită o mișcare precisă, cum ar fi robotica, glisoarele de camere și automatizarea la domiciliu. Acest tutorial vă va ghida prin configurarea și controlul motorului Stepper 28ByJ-48 cu Arduino.
Ce vei avea nevoie
- 28BYJ-48 Motor Stepper
- Uln2003 Driver Board
- Arduino Board (de exemplu, Uno, Mega, Nano)
- Fire de jumper
- Panoul de pâine (opțional)
- Un computer cu IDE Arduino instalat
Pasul 1: Înțelegerea componentelor
28BYJ-48 Motor Stepper
- 28BYJ-48 este un motor pas cu 5 faze, cu 5 fire, cu un raport de reducere a angrenajului de aproximativ 1:64, ceea ce îl face precis și fiabil.
Uln2003 Driver Board
- ULN2003 este o placă de șofer proiectată special pentru motorul 28BYJ-48. Include LED -uri pentru a indica faza activă a motorului și simplifică conexiunile cu Arduino.
Pasul 2: Cablarea uln2003 către Arduino
-
Conectați motorul 28BYJ-48 la placa de șofer ULN2003. Conectorul motorului se încadrează direct în antetul etichetat „în” de pe tablă.
-
Utilizați firele de jumper pentru a conecta placa de driver ULN2003 la Arduino după cum urmează:
Uln2003 pin | Pinul Arduino |
---|---|
În1 | Pinul 8 |
In2 | Pinul 9 |
In3 | Pinul 10 |
In4 | Pinul 11 |
VCC | 5V |
GND | GND |
Pasul 3: Instalați biblioteca Stepper
IDE Arduino include o bibliotecă încorporată pentru controlul motorului pas cu pas.
- Deschideți IDE Arduino.
- Du -te la Schiţa > Include biblioteca > Stepper.
Pasul 4: Încărcați codul
Iată un cod de exemplu de bază pentru a controla motorul pas cu pas:
#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);
}
Pasul 5: Testați configurarea
- Conectați Arduino la computer prin USB.
- Deschideți IDE Arduino și selectați corect Bord şi Port sub Instrumente meniu.
- Încărcați codul la Arduino făcând clic pe Încărcați.
- După ce codul este încărcat, motorul pas cu pas ar trebui să rotească o revoluție completă înainte și apoi înapoi în mod repetat.
Control avansat cu accelerație
Pentru un control mai neted și mai precis, puteți utiliza Accelstepper Biblioteca în loc de biblioteca Stepper încorporată. Iată un exemplu:
#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
}
Depanare
- Motorul care nu se mișcă: Verificați toate conexiunile și asigurați -vă că pinii corecți sunt definiți în cod.
- Mișcare neregulată: Verificați dacă sursa de alimentare a motorului este suficientă și codul se potrivește cu configurarea dvs.
- Cuplu scăzut: 28BYJ-48 nu este un motor cu tort ridicat. Asigurați -vă că nu este supraîncărcat.
Aplicații de 28ByJ-48 Motor Stepper
- Glisoare de cameră
- Brațe robotice
- BLINE AUTOMATE
- Mecanisme de imprimantă 3D
Concluzie
Ați configurat și ați controlat cu succes motorul pas cu pas 28BYJ-48 cu driverul ULN2003 și Arduino. Acest motor accesibil și de încredere este perfect pentru diverse proiecte de bricolaj. Experimentați cu viteze diferite, pași și metode de control pentru a face proiectele dvs. mai dinamice!