Berdasarkan metode perancangan rangkain pengendalinya, motor stepper
dapat dibagi menjadi jenis unipolar dan bipolar. Rangkaian pengendali motor
stepper unipolar lebih mudah dirancang karena hanya memerlukan satu switch /
transistor setiap lilitannya. Untuk menjalankan dan menghentikan motor ini cukup
dengan menerapkan pulsa digital yang hanya terdiri atas tegangan positif dan nol (ground) pada salah satu terminal lilitan (wound) motor sementara terminal
lainnya dicatu dengan tegangan positif konstan (VM) pada bagian tengah (center
tap) dari lilitan.
Untuk menggerakan motor stepper berbeda dengan menggerakan motor
dc, dimana untuk menggerakan motor stepper diperlukan rangkaian driver yang
fungsinya untuk memberikan catu ke motor stepper. Driver tidak hanya
mengeluarkan tegangan, namun tegangan yang dikeluarkan juga harus dalam
bentuk pulsa. Karena motor stepper bergerak step by step sesuai dengan pulsa.
Dalam pengendalian yang akan saya gunakan adalah :
1. Arduino Uno
2. ULN2003 Stepper Motor Driver
3. Stepper Motor Unipolar DC
4. Pushbuttom
Contoh program :
int pinMaju = 3;
int pinMundur = 2;
int step = 60; //putaran penuh (6 derajat x 60 = 360)
int delaytime=2; //makin kecil makin cepat
void setup(){
//menetapkan setiap pin arduino sebagai output/input
pinMode(In1,OUTPUT);
pinMode(In2,OUTPUT);
pinMode(In3,OUTPUT);
pinMode(In4,OUTPUT);
pinMode(pinMaju,INPUT);
pinMode(pinMundur,INPUT);
//fullup aktif
digitalWrite (pinMaju, HIGH);
digitalWrite (pinMundur, HIGH);
}
void loop(){
if (digitalRead (pinMaju) == LOW){
for (int i=0; i<60; i++){
maju();
}
}
if (digitalRead (pinMundur) == LOW){
for (int i=0; i<60; i++){
mundur();
}
}
}
//program motor mundur
void mundur(){
//step 4
step4();
delay(delaytime);
//step 3
step3();
delay(delaytime);
//step 2
step2();
delay(delaytime);
//step 1
step1();
delay(delaytime);
}
//program motor maju
void maju(){
//step 4
step1();
delay(delaytime);
//step 3
step2();
delay(delaytime);
//step 2
step3();
delay(delaytime);
//step 1
step4();
delay(delaytime);
}
//Membuat fungsi pada setiap step
void step1(){
digitalWrite(In1,LOW);
digitalWrite(In2,LOW);
digitalWrite(In3,HIGH);
digitalWrite(In4,HIGH);
}
void step2(){
digitalWrite(In1,HIGH);
digitalWrite(In2,LOW);
digitalWrite(In3,LOW);
digitalWrite(In4,HIGH);
}
void step3(){
digitalWrite(In1,HIGH);
digitalWrite(In2,HIGH);
digitalWrite(In3,LOW);
digitalWrite(In4,LOW);
}
void step4(){
digitalWrite(In1,LOW);
digitalWrite(In2,HIGH);
digitalWrite(In3,HIGH);
digitalWrite(In4,LOW);
}
Dari hasil program di atas dengan mengikuti gambar skematik, hasilnya adalah :
Ketika tombol pushbuttom maju maka motor akan berputar searah jarum jam selama tombol pushbuttom di.
Bila tombol pushbuttom mundur ditekan maka motor steppper akan berputar berlawanan arah jarum jam selama tombol pushbuttom ditekan.
Motor stepper akan stop bila pushbuttom tidak ditekan.
Sumber : AJ Tekno
Video : AJ Tekno
Tidak ada komentar:
Posting Komentar