Salam elektro, bertemu lagi dengan saya, pada tulisan kali ini saya akan memberikan tutorial cara mengendalikan motor stepper,silahkan kalian baca sampai benar benar paham.
Siapkan alat dan bahan :
- Motor Steper Bipolar (1)
- Driver Motor Stepper TB6600 (1)
- Arduino Uno / Nano / Mega (1)
- Power supply 24V Minimal 1A (1)
- Kabel AC (Panjang Disesuaikan)
- Laptop / PC
- Kabel USB (1)
- Kabel Jumper (Disesuaikan)
- Library Stepper.h / Stepper.h
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.
Motor stepper mempunyai 2 jenis yaitu
1. Motor Stepper Bipolar
2. Motor Stepper Unipolar
Untuk lebih jelasnya kalian bisa baca disini
Driver Motor Stepper TB6600
Driver ini berfungsi untuk mengatur current,puls,direction yang masuk pada motor stepper
CATATAN !
a. Pastikan coil motor stepper tidak terbalik
b. Pastikan power tidak terbalik
c. Pastikan current tidak berlebihan
1. Pada tutorial ini,saya menggunakan motor stepper bipolar,motor ini mempunyai 4 buah Kabel output,dan 2 buah coil,sebelum kalian menggunakannya,kalian ukur dulu tiap tiap kabel,kalian ukur menggunakan multimeter,gunakan skala ohm/buzzer,sambungkan prob 1 & prob 2 multimeter pada sembarang kawat (2 kabel),jika 2 kabel tersambung atau ukuran ohm berada pada posisi penuh,maka 2 kabel itu adalah coil 1 (A- A+) dan 2 kabel lagi adalah coil 2 (B- B+)
2. Pada driver motor stepper terdapat beberapa pinout fungsinya
WIRING !
a. Pastikan coil motor stepper tidak terbalik
b. Pastikan power tidak terbalik
c. Pastikan current tidak berlebihan
1. Pada tutorial ini,saya menggunakan motor stepper bipolar,motor ini mempunyai 4 buah Kabel output,dan 2 buah coil,sebelum kalian menggunakannya,kalian ukur dulu tiap tiap kabel,kalian ukur menggunakan multimeter,gunakan skala ohm/buzzer,sambungkan prob 1 & prob 2 multimeter pada sembarang kawat (2 kabel),jika 2 kabel tersambung atau ukuran ohm berada pada posisi penuh,maka 2 kabel itu adalah coil 1 (A- A+) dan 2 kabel lagi adalah coil 2 (B- B+)
2. Pada driver motor stepper terdapat beberapa pinout fungsinya
- VCC & GND *Power untuk driver motor tegangan biasanya menggunkan 9 - 42 volt
- A- A+ B- B+ *Output untuk motor stepper
- PUL - (PUL) *Tegangan gnd / negatif untuk driver
- PUL+ (+5V) *Input pulsa dari arduino
- DIR- (DIR) *Tegangan gnd / negatif untuk driver
- DIR+ (+5V) *Input logika HIGH LOW dari arduino berfungsi untuk mengendalikan arah putaran motor stepper (CW / CCW)
- EN *Tidak dipakai
Pada Driver ini terdapat pengaturan (Switch) urrent dan micro step pada module driver,bisa kalian baca tabel yang tercetak pada modul tersebut
- Solusi jika motor panas,berarti current terlalu besar,kalian atur switch pada posisi current kecil dan bisa menggerakan motor (cukup)
Pada Driver ini terdapat pengaturan (Switch) urrent dan micro step pada module driver,bisa kalian baca tabel yang tercetak pada modul tersebut
- Solusi jika motor panas,berarti current terlalu besar,kalian atur switch pada posisi current kecil dan bisa menggerakan motor (cukup)
WIRING !
Sambungkan semua komponen sesuai dengan gambar
Jika kalian menggunakan motor jenis unipolar (6 kabel) kalian bisa pakai wiring seperti dibawah ini
1. Warna black dan green merupakan 1 coil (coil A)
2. Warna red dan blue merupakan 1 coil (coil B)
3. Warna yellow dan white tidak dipakai
Metode 1
// Fickry Muhammad void setup() { pinMode(8, OUTPUT); // Direction pinMode(9, OUTPUT); // Pulse digitalWrite(8, LOW); digitalWrite(9, LOW); } void loop() { digitalWrite(9, HIGH); delayMicroseconds(60); digitalWrite(9, LOW); delayMicroseconds(60); digitalWrite(8, HIGH); }Metode 2
// Fickry Muhammad const int stepPin = 9; const int dirPin = 8; void setup() { pinMode(stepPin,OUTPUT); pinMode(dirPin,OUTPUT); } void loop() { digitalWrite(dirPin,HIGH); for(int x = 0; x < 1000; x++) { digitalWrite(stepPin,HIGH); delayMicroseconds(500); digitalWrite(stepPin,LOW); delayMicroseconds(500); } delay(1000); digitalWrite(dirPin,LOW); for(int x = 0; x < 1000; x++) { digitalWrite(stepPin,HIGH); delayMicroseconds(500); digitalWrite(stepPin,LOW); delayMicroseconds(500); } delay(1000); }Metode 3
// Fickry Muhammad #include <Stepper.h>int in1Pin = 8; int in2Pin = 9; Stepper motor(200, in1Pin, in2Pin); void setup() { pinMode(in1Pin, OUTPUT); pinMode(in2Pin, OUTPUT); while (!Serial); Serial.begin(9600); motor.setSpeed(2000); } void loop() { if (Serial.available()) { int steps = Serial.parseInt(); motor.step(steps); } // motor.step (2000); }
1. Kalian coba salah satu program diatas,lihat perubahan yang terjadi pada motor stepper
2. Motor ini akan berputar pada acuan step yang terlah ditentukan,jika program diberikan 400 step,maka motor akan berputar sampai 400 step,setelah itu motor akan diam
Budayakan mempelajarinya hingga benar benar paham,jika merasa belum paham bisa ajukan pertanyaan di komentar atau contact facebook saya atau email fickrymhd@gmail.com
bisa dipakek untuk unipolar gan, dan gimana pengawtan nya..? terimakasih
BalasHapusbisa lihat diatas gan, sudah saya update
HapusKalau mau buat motor stepper bergerak 40 derajat kemudian ke 80 derajat bisa gak gan? Kalau bisa, mohon diberikan contoh programnya.. terima kasih
BalasHapusKalo ingin seperti itu harus dilakukan percobaan terlebih dahulu pada motor stepper, untuk contoh kita memberikan data (100 putaran) maka kita lihat apakah motor tersebut sudah berputar 40 / 80 derajat, untuk lebih mudah kita bisa gunakan sensor rotary encouder, untuk melihat putaran motor tersebut
Hapusbang gmana klo program continue terus.. 😊
BalasHapusBagaimana cara seting, STD278M
BalasHapusbg bagaimana cara program untuk motor steppernya 5detik jalan 4 detik mati,itu secara continue
BalasHapus