Stepper adalah jenis motor listrik yang berbeda dari motor DC atau AC. Motor stepper mampu menghasilkan gerakan yang presisi dan terukur karena kemampuannya untuk berputar dalam jumlah langkah yang ditentukan. Dalam artikel ini, kita akan membahas cara kerja stepper motor dan bagaimana cara mengontrolnya dengan menggunakan Arduino tanpa menggunakan library agar lebih mudah dipahami.
Cara Kerja Stepper Motor
Stepper motor terdiri dari dua komponen utama: rotor dan stator. Rotor adalah bagian yang berputar, sementara stator adalah bagian yang diam dan menyediakan medan magnet. Stator memiliki dua jenis medan magnet, yaitu medan magnet permanen dan medan magnet elektromagnetik. Medan magnet permanen terbuat dari bahan magnetik permanen seperti magnet neodymium, sementara medan magnet elektromagnetik terbuat dari kumparan kawat yang dihubungkan ke sumber daya listrik.
Stepper motor menggunakan langkah-langkah untuk memutar rotor. Setiap kali medan magnet diubah, rotor akan bergerak ke posisi baru. Stepper motor dapat berputar dalam langkah 90 derajat, 180 derajat, 360 derajat, atau langkah yang lebih kecil lagi. Setiap kali motor stepper menerima sinyal listrik, rotor akan bergerak ke langkah berikutnya. Stepper motor sangat berguna dalam aplikasi yang membutuhkan gerakan presisi, seperti printer 3D, mesin CNC, dan robot.
Jenis Stepper Motor
Ada tiga jenis stepper motor yang umum digunakan: unipolar, bipolar, dan hybrid.
Unipolar Stepper Motor
Unipolar stepper motor memiliki enam kabel: dua kabel untuk masing-masing kumparan dan dua kabel untuk catu daya. Unipolar stepper motor memiliki medan magnet permanen yang terletak di dalam rotor. Ketika arus mengalir melalui salah satu kumparan, medan magnet elektromagnetik akan menarik rotor ke arah medan magnet permanen. Unipolar stepper motor relatif mudah dikendalikan dan biasanya digunakan dalam aplikasi yang membutuhkan sedikit presisi gerakan.
Bipolar Stepper Motor
Bipolar stepper motor memiliki empat kabel: dua kabel untuk masing-masing kumparan. Bipolar stepper motor tidak memiliki medan magnet permanen di dalam rotor, dan stator menggunakan dua medan magnet elektromagnetik yang berbeda untuk menarik rotor. Bipolar stepper motor lebih sulit dikendalikan daripada unipolar stepper motor, tetapi mereka lebih presisi dan dapat digunakan dalam aplikasi yang membutuhkan gerakan presisi.
Hybrid Stepper Motor
Hybrid stepper motor adalah kombinasi antara unipolar dan bipolar stepper motor. Hybrid stepper motor memiliki empat atau enam kabel, tergantung pada jenisnya. Hybrid stepper motor memiliki rotor berbentuk silinder dengan dua medan magnet permanen di dalamnya. Stator menggunakan empat atau enam medan magnet elektromagnetik untuk menarik rotor. Hybrid stepper motor adalah jenis stepper motor yang paling sering digunakan dalam aplikasi industri karena kemampuannya untuk menghasilkan gerakan yang presisi.
Cara Mengontrol Stepper Motor dengan Arduino
Untuk mengontrol stepper motor dengan Arduino, kita perlu menggunakan sinyal pulsa yang dihasilkan oleh mikrokontroler Arduino. Sinyal pulsa ini akan mengatur jumlah langkah yang harus diambil oleh stepper motor. Pada umumnya, library stepper sudah tersedia di Arduino IDE, namun untuk memahami secara langsung cara kerjanya, kita akan membuat program sederhana tanpa menggunakan library.
Sebelum membuat program, kita perlu mempersiapkan beberapa komponen:
- Stepper motor
- Driver motor stepper, seperti L298N atau A4988
- Arduino Uno
- Breadboard
- Jumper wires
- Power supply
Pertama-tama, kita perlu menghubungkan komponen-komponen tersebut. Stepper motor dihubungkan ke driver motor stepper menggunakan kabel yang sesuai. Kemudian, driver motor stepper dihubungkan ke Arduino Uno menggunakan jumper wires. Pastikan untuk menghubungkan kabel ke pin yang sesuai pada Arduino Uno. Terakhir, sambungkan power supply ke driver motor stepper.
Berikut adalah skema koneksi untuk mengontrol stepper motor dengan Arduino:

Setelah menghubungkan komponen, kita dapat membuat program untuk mengontrol stepper motor. Program ini akan membuat stepper motor berputar 360 derajat dengan kecepatan tertentu.
Berikut adalah contoh program sederhana untuk mengontrol stepper motor dengan Arduino tanpa menggunakan library:
// Mengatur pin output
const int stepPin = 13;
const int dirPin = 12;
void setup() {
// Mengatur pin sebagai output
pinMode(stepPin, OUTPUT);
pinMode(dirPin, OUTPUT);
}
void loop() {
// Mengatur arah putaran motor
digitalWrite(dirPin, HIGH);
// Mengatur kecepatan putaran motor
int delayTime = 1000;
// Menggerakkan motor
for (int i = 0; i < 200; i++) {
digitalWrite(stepPin, HIGH);
delayMicroseconds(delayTime);
digitalWrite(stepPin, LOW);
delayMicroseconds(delayTime);
}
// Memberikan jeda sejenak
delay(1000);
}
Pada program di atas, pin 12 dan 13 pada Arduino Uno kita atur sebagai output yang selanjutnya dihubungkan ke pin STEP dan DIR pada driver stepper. Kemudian, kita mengatur arah putaran motor dan kecepatan putaran motor menggunakan variabel delayTime. Selanjutnya, kita menggunakan loop untuk menggerakkan motor stepper 200 langkah. Dalam setiap iterasi loop, kita menyetel pin stepPin ke HIGH untuk menghasilkan sinyal pulsa dan menunggu selama delayTime. Kemudian, kita menyetel pin stepPin ke LOW dan menunggu selama delayTime sebelum mengulangi proses.
Setelah stepper motor berputar 360 derajat, kita memberikan jeda sejenak sebelum memulai proses berikutnya.
Program ini adalah contoh sederhana yang dapat membantu pemula untuk memahami cara mengontrol stepper motor dengan Arduino. Anda dapat mengubah nilai delayTime untuk mengatur kecepatan putaran motor. Anda juga dapat mengubah nilai dalam loop untuk mengatur jumlah langkah yang harus diambil oleh motor.
Kesimpulan
Stepper motor adalah jenis motor listrik yang digunakan untuk menghasilkan gerakan yang presisi dan teratur. Cara kerjanya berbeda dengan motor DC atau motor servo yang memiliki putaran yang kontinu. Stepper motor dapat berputar dengan langkah-langkah tertentu yang dapat diatur, sehingga memungkinkan untuk menghasilkan gerakan yang presisi. Hal ini menjadikan stepper motor sangat populer digunakan pada berbagai aplikasi yang membutuhkan gerakan presisi, seperti mesin CNC, printer 3D, robotik, dan lain sebagainya.
Untuk mengontrol stepper motor, kita perlu mengirimkan sinyal pulsa yang dihasilkan oleh mikrokontroler seperti Arduino. Sinyal pulsa ini akan mengatur jumlah langkah yang harus diambil oleh stepper motor. Ada dua jenis sinyal pulsa yang digunakan pada stepper motor, yaitu full-step dan half-step. Full-step memerlukan empat sinyal pulsa untuk satu putaran motor, sedangkan half-step memerlukan delapan sinyal pulsa untuk satu putaran motor. Semakin banyak sinyal pulsa yang digunakan, semakin presisi gerakan yang dihasilkan oleh stepper motor.
Ada banyak sekali library yang tersedia di Arduino IDE untuk mengontrol stepper motor, seperti library Stepper dan AccelStepper. Namun, untuk memahami cara kerja stepper motor secara langsung, kita juga dapat membuat program sederhana tanpa menggunakan library. Program tersebut dapat mengontrol kecepatan dan jumlah langkah yang diambil oleh motor stepper dengan mudah.
Dalam membuat program untuk mengontrol stepper motor, kita perlu memperhatikan koneksi antara motor stepper dan driver motor stepper, serta koneksi antara driver motor stepper dan Arduino Uno. Pastikan untuk menghubungkan kabel pada pin yang sesuai pada Arduino Uno agar program dapat berjalan dengan baik.
Dalam mengontrol stepper motor, kecepatan putaran dan jumlah langkah yang diambil sangat penting. Untuk itu, perlu dilakukan percobaan untuk menentukan nilai yang tepat agar stepper motor dapat bergerak sesuai dengan yang diinginkan. Hal ini dapat dilakukan dengan mengubah nilai delayTime pada program dan melihat hasilnya pada stepper motor.
Dalam kesimpulannya, stepper motor adalah jenis motor listrik yang sangat populer digunakan pada berbagai aplikasi yang membutuhkan gerakan presisi. Cara kerjanya berbeda dengan motor DC atau motor servo yang memiliki putaran yang kontinu. Untuk mengontrol stepper motor, kita perlu mengirimkan sinyal pulsa yang dihasilkan oleh mikrokontroler seperti Arduino. Ada banyak sekali library yang tersedia di Arduino IDE untuk mengontrol stepper motor, namun kita juga dapat membuat program sederhana tanpa menggunakan library untuk memahami cara kerjanya secara langsung.