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
mempermudah menggunakan motor stepper kita gunakan module easy driver A3967S
dan di control dengan menggunakan arduino.
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
Langkah –
Langkah yang Dilakukan
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.
d. 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.
5. Sekarang kalian coba hubungkan power external pada board easy driver, lihat perubahan apa yang terjadi pada motor stepper.
Prinsip Kerja
Pada program ini, 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 ini dibuat
menggunakan gelombang pulsa dengan cara memberi program delay micro seconds (300) pada looping for (bisa diatur lebar
pulsa yang diinginkan dengan cara mengubah nilai delay micro second, 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 digital Write(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.
Sumber:
0 komentar:
Posting Komentar