Cara Mengendalikan Motor Stepper dengan Modul Penggerak A4988 & ESP32

Mahasiswa S1 Rekayasa Instrumentasi dan Automasi Institut Teknologi Sumatera
·waktu baca 3 menit
Tulisan dari Hadiyan Sakti Kertowinangun tidak mewakili pandangan dari redaksi kumparan
Mengontrol motor stepper sering menjadi kebutuhan dalam berbagai proyek DIY (Do-It-Yourself) elektronik, mulai dari robotika hingga otomasi rumah. Motor stepper memungkinkan kontrol rotasi yang presisi, dan dengan bantuan modul driver A4988 dan ESP32, Anda dapat dengan mudah mengontrol pergerakan motor tersebut sesuai kebutuhan. Dalam artikel ini, kita akan membahas bagaimana cara mengendalikan motor stepper dengan menggunakan Modul Driver A4988 dan ESP32.

Apa itu Motor Stepper?
A4988 adalah modul driver motor stepper yang dirancang khusus untuk mengendalikan motor stepper bipolar. Modul ini mempermudah Anda dalam mengendalikan arus yang diberikan ke motor stepper, sehingga Anda dapat memprogram gerakan dengan lebih presisi. A4988 juga memungkinkan Anda untuk mengatur microstepping hingga 1/16 dari langkah penuh, yang semakin meningkatkan presisi gerakan.
Alat dan Bahan yang Diperlukan
ESP32
Modul Driver A4988
Motor Stepper
Power supply 12V
Kabel jumper
Breadboard
Berikut adalah cara menghubungkan ESP32 ke Modul Driver A4988 dan Motor Stepper:
A4988 ke Motor Stepper:
Sambungkan motor stepper ke terminal A1, A2, B1, B2 pada modul A4988.
A4988 ke ESP32:
STEP pin (A4988) ke GPIO 26 (ESP32).
DIR pin (A4988) ke GPIO 27 (ESP32).
ENABLE pin (A4988) bisa dihubungkan ke GND untuk mengaktifkan modul secara permanen, atau ke GPIO lain jika Anda ingin mengaktifkan dan menonaktifkan driver melalui kode.
Power:
Sambungkan pin VMOT dan GND dari A4988 ke power supply eksternal (misal 12V untuk motor stepper Anda).
Jangan lupa sambungkan GND dari A4988 ke GND ESP32.
masukan code pada aplikasi arduino :
// Pin pada ESP32 yang terhubung ke STEP dan DIR
#define STEP_PIN 26
#define DIR_PIN 27
#define STEPS_PER_REV 200 // Langkah per rotasi penuh (disesuaikan dengan motor)
void setup() {
// Inisialisasi pin
pinMode(STEP_PIN, OUTPUT);
pinMode(DIR_PIN, OUTPUT);
// Mulai dengan rotasi searah jarum jam
digitalWrite(DIR_PIN, HIGH);
}
void loop() {
// Beri sinyal step untuk menggerakkan motor satu langkah
for (int i = 0; i < STEPS_PER_REV; i++) {
digitalWrite(STEP_PIN, HIGH);
delayMicroseconds(1000); // Sesuaikan untuk kecepatan
digitalWrite(STEP_PIN, LOW);
delayMicroseconds(1000);
}
// Berhenti sebentar setelah satu putaran
delay(1000);
// Balik arah motor
digitalWrite(DIR_PIN, !digitalRead(DIR_PIN));
}
Penjelasan code:
STEP_PIN dan DIR_PIN adalah pin yang digunakan untuk mengontrol langkah dan arah motor.
Pada loop utama, kode mengirim sinyal step pada STEP_PIN untuk menggerakkan motor satu langkah, dan mengubah arah motor setelah satu putaran penuh (200 langkah untuk 360 derajat, tergantung jenis motor Anda).
Pengaturan Kecepatan Motor
Anda bisa mengatur kecepatan motor stepper dengan mengubah nilai delayMicroseconds() di dalam kode. Semakin kecil nilai delay, semakin cepat motor akan berputar. Anda juga bisa menambahkan potensiometer untuk mengontrol kecepatan secara real-time.
Kesimpulan
Mengontrol motor stepper dengan Modul Driver A4988 dan ESP32 adalah proyek yang sangat menarik dan bermanfaat. Dengan pemahaman dasar tentang wiring dan pemrograman, Anda bisa mengendalikan motor stepper dengan mudah, baik untuk proyek robotika, printer 3D, atau aplikasi lain yang memerlukan kontrol presisi.
Selain itu, Anda bisa memperluas proyek ini dengan menambahkan fitur-fitur seperti kontrol kecepatan menggunakan potensiometer, atau menggabungkannya dengan sensor untuk membuat sistem otomasi yang lebih kompleks. Selamat mencoba dan bereksperimen dengan proyek elektronika Anda
Referensi
Pololu A4988 Stepper Motor Driver Datasheet
Arduino Stepper Library Documentation
Stepper Motor Basics (All About Circuits)
