Cara Mengoperasikan Motor Stepper

Pada jejak kali ini akan membahas pengendalian motor stepper menggunakan Arduino Uno, motor stepper berbeda dengan motor servo, walaupun kedua motor tersebut dapat berputar dengan sudut yang sudah ditentukan tetapi keduanya mempunyai bentuk sinyal masukan digital yang berbeda.

Motor stepper adalah motor yang dikendalikan dengan input digital menghasilkan step-step yang digunakan untuk mengontrol sudut dari motor. Motor stepper memiliki torsi yang besar sehingga kuat dan presisi. Untuk mengontrol motor stepper diperlukan driver, karena motor stepper membutuhkan tegangan dan arus yang cukup besar. Pada contoh digunakan power dari Arduino yaitu 5V cukup aman karena program menggunakan kecepatan motor stepper yang rendah, namun sebaiknya gunakan power eksternal dari baterai atau adaptor untuk motor stepper agar dapat berjalan lebih baik dan tidak beresiko merusak Arduino.

1. Kebutuhan

  • Arduino UNO
  • Modul motor Driver
  • Motor Stepper
  • kabel
  • Library accel stepper

2. Skematik

Driver Motor Stepper

 

Konektor motor stepper dapat langsung digunakan, jumper digunakan untuk menghidupkan dan mematikan motor. Dc power dihubungkan ke power dari baterai atau adaptor dengan tegangan antara 5-12V.

Konfigurasi Lilitan Motor Stepper

 

Tabel Urutan Pemberian Masukan Digital pada Motor Stepper

 

Rangkaian Mengendalikan Motor Stepper

 

3. Program

#include <AccelStepper.h> //library motor stepper

#define HALFSTEP 8        // definisi jumlah step

// definisi pin Arduino pada driver motor

#define motorPin1 6 // IN1 pada ULN2003 driver 1

#define motorPin2 5 // IN2 pada ULN2003 driver 1

#define motorPin3 4 // IN3 pada ULN2003 driver 1

#define motorPin4 3 // IN4 pada ULN2003 driver 1

// inisiasi urutan pin IN1-IN3-IN2-IN4 untuk library AccelStepper dengan motor 28BYJ-48

AccelStepper stepper1(HALFSTEPmotorPin1motorPin3motorPin2motorPin4);

void setup()
{

stepper1.setMaxSpeed(1000.0);    //setting kecepatan maksimal motor

stepper1.setAcceleration(100.0); //setting akselerasi

stepper1.setSpeed(200);            //setting kecepatan

stepper1.moveTo(3000);        //setting untuk bergerak 3 putaran penuh

}

void loop()
{

//bila sampai posisi(3000) rubah ke posisi kealikan(berbalik arah)

if (stepper1.distanceToGo() == 0)
 {

stepper1.moveTo(-stepper1.currentPosition());

Serial.println(stepper1.currentPosition());

 }

stepper1.run(); // perintah menjalankan motor stepper

}

 

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *