Minggu, 25 September 2016

Menggunakan Motor Stepper Dengan Module Easy Driver & Arduino













Sebelumnya apa kalian sudah tau apa itu motor stepper ?  

Motor stepper adalah salah satu jenis motor dc yang dikendalikan dengan pulsa-pulsa digital.Prinsip kerja motor stepper adalah bekerja dengan mengubah pulsa elektronis menjadi gerakan mekanis diskrit dimana motor stepper bergerak berdasarkan urutan pulsa yang diberikan kepada motor stepper tersebut,untuk lebih jelasnya bisa kalian baca disini,
untuk mempermudah menggunakan motor stepper kita gunakan module easy driver A3967S dan di control dengan menggunakan arduino 


TOLONG BACA DENGAN DETAIL !

Siapkan alat dan bahan :
  • Arduino Uno/Nano/Mega (sama saja) (jumlah disesuaikan) 
  • Module Easy Driver A3967S
  • Motor stepper 
  • Kabel usb arduino 
  • Breadboard
  • Suppy external 12volt (untuk daya motor)
  • Kabel jumper disesuaikan dengan kebutuhan
1. Yang pertama kalian wiring motor stepper dan semua module seperti gambar dibawah ini


Catatan !
a. Pastikan coil motor stepper A dan B sudah benar,cara memastikannya test menggunakan multimeter pada scala ohm/buzzer,hubungkan 1 kabel motor pada - mutimeter,dan satu kabel motor (kabel random) pada + multimeter,jika buzzer berbunyi itu artinya 2 kabel itu satu coil (A) dan kabel sisanya coil (B)
b. Pastikan wiring sudah benar 
c. Jika IC driver dirasa panas gunakan heatsink
b. Setelah kalian berhasil membuatnya,budayakan untuk mempelajarinya,jangan hanya copy paste saja,hasil dari usaha sendiri lebih puas meskipun itu sederhana

2. Copy paste sketch/program di bawah ini  ke dalam software arduino

// Akses Motor Stepper
// By Fickry Muhammad
// aruselektronika.blogspot.com
int smDirectionPin = 2; //Direction pin
int smStepPin = 3; //Stepper pin
 
void setup()
{
  pinMode(smStepPin, OUTPUT);
}
 
void loop(){
  for (int i = 0; i < 3000; i++)
  {
    digitalWrite(smDirectionPin, LOW);
    digitalWrite(smStepPin, HIGH);
    delayMicroseconds(300);
    digitalWrite(smStepPin, LOW);
    delayMicroseconds(300);
  }

  delay(300); 
 
  for (int i = 3000; i > 0; i--)
  {
    pinMode(smDirectionPin, OUTPUT);
    digitalWrite(smDirectionPin, HIGH);
    digitalWrite(smStepPin, LOW);
    delayMicroseconds(300);
    digitalWrite(smStepPin, HIGH);
    delayMicroseconds(300);
  }
  delay(300);
}
3. Verify program arduino,apabila tidak terjadi error lanjut dengan proses upload

4. Upload program,apabila succes akan muncul tulisan done uploading,apabila ada yang belum tahu bagaimana cara upload code/sketch ke board arduino bisa baca disini

5. Sekarang kalian coba hubungkan power external pada board easy driver, lihat perubahan apa yang terjadi pada motor stepper

Prinsip Kerja 
Pada program ini saya hanya mencoba menggerakan motor stepper dengan 3000 step pulse (300 microsecond) dan membalikan arah putar motor secara otomatis CW/CCW dengan delayms(300)

Teori 
Karena motor stepper ini dapat dikendalikan dengan memberikan pulsa,maka pada program saya membuat gelombang pulsa dengan cara memberi program delaymicroseconds(300) pada looping for (kalian bisa mengatur lebar pulsa yang diinginkan dengan cara mengubah nilai delaymicrosecond, nah untuk bagian step step motor bergerak program for(inti = 3000;i>0;i--){} yang berperan,jika kalian membutuhkan step yang lebih lama kalian tinggal rubah saja nilai 3000nya, untuk membalikan arah putar CW/CCW kalian tinggal memberikan logika HIGH/LOW pada digitalWrite(smDirection,HIGH);, ini adalah program dasar,jika kalian ingin lebih mudah lagi menggunakannya kalian bisa menggunakan library stepper.h pada arduino dan tentunya menggunakan module driver yang berbeda,banyak sekali driver yang digunakan untuk motor stepper,tinggal kalian baca baca saja. 

Budayakan mempelajarinya hingga benar benar paham,jika merasa belum paham bisa ajukan pertanyaan di komentar atau contact facebook saya atau email fickrymhd@gmail.com 

Share:

0 comments:

Posting Komentar

Copyright © FILAB | Powered by FILAB
Design by Fickry Muhammad | Technology by Filab.id