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 :
1. Yang pertama kalian wiring motor stepper dan semua module seperti gambar dibawah ini- 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
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
0 comments:
Posting Komentar