Cara menggunakan motor stepper 28byj-48 dengan pengemudi ULN2003 dan Arduino

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

Motor stepper 28ByJ-48 adalah motor stepper yang populer dan terjangkau yang sering digunakan dalam proyek elektronik DIY. Dipasangkan dengan papan pengemudi ULN2003, ini adalah pilihan yang sangat baik untuk aplikasi yang membutuhkan pergerakan yang tepat, seperti robotika, slider kamera, dan otomatisasi rumah. Tutorial ini akan memandu Anda melalui pengaturan dan mengendalikan motor stepper 28byJ-48 dengan Arduino.

Apa yang Anda Butuhkan

  1. 28byj-48 Stepper Motor
  2. Papan Pengemudi ULN2003
  3. Dewan Arduino (mis., Uno, mega, nano)
  4. Kabel jumper
  5. Papan tempat memotong roti (opsional)
  6. Komputer dengan IDE Arduino diinstal

Langkah 1: Memahami komponen

28byj-48 Stepper Motor

  • 28byJ-48 adalah motor stepper 5-fase, 5-kawat dengan rasio pengurangan gigi sekitar 1:64, menjadikannya tepat dan dapat diandalkan.

Papan Pengemudi ULN2003

  • ULN2003 adalah papan pengemudi yang dirancang khusus untuk motor 28byJ-48. Ini termasuk LED untuk menunjukkan fase aktif motor dan menyederhanakan koneksi ke Arduino.

Langkah 2: Kabel Uln2003 ke Arduino

  1. Hubungkan motor 28byJ-48 ke papan pengemudi ULN2003. Konektor motor cocok langsung ke header berlabel "di" di papan tulis.

  2. Gunakan kabel jumper untuk menghubungkan papan driver ULN2003 ke Arduino sebagai berikut:

Pin ULN2003 Pin Arduino
In1 Pin 8
In2 Pin 9
In3 Pin 10
In4 Pin 11
Vcc 5v
Gnd Gnd

Langkah 3: Instal Perpustakaan Stepper

IDE Arduino mencakup perpustakaan bawaan untuk kontrol motor stepper.

  1. Buka Ide Arduino.
  2. Pergi ke Sketsa > Sertakan perpustakaan > Stepper.

Langkah 4: Unggah kode

Berikut adalah kode contoh dasar untuk mengontrol motor stepper:

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

Langkah 5: Uji pengaturan

  1. Hubungkan Arduino ke komputer Anda melalui USB.
  2. Buka IDE Arduino dan pilih yang benar Papan Dan Pelabuhan di bawah Peralatan menu.
  3. Unggah kode ke Arduino dengan mengklik Mengunggah.
  4. Setelah kode diunggah, motor stepper harus memutar satu revolusi penuh ke depan dan kemudian mundur berulang kali.

Kontrol lanjutan dengan akselerasi

Untuk kontrol yang lebih halus dan lebih tepat, Anda dapat menggunakan Accelstepper Perpustakaan, bukan Perpustakaan Stepper bawaan. Inilah contohnya:

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

Pemecahan masalah

  • Motor Tidak Bergerak: Periksa semua koneksi dan pastikan pin yang benar ditentukan dalam kode.
  • Gerakan yang tidak menentu: Pastikan catu daya motor sudah cukup dan kode cocok dengan pengaturan Anda.
  • Torsi Rendah: 28byJ-48 bukan motor torsi tinggi. Pastikan itu tidak kelebihan beban.

Aplikasi motor stepper 28byj-48

  1. Slider kamera
  2. Lengan robot
  3. Tirai Otomatis
  4. Mekanisme printer 3D

Kesimpulan

Anda telah berhasil mengatur dan mengendalikan motor stepper 28ByJ-48 dengan pengemudi ULN2003 dan Arduino. Motor yang terjangkau dan andal ini sangat cocok untuk berbagai proyek DIY. Experiment with different speeds, steps, and control methods to make your projects more dynamic!

Tinggalkan komentar

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.