Cara Mengendalikan Motor Stepper menggunakan Arduino dan IC L293D

Mengontrol motor Stepper menggunakan Arduino

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:

  1. Arduno
  2. Motor Stepper
  3. Kabel Jumper
  4. IC L293D atau Modulnya
  5. Breadboard

Nah, setelah semua komponen diatas sudah disiapkan sekarang saatnya buat rangkaiannya duu,buat rangkaiannya sepertiย gambar berikut:

Rangkaian Arduino dengan Motor Stepper

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.

About Giri Wahyu Pambudi

Giri Wahyu Pambudi - Seorang Pemuda Desa yang berkeinginan ikut membangun Indonesia dengan Sedikit Ilmu yang dimiliki SMK N 2 Wonogiri lulus 2015 UNIV Negeri Yogyakarta lulus 2019 2019 - Sekarang Bekerja di SMK Gajah Mungkur 1 Wuryantoro, Wonogiri

Check Also

Cara Menggunakan / Mengakses Keypad menggunakan Arduino

Assalamu’alaikum teman – teman, kali ini kita akan belajar Arduino lagi, kali ini kita akan …

15 comments

  1. 768 itu jumlah pulsa yg diberikan untuk menghasilkan 1 putaran motor servo gan.

  2. Faizatul rosyidah

    Mau tanya mas, itu yang gear reduksiya selalu pakai perbandingan 1:16 ?

  3. tidak selalu gan. tergantung merk dan jenis :cystg

  4. 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

  5. Giri Wahyu Pambudi

    waalaikumussalam, ditunggu aja update artikelnya gan.

Tinggalkan Balasan