Wednesday, August 9, 2017

Pemograman 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 !
·         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)
·         Pastikan wiring sudah benar 
·         Jika IC driver dirasa panas gunakan heatsink
·         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

01
// Akses Motor Stepper
02
// By Fickry Muhammad

03
// aruselektronika.blogspot.com
04
int smDirectionPin = 2; //Direction pin

05
int smStepPin = 3; //Stepper pin
06
 

07
void setup()
08
{

09
  pinMode(smStepPin, OUTPUT);
10
}

11
 
12
void loop(){

13
  for (int i = 0; i < 3000; i++)
14
  {

15
    digitalWrite(smDirectionPin, LOW);
16
    digitalWrite(smStepPin, HIGH);

17
    delayMicroseconds(300);
18
    digitalWrite(smStepPin, LOW);

19
    delayMicroseconds(300);
20
  }

21

22
  delay(300);

23
 
24
  for (int i = 3000; i > 0; i--)

25
  {
26
    pinMode(smDirectionPin, OUTPUT);

27
    digitalWrite(smDirectionPin, HIGH);
28
    digitalWrite(smStepPin, LOW);

29
    delayMicroseconds(300);
30
    digitalWrite(smStepPin, HIGH);

31
    delayMicroseconds(300);
32
  }

33
  delay(300);
34
}
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.


Sumber :

Skematik Autoroof menggunakan MINSYS MCS-51 dengan aplikasi PROTEUS


Link Download : https://drive.google.com/file/d/0B1UiWGEo4NYJQW16blVpQVowSms/view?usp=sharing