Datasheet & Pinout: 28BYJ-48 Stepper Motor med ULN2003 Driver

🔄 28BYJ-48 Stepper Motor + ULN2003 Driver

28BYJ-48 er den lille 5 V gear-stepper, der har drevet tusindvis af persienner, foderautomater og urværker. Den drejer et præcist antal skridt og holder positionen – langsomt, men overraskende stærkt pga. gearkassen. ULN2003-boardet er dens muskler: fire Darlington-kanaler med indbyggede flyback-dioder og fire LED'er, der viser hvilke spoler der får strøm.

Du skal bruge: motor + driver, 6 Dupont-ledninger og helst en ekstern 5 V-forsyning.

🛒 Køb 28BYJ-48 + ULN2003 📄 ULN2003A datasheet (PDF)
Der findes ikke et officielt producent-datasheet for 28BYJ-48 (mange fabrikker laver den). Knappen fører til Texas Instruments' datasheet for ULN2003A-chippen på driver-boardet.

⚡ Hurtige specifikationer

Parameter Værdi
Motor 28BYJ-48, unipolar, 4 faser, 5 ledninger, 5 V DC
Gearudveksling ca. 1:64 (den reelle udveksling er en anelse mindre, ca. 1:63,7)
Skridt pr. omdrejning (motor) 32 i fuldtrin / 64 i halvtrin (5,625° pr. halvtrin)
Skridt pr. omdrejning (udgangsaksel) ca. 2048 i fuldtrin / ca. 4096 i halvtrin
Hastighed max ca. 10–15 RPM
Strøm ca. 160 mA pr. fase
Driver-chip ULN2003A: 7 Darlington-kanaler, 500 mA og 50 V pr. kanal, indbyggede flyback-dioder
Driver-indgange Kompatibel med 5 V TTL/CMOS – virker i praksis også med 3,3 V fra ESP32

📌 Pinout

ULN2003-driverboardet

Pin Navn Funktion Forbindes til
IN1 Indgang 1 Styrer spole A (LED A) Digital pin, fx D8
IN2 Indgang 2 Styrer spole B (LED B) Digital pin, fx D9
IN3 Indgang 3 Styrer spole C (LED C) Digital pin, fx D10
IN4 Indgang 4 Styrer spole D (LED D) Digital pin, fx D11
− (GND) Minus Fælles GND GND på forsyning og microcontroller
+ (VCC) Motorforsyning Strøm til motoren 5 V (til 5 V-motoren)
ON/OFF-jumper Afbryder Afbryder motorstrømmen Skal sidde på, for at motoren kører
Hvidt 5-pins stik Motorstik Motorens kabel Klik motoren i – stikket kan kun vende én vej

Motorens ledninger

Pin Navn Funktion Forbindes til
Rød Fælles + Midtpunkt på alle spoler +5 V (via stikket)
Orange Spole 1 Trækkes til GND af ULN2003 Driverens udgang (via stikket)
Gul Spole 2 Trækkes til GND af ULN2003 Driverens udgang (via stikket)
Pink Spole 3 Trækkes til GND af ULN2003 Driverens udgang (via stikket)
Blå Spole 4 Trækkes til GND af ULN2003 Driverens udgang (via stikket)

🔌 Sådan forbinder du den

ULN2003-board UNO / Nano ESP32
IN1 D8 GPIO 19
IN2 D9 GPIO 18
IN3 D10 GPIO 5
IN4 D11 GPIO 17
− GND GND
+ 5V (lille test) / ekstern 5 V Ekstern 5 V eller VIN/5V (USB-forsynet)

💻 Eksempelkode

Biblioteket Stepper følger med Arduino IDE. Bemærk pin-rækkefølgen: IN1, IN3, IN2, IN4 – det er ikke en tastefejl.

// 28BYJ-48 + ULN2003: én omgang frem, én tilbage (KompoNemt)
#include <Stepper.h>

const int SKRIDT_PR_OMDR = 2048;   // fuldtrin på udgangsakslen

// Rækkefølge: IN1, IN3, IN2, IN4  (ESP32: 19, 5, 18, 17)
Stepper motor(SKRIDT_PR_OMDR, 8, 10, 9, 11);

void slukSpoler() {                // spar strøm og varme i pauser
  for (int p = 8; p <= 11; p++) digitalWrite(p, LOW);
}

void setup() {
  motor.setSpeed(10);              // RPM - max ca. 15
}

void loop() {
  motor.step(SKRIDT_PR_OMDR);      // én omgang med uret
  slukSpoler();
  delay(1000);
  motor.step(-SKRIDT_PR_OMDR);     // én omgang mod uret
  slukSpoler();
  delay(1000);
}

💡 KompoNemt-tip fra værkstedet

  • Flyback-dioderne er indbygget: ULN2003A har dioder til spolerne (via COM-benet, som boardet forbinder til +). Du skal altså ikke selv sætte dioder på – men brug aldrig motoren uden driveren.
  • Ekstern 5 V: Motoren trækker et par hundrede mA. Til en test på skrivebordet går Arduinoens 5V-pin, men under belastning skal den have sin egen forsyning (med fælles GND).
  • Motoren bliver varm i hvile, fordi spolerne holder positionen. Sluk spolerne i pauser (som i koden), hvis du ikke behøver holdemomentet.
  • Slør i gearet: Der er lidt slør, når den skifter retning. Kør altid samme vej til din nulposition, hvis du skal ramme præcist.
  • Mere præcision eller jævnere gang: Biblioteket AccelStepper kan køre halvtrin (4096 skridt/omdr.) og accelerere blødt.

🔧 Fejlfinding

  • Motoren brummer/vibrerer, men drejer ikke: Forkert pin-rækkefølge i koden (husk 8, 10, 9, 11) eller for høj hastighed – prøv setSpeed(5).
  • LED'erne blinker, men motoren står stille: ON/OFF-jumperen mangler, eller motorstikket sidder ikke helt i.
  • Ingen LED'er lyser: Ingen strøm på + / −, eller IN-ledningerne sidder på andre pins end i koden.
  • Den drejer kun den ene vej: To IN-ledninger er byttet. Tjek IN2 og IN3.
  • Arduinoen genstarter: Motoren trækker for meget fra USB. Giv driveren ekstern 5 V.

Sidder du fast? Skriv til os – vi hjælper gerne.