Motor Stepper : Mengendalikan dengan Arduino

Indobot Update

Motor Stepper dengan Arduino Uno
Mengendalikan Motor Stepper dengan Arduino Uno

Haloo Sahabat Indobot. Sedang ada project apa hari ini?

Kali ini kita akan membahas terkait motor stepper. Ada yang masih belum tau apa itu motor stepper?

Adalah salah satu jenis motor DC yang perputarannya berdasarkan langkah (langkah) diskrit. Input pada Motor ini berasal dari pulsa-pulsa digital yang diterima saat di hubungkan dengan tegangan. Step yang mengendalikan putaran motor, berasal dari konstruksi kumparan yang di susun menjadi beberapa fase. Motor ini dapat berputar jika motor di aliri listrik secara berurutan.

[lwptoc numeration=”none” title=”Daftar Isi”]

Motor Ini engubah kelistrikan tadi menjadi energi mekanik. Jika di bandingkan motor DC biasa, torsi dari motor stepper masih kalah. Namun motor stepper memiliki keunggulan dalam tingkat presisi dalam setiap putarannya.

Pada project kali ini, kita akan mencoba mengendalikan Motor Stepper dengan menggunakan Arduino Uno dan potensiometer. Potensiometer berguna untuk mengirimkan sinyal listrik analog yang akan dibaca arduino Uno dan diterapkan sebagai nilai dari motor stepper.

Langsung saja kita coba ya gaes.

Mengendalikan dengan Arduino Uno

Siapkan Alat dan Bahan

Alat dan bahan yang digunakan untuk project kita kali ini adalah sebagai berikut. Jangan sampai ada yang kelewat ya.

  1. laptop/PC yang terinstall Arduino IDE
  2. Arduino Uno 1
  3. Motor stepper 1
  4. Driver Motor stepper 1
  5. Potensiometer 1
  6. Breadboard 1
  7. Kabel jumper secukupnya

Susun Skema Rangkaian

Susunlah rangkaian seperti berikut ini.

Mengendalikan Motor Stepper dengan Arduino Uno

Tulislah Program pada Aplikasi Arduino IDE

Program pertama yang kita buat adalah program untuk mengetahui jumlah langkah dalam satu putaran (360 derajat). Tulislah program arduino seperti berikut. Jangan sampai ada yang terlewat ya. Perhatikan keterangan-keterangannya agar teman-teman juga memahami program yang teman-teman buat.

//Memutar  dengan pelan (step by step)
#include <Stepper.h>

const int stepsPerRevolution = 200;  // nilai banyaknya step per putaran

// menginisialisasi stepper menggunakan pin 8, 9, 10, dan 11 secara berurutan
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);

int stepCount = 0;         // nilai step

void setup() {
  // inisialisasi serial 9600
  Serial.begin(9600);
}

void loop() {
  // perubahan setiap 1 langkah
  myStepper.step(1);
  Serial.print("steps:");
  Serial.println(stepCount); //menuliskan langkah di serial monitor
  stepCount++;
  delay(500);
}

Program di atas akan membuat motor bergerak dengan kecepatan sekitar 0,5 detik setiap 1 step. Coba hitung berapa berapa step yang dibutuhkan untuk mencapai 1 putaran penuh. Bagaimana caranya?

Pada program di atas, akan tertulis jumlah langkah setiap 1 putarannya dan yang perlu kita lakukan adalah memperhatikan putaran hingga sudah mencapai 1 putaran penuh. Jika sudah, cek di serial monitor, berapa jumlah step yang dibutuhkan. Jumlah ini kemudian dapat dimasukkan ke const int stepsPerRevolution = 200. Ubah angka 200 sesuai dengan perhitungan.

baca juga: Tutorial Arduino UNO R3 Mengatur Gerak Servo Menggunakan Potensio

Berikut ini adalah program untuk  mengendalikan kecepaan motor stepper  dengan potensiometer.

//Mengendalikan kecepatan 
#include <Stepper.h>

const int stepsPerRevolution = 200;  // ubah angka ini sesuai dengan jumlah step dalam 1 putaran


// menginisialisasi stepper menggunakan pin 8, 9, 10, dan 11 secara berurutan
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);

int stepCount = 0;  // nilai dari step awal

void setup() {
  Serial.print ("Speed Control Motor Stepper");
  delay(1000); //persiapan
}

void loop() {
  // membaca nilai masukkan dari potensio
  int sensorReading = analogRead(A0);
  // proses pembacaan potensio menjadi kecepatan motor
  int motorSpeed = map(sensorReading, 0, 1023, 0, 100);
  // mengatur kecepatan motor berdasarkan potensio
  if (motorSpeed > 0) {
    myStepper.setSpeed(motorSpeed);
    myStepper.step(stepsPerRevolution / 100);
  }
}

Upload program di atas. kemudian uji dengan menggerakkan potensiometer. Motor stepper akan berputar semakin cepat ketika kita menggerakkan potensio ke kanan.

baca juga: Menghidupkan Motor dengan Handphone

Program berikutnya adalah mengendalikan putaran sesuai dengan putaran potensiometer.

//Mengendalikan sudut putaran sesuai dengan potensio

#include <Stepper.h>

// ubah angka ini dengan step yang anda butuhkan
#define STEPS 100

// menginisialisasi stepper menggunakan pin 8, 9, 10, dan 11 secara berurutan
Stepper stepper(STEPS, 8, 9, 10, 11);

// kembali membaca nilai masukkan dari potensio
int previous = 0;

void setup() {
  // mengatur kecepatan motor menjadi 30 RPMs
  stepper.setSpeed(30);
}

void loop() {
  // memperoleh nilai dari potensio
  int val = analogRead(0);

  //menyamakan step dengan nilai potensio
  stepper.step(val - previous);
  previous = val;
}

Upload program di atas. kemudian coba putar potensiometernya. Motor akan berputar sesuai dengan putaran kita pada potensiometer.

Program yang terakhir, kita akan mencoba untuk memutar motor tanpa potensio dengan memutar searah jarum jam dan sebaliknya. Berikut program yang dapat digunakan.

//memutar motor bergerak kanan kiri
#include <Stepper.h>
//atur banyaknya step untuk satu putaran
const int stepsPerRevolution = 200;  

// menginisialisasi stepper menggunakan pin 8, 9, 10, dan 11 secara berurutan
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);

void setup() {
  // mengatur kecepatan stepper
  myStepper.setSpeed(60);
  Serial.begin(9600);
}

void loop() {
  // langkah untuk memutar stepper searah jarum jam
  Serial.println("clockwise");
  myStepper.step(stepsPerRevolution);
  delay(500);

  // langkah memutar stepper berlawanan jarum jam
  Serial.println("counterclockwise");
  myStepper.step(-stepsPerRevolution);
  delay(500);
}

baca juga: Dasar Kendali Motor Servo dengan Arduino

Nah jadi begitu cara untuk mengendalikan motor dengan menggunakan arduino Uno. Teman-teman juga dapat mengubah potensiometer dengan sensor yang teman-teman inginkan lo. Caranya gampang. Kita hanya perlu merubah analogRead nya saja sesuai dengan sensor yang kita gunakan.

Sekian untuk pembahasan kali ini. Silakan mencoba ya guys.

Ingin Tahu Program Kami Lebih Lanjut?

Silahkan isi Formulir Dibawah Ini untuk Diskusi dengan Tim Indobot Academy.

Baca Juga

Bagikan:

3 pemikiran pada “Motor Stepper : Mengendalikan dengan Arduino”

  1. Ijin tanya master,kalau stepper di program 2 putaran penuh,tapi sebelum sampai 2 putaran tiba tiba power off (mati lampu).
    Bagaimana supaya waktu power on kembali stepper kembali ke titik nol nya,
    Apakah harus ada elemen tambahan dan cara coding nya bagaimana?,
    Terima kasih atas perhatian nya

    Balas

Tinggalkan komentar

whatsapp whatsapp