Silnik Stepper 28ByJ-48 to popularny, niedrogi silnik krokowy często stosowany w projektach elektroniki DIY. W połączeniu z płytą sterownika ULN2003, jest to doskonały wybór dla aplikacji wymagających precyzyjnego ruchu, takich jak robotyka, suwaki z kamer i automatyzacja domu. Ten samouczek poprowadzi Cię przez konfigurowanie i kontrolowanie silnika krokowego 28ByJ-48 z Arduino.
Czego będziesz potrzebować
- 28Byj-48 Silnik stepowy
- Płyta sterownika ULN2003
- Arduino Board (np. UNO, Mega, Nano)
- Przewody zworki
- Breadboard (opcjonalnie)
- Komputer z zainstalowanym Arduino IDE
Krok 1: Zrozumienie komponentów
28Byj-48 Silnik stepowy
- 28ByJ-48 to 4-fazowy silnik stepowy o 5-przewodowym, ze współczynnikiem redukcji przekładni wynoszącą około 1:64, co czyni go precyzyjnym i niezawodnym.
Płyta sterownika ULN2003
- ULN2003 to tablica sterowników zaprojektowana specjalnie dla silnika 28BYJ-48. Zawiera diody LED wskazujące na aktywną fazę silnika i upraszcza połączenia z Arduino.
Krok 2: Okablowanie ULN2003 do Arduino
-
Podłącz silnik 28ByJ-48 do płyty sterownika ULN2003. Złącze silnika mieści się bezpośrednio w nagłówku oznaczonym „w” na planszy.
-
Użyj przewodów Jumper, aby podłączyć płytę sterownika ULN2003 do Arduino w następujący sposób:
PIN ULN2003 | PIN Arduino |
---|---|
In1 | Pin 8 |
In2 | Pin 9 |
In3 | Pin 10 |
IN4 | Pin 11 |
VCC | 5v |
GND | GND |
Krok 3: Zainstaluj bibliotekę Stepper
Arduino IDE zawiera wbudowaną bibliotekę do sterowania silnikiem krokowym.
- Otwórz Arduino IDE.
- Idź do Naszkicować > Uwzględnij bibliotekę > Krok.
Krok 4: Prześlij kod
Oto podstawowy przykładowy kod do sterowania silnikiem krokowym:
#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);
}
Krok 5: Przetestuj konfigurację
- Podłącz Arduino do komputera za pomocą USB.
- Otwórz Arduino IDE i wybierz poprawne Tablica I Port pod Narzędzia menu.
- Prześlij kod do Arduino, klikając Wgrywać.
- Po przesłaniu kodu silnik krokowy powinien obracać jedną pełną rewolucję do przodu, a następnie wielokrotnie do tyłu.
Zaawansowana kontrola z przyspieszeniem
Aby uzyskać gładszą i dokładniejszą kontrolę, możesz użyć Accelstepper Biblioteka zamiast wbudowanej biblioteki Stepper. Oto przykład:
#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
}
Rozwiązywanie problemów
- Motor nie porusza się: Sprawdź wszystkie połączenia i upewnij się, że prawidłowe piny są zdefiniowane w kodzie.
- Nieregularny ruch: Sprawdź, czy zasilanie silnika jest wystarczające, a kod pasuje do konfiguracji.
- Niski moment obrotowy: 28BYJ-48 nie jest silnikiem wysokotorowym. Upewnij się, że nie jest przeciążony.
Zastosowania silnika krokowego 28Byj-48
- Suwaki aparatu
- Robotyczne ramiona
- Zautomatyzowane rolety
- Mechanizmy drukarki 3D
Wniosek
Z powodzeniem skonfigurowałeś i kontrolowałeś silnik krokowy 28ByJ-48 z sterownikiem ULN2003 i Arduino. Ten niedrogi i niezawodny silnik jest idealny do różnych projektów DIY. Eksperymentuj z różnymi prędkościami, krokami i metodami kontroli, aby Twoje projekty były bardziej dynamiczne!