Assalamu’alaikumWarahmatullahi wabarakatuh, Kembali lagi dengan cronyos.com temene temen, kali ini kami mau berbagi tentang bagaimana mengontrol motor stepper menggunakan Arduino. sebenarnya kali ini males banget mau nulis, tapi yah tekat ingin berbagi ini masih bisa megalahkan rasa males saya ๐ doain aja ya temen temen biar saya selalu semangat berbagi ilmu di blog sederhana ini ๐ oke langsung saja seperti biasa sebelum kita mulai belajarnya silahkan siapkan dulu komponen komponenya ya, berikut daftar komponennya:
- Arduno
- Motor Stepper
- Kabel Jumper
- IC L293D atau Modulnya
- Breadboard
Nah, setelah semua komponen diatas sudah disiapkan sekarang saatnya buat rangkaiannya duu,buat rangkaiannya sepertiย gambar berikut:
Setelah rangkaian diatas selesai dibuat sekarang kita lanjut ke koding. copy pate codingberikut lalu Uploud ke Arduino kalian
#include <Stepper.h> int in1Pin = 12; int in2Pin = 11; int in3Pin = 10; int in4Pin = 9; Stepper motor(768, in1Pin, in2Pin, in3Pin, in4Pin); void setup() { pinMode(in1Pin, OUTPUT); pinMode(in2Pin, OUTPUT); pinMode(in3Pin, OUTPUT); pinMode(in4Pin, OUTPUT); // this line is for Leonardo's, it delays the serial interface // until the terminal window is opened while (!Serial); Serial.begin(9600); motor.setSpeed(20); } void loop() { if (Serial.available()) { int steps = Serial.parseInt(); motor.step(steps); } }
Nah, Berikut penjelasan Kodenya:
Stepper motor(768, in1Pin, in2Pin, in3Pin, in4Pin);
kode diatas adalah sebagai input library, nilai 768 adalah jumlah langkah / gerakan motor untuk menyelesaikan 1 putaran / 360 derajat. maksutnya? jadi gini, didalam motor servo yang kita ginuakan ini terdapat 4 phase kumparan seperti gambar berikut
Cara Kerja Motor Stepper
Nah, untuk menggerakatan rotor motor sejauh 360 dejarat maka diperlukan 48 langkah (Jumlah kumparan x jumlah sisi magnet rotor). nah output rotor motor itunantinya akan direduksi lagi menggunakan gear reduksi dengan perbandingan 1:16, jadi untuk mendapatkan putaran 360 derajat motor stepper diperlukan 768 langkah / proses. gimana? bingung? jika bingung tanyakan aja di komentar ya ๐
meneruskan kode yang ini tadi.
Stepper motor(768, in1Pin, in2Pin, in3Pin, in4Pin);
disitu ada variable in1pin sampai in4pin, itu adalah inputan untuk library motor stepper pin mana sajakah yang digunakan.
Motor.setSpeed โโ(20);
Baris kode diatas adalah untuk menetapkan kecepatan motor, untuk lebih jelasnya kalian dapat menggantinya menjadi lebih rendah atau lebih tinggi. namun jika nilainya terlalu tinggi maka motor tidak akan berputar karena motor tidak mampu mencapai putaran yang kalian kehendaki.
motor.step(steps);
Baris berikut adalah untuk memutar motor stepper menuju posisi tertentu melalui serial monitor, misalkan kalain mengetikan “20” maka motor akan bergerak sajauh 20 step ke arah kanan, dan jika kalian mengetikan “-20” maka motor akan kembalike posisi sebelumnya. mirip mirip motor servo berarti ya?yaps betul. jadi kalau program diatas di upload maka motor stepper tidak akan berputar. lalau bagaimana jika ingin motor steppernya berputar? kalian bisa menggunakan code berikut.
#include <Stepper.h> int in1Pin = 12; int in2Pin = 11; int in3Pin = 10; int in4Pin = 9; Stepper motor(768, in1Pin, in2Pin, in3Pin, in4Pin); void setup() { pinMode(in1Pin, OUTPUT); pinMode(in2Pin, OUTPUT); pinMode(in3Pin, OUTPUT); pinMode(in4Pin, OUTPUT); // this line is for Leonardo's, it delays the serial interface // until the terminal window is opened while (!Serial); Serial.begin(9600); motor.setSpeed(20); } int steps = 0; void loop() { steps++; // gunakan steps-- untuk arah yang berlawanan motor.step(steps); if (steps >= 768) { steps= 0; } }
Cukup sekian tutorial kali ini, semoga bermnafaat ya ๐ jika ada yang perlu ditanyakan silahkan tanyakan di kolom komentar. wassalamualaikum.
768 itu jumlah pulsa yg diberikan untuk menghasilkan 1 putaran motor servo gan.
Mau tanya mas, itu yang gear reduksiya selalu pakai perbandingan 1:16 ?
tidak selalu gan. tergantung merk dan jenis :cystg
asslkm mas giri, saya bisa minta pendapatnya bagaimana coding untuk stepper nema 23 untuk sketch portal palang pintu, saya sudang punya sketch portalnya tapi mash menggunakan srvo sg90,n ah disni saya ingin mengganti srvo itu dengan stepper nema 23, bagaimana edit codingnya? mohon masukannya mas, terima kasih
waalaikumussalam, ditunggu aja update artikelnya gan.