Kuinka käyttää 28BYJ-48-askelmoottoria ULN2003-ohjaimella ja Arduinolla

How to Use the 28BYJ-48 Stepper Motor with ULN2003 Driver and Arduino

28BYJ-48-askelmoottori on suosittu, edullinen askelmoottori, jota käytetään usein DIY-elektroniikkaprojekteissa. Yhdistettynä ULN2003 -kuljettajakortin kanssa, se on erinomainen valinta tarkkaa liikettä varten, kuten robotiikka, kameran liukusäätimet ja kodin automaatio. Tämä opetusohjelma opastaa sinua määrittämään ja hallitsemaan 28BYJ-48-askelmoottoria Arduinon kanssa.

Mitä tarvitset

  1. 28BYJ-48 Stepper Motor
  2. ULN2003 -kuljettajalauta
  3. Arduino Board (esim. UNO, Mega, Nano)
  4. Hyppyjohdot
  5. Leipälevy (valinnainen)
  6. Tietokone, jossa Arduino IDE on asennettu

Vaihe 1: Komponenttien ymmärtäminen

28BYJ-48 Stepper Motor

  • 28BYJ-48 on 4-vaiheinen, 5-johdin askelmoottori, jonka vaihteiden vähentämisuhde on noin 1:64, mikä tekee siitä tarkan ja luotettavan.

ULN2003 -kuljettajalauta

  • ULN2003 on kuljettajataulu, joka on suunniteltu erityisesti 28BYJ-48-moottorille. It includes LEDs to indicate the motor’s active phase and simplifies connections to the Arduino.

Step 2: Wiring the ULN2003 to Arduino

  1. Kytke 28BYJ-48-moottori ULN2003-kuljettajakorttiin. Moottorin liitin sopii suoraan otsikkoon, joka on merkitty "IN" -levyllä.

  2. Yhdistä ULN2003 -ohjainkortti Arduinoon seuraavasti: Käytä hyppyjohtoja seuraavasti:

Uln2003 -nasta Arduino -nasta
IN1 Nasta 8
In2 Tappi 9
In3 Nasta 10
In4 Nasta 11
VCC 5V
Hölynpöly Hölynpöly

Vaihe 3: Asenna askelkirjasto

Arduino IDE sisältää sisäänrakennetun kirjaston askelmoottorin ohjaukseen.

  1. Avaa Arduino IDE.
  2. Mennä jhk Luonnos > Sisällytä kirjasto > Askel.

Vaihe 4: Lataa koodi

Tässä on perusesimerkki -koodi askelmoottorin hallitsemiseksi:

#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);
}

Vaihe 5: Testaa asennus

  1. Kytke Arduino tietokoneeseen USB: n kautta.
  2. Avaa Arduino IDE ja valitse oikea Hallitus ja Satama alla Työkalut valikko.
  3. Lataa koodi Arduinoon napsauttamalla Ladata.
  4. Kun koodi on ladattu, askelmoottorin tulisi kiertää yksi täysi vallankumous eteenpäin ja sitten taaksepäin toistuvasti.

Edistynyt ohjaus kiihtyvyydellä

Sileämmälle ja tarkemmalle hallinnalle voit käyttää Kiihtyvyys Kirjasto sisäänrakennetun askelkirjaston sijasta. Tässä on esimerkki:

#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
}

Vianetsintä

  • Moottori ei liiku: Tarkista kaikki yhteydet ja varmista, että oikeat nastat on määritelty koodissa.
  • Epävaraus: Varmista, että moottorin virtalähde riittää ja koodi vastaa asennusta.
  • Matala vääntömomentti: 28BYJ-48 ei ole korkea vääntömomentti. Varmista, että sitä ei ole ylikuormitettu.

28BYJ-48-moottorin sovellukset

  1. Kameran liukusäätimet
  2. Robottivarret
  3. Automaattiset kaihtimet
  4. 3D -tulostinmekanismit

Johtopäätös

Olet onnistuneesti perustanut ja hallinnut 28BYJ-48-askelmoottoria ULN2003-ohjaimella ja Arduinolla. Tämä edullinen ja luotettava moottori on täydellinen erilaisiin DIY -projekteihin. Kokeile erilaisia ​​nopeuksia, vaiheita ja ohjausmenetelmiä projektien tekemiseksi dynaamisemmiksi!

Jätä kommentti

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.