Tampilkan postingan dengan label Motor Stepper. Tampilkan semua postingan
Tampilkan postingan dengan label Motor Stepper. Tampilkan semua postingan

Kamis, 09 Juni 2016

Arduino Mengontrol Stepper dengan ULN2003

Pada tutorial kali ini kita akan mencoba mengontrol motor stepper dengan tipe 28BYJ-48 dengan menggunakan driver ULN2003

Sebelum melakukan percobaan akan lebih baik apabila kita mengenal sepesifikasi dari motor stepper yang digunakan, berikut detailnya:

Tampilan dari Motor Stepper 28BYJ-48

Atikel lain:
LED Berkedip
Lampu Lalu Lintas Arduino
Pengujian Sismin Arduino Mega 2560 (Kombinasi LED)

Sumber Gambar: dataSheet
Spesifikasi lengkap dari motor Stepper:

Sumber Gambar: DataSheet
Konfigurasi Pin dan Kabel:
Sumber Gambar: DataSheet

Ada hal yang perlu diketahui sebelum mengguakan Motor Stepper 28BYJ-48 ini, yaitu jumlah step dalam satu putaran, perhitungannya sebagai berikut:

Motor ini memiliki rasio gear sebesar 64, dan putaran per stepnya sebesar 5.625° jadi motor ini memiiki step sebanyak 4096.

 steps = Jumlah step per satu Putaran  * Rasio Gear.

 steps= (360°/5.625°)*64"Rasio Gear" = 64 * 64 =4096 . 
 Nilai ini akan dimasukan ke dalam Sket (Program) Arduino


Untuk Switching Sequence (Urutan peralihan) dari pergerakan Motor stepper ditunjukan tabel berikut ini:
Sumber Gambar: http://www.instructables.com/id/BYJ48-Stepper-Motor/?ALLSTEPS

Tabel diatas berguna untuk mengatur pergerakan motor stepper. Tanda strip (-) nantinya akan diberi masukan HIGH, dan kosong diberi masukan LOW pada program arduino.

Berikut program Arduino yang digunakan:
/*
   BYJ48 Stepper motor code
   Connect :
   IN1 >> D8
   IN2 >> D9
   IN3 >> D10
   IN4 >> D11
   VCC ... 5V Prefer to use external 5V Source
   Gnd
   written By :Mohannad Rawashdeh
  
http://www.instructables.com/member/Mohannad+Rawashdeh/
     28/9/2013
  */

#define IN1  8
#define IN2  9
#define IN3  10
#define IN4  11
int Steps = 0;
boolean Direction = true;// gre
unsigned long last_time;
unsigned long currentMillis ;
int steps_left=4095;
long time;
void setup()
{
Serial.begin(115200);
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
// delay(1000);

}
void loop()
{
  while(steps_left>0){
  currentMillis = micros();
  if(currentMillis-last_time>=1000){
  stepper(1);
  time=time+micros()-last_time;
  last_time=micros();
  steps_left--;
  }
  }
   Serial.println(time);
  Serial.println("Wait...!");
  delay(2000);
  Direction=!Direction;
  steps_left=4095;
}

void stepper(int xw){
  for (int x=0;x<xw;x++){
switch(Steps){
   case 0:
     digitalWrite(IN1, LOW);
     digitalWrite(IN2, LOW);
     digitalWrite(IN3, LOW);
     digitalWrite(IN4, HIGH);
   break;
   case 1:
     digitalWrite(IN1, LOW);
     digitalWrite(IN2, LOW);
     digitalWrite(IN3, HIGH);
     digitalWrite(IN4, HIGH);
   break;
   case 2:
     digitalWrite(IN1, LOW);
     digitalWrite(IN2, LOW);
     digitalWrite(IN3, HIGH);
     digitalWrite(IN4, LOW);
   break;
   case 3:
     digitalWrite(IN1, LOW);
     digitalWrite(IN2, HIGH);
     digitalWrite(IN3, HIGH);
     digitalWrite(IN4, LOW);
   break;
   case 4:
     digitalWrite(IN1, LOW);
     digitalWrite(IN2, HIGH);
     digitalWrite(IN3, LOW);
     digitalWrite(IN4, LOW);
   break;
   case 5:
     digitalWrite(IN1, HIGH);
     digitalWrite(IN2, HIGH);
     digitalWrite(IN3, LOW);
     digitalWrite(IN4, LOW);
   break;
     case 6:
     digitalWrite(IN1, HIGH);
     digitalWrite(IN2, LOW);
     digitalWrite(IN3, LOW);
     digitalWrite(IN4, LOW);
   break;
   case 7:
     digitalWrite(IN1, HIGH);
     digitalWrite(IN2, LOW);
     digitalWrite(IN3, LOW);
     digitalWrite(IN4, HIGH);
   break;
   default:
     digitalWrite(IN1, LOW);
     digitalWrite(IN2, LOW);
     digitalWrite(IN3, LOW);
     digitalWrite(IN4, LOW);
   break;
}
SetDirection();
}
}
void SetDirection(){
if(Direction==1){ Steps++;}
if(Direction==0){ Steps--; }
if(Steps>7){Steps=0;}
if(Steps<0){Steps=7; }
}
 Tampilan Video hasil percobaan:

Sumber Tulisan: Terinspirasi dari situs:
http://www.instructables.com/id/BYJ48-Stepper-Motor/?ALLSTEPS.
Dengan beberapa penambahan dan pengurangan.

Selamat Mencoba...
Semoga Bermanfaat....

Baca juga:
Related Posts Plugin for WordPress, Blogger...