Program Motor Stepper dan Push button dengan Arduino


Apakabar Viewers, Alhamdulilah kali ini saya dapat berbagi tulisan lama saya tentang cara membuat Driver Motor Stepper dengan tengangan 5V yang dapat di kendalikan dengan menggunakan Arduino Uno.
Motor Stepper adalah salah satu jenis motor dc yang dikendalikan dengan pulsa-pulsa digital. Prinsip kerja motor stepper adalah bekerja dengan mengubah pulsa elektron menjadi gerakan mekanis diskrit dimana motor stepper bergerak berdasarkan urutan pulsa yang diberikan kepada motor stepper tersebut.

Berikut ini contoh Rangkaian Driver Motor Stepper yang saya buat dengan Proteus 8 :

Rangkaian motor stepper

Rangkaian Driver Motor Stepper 

Dalam Pembuatan Driver motor stepper ini saya menggunakan 2 Push button sebagai sinyal ke Arduino yang setelah itu akan di olah oleh Arduino dan menghasilkan output berupa signal pulsa ke motor stepper melalui Arduino, dalam pembuatannya dibutuhkan bahan baku berupa:
  1. Dioda 1N4007 / 1N4001 (4 Buah)
  2. Resistor 220 Ohm (4 Buah)
  3. Resistor 330 Ohm (2 Buah)
  4. Transistor BC548/BC547 (4 Buah)
  5. LED Hijau 
  6. LED Kuning 
  7. Push Button (2 Buah)
  8. Header Pin Male 2 (2 Buah)
  9. Header Pin Male 6 
  10. Header Pin Male 5 
Dalam pembuatan Motor stepper ini selain bahan juga dibutuhkan peralatan untuk mengerjakannya antara lain:
  1. PCB Polos 
  2. Printer Tooner
  3. Kertas PCB Transfer
  4. Spidol Permanent
  5. HCL
  6. H2O2
  7. Hand Bor dengan mata bor Uk 0,8 mm
  8. Setrika 
  9. Wadah Secukupnya
  10. Solder
  11. Timah 

Tahap pengerjaan :
1) Pertama-tama kita Buat Layout nya , Jika anda punya PCB Artis / Proteus 8 / Eagle
Anda dapat membuat nya di PCB Layout  .
Contoh jadi nya nya seperti di bawah ini:

layout motor stepper

PCB Layout Driver Motor Stepper 

2) Setelah itu Print ke Kertas PCB Transfer
3) Setrika ke PCB Polos yang sudah di sesuaikan Ukuran nya

pcb motor stepper


4) stelah itu Etching dengan Menggunakan Cairan HCL dan H2O2 dengan Komposisi HCL : 1, H202 : 2, AIR : 3. Jika belum tau cara etching PCB bisa lihat di tutorial berikut :



5) setelah melalui Proses Etching jadinya seperti Ini


hasil pcb motor stepper



6) Jika sudah Setrika Kembali bagian Atas PCB dengan Top Silk yang sudah di Print ke  Kertas PCB Transfer
7) Jika sudah masuk ke Proses Pensolderan Komponen
8) Hasil

Driver motor stepper

Driver motor stepper

9) Masuk Ke Program Microkontroler Arduino ( Sketch Arduino IDE )
Salinlah Sketch Ke Arduino kalian


//      Sketch By : MakersWare Corp
//      Website   : makersware.blogspot.co.id
//
//      Time Stamp: 08/02/2017 11:04:56
//
//_____________________________________________________________//

//inisialisasi motor stepper
int IN1 = 4; //INPUT  MOTOR
int IN2 = 5;
int IN3 = 6;
int IN4 = 7;
int step = 100;
int delaytime = 2;

//inisialisasi nama pin I/O
int pb1 = 8; //Push Button 1
int pb2 = 9; //Push Button 2

int led1 = 10; // LED 1
int led2 = 11; // LED 2



void setup () {
  //pin output motor stepper
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  pinMode(IN3, OUTPUT);
  pinMode(IN4, OUTPUT);

  //pin input/output Push Button
  Serial.begin(9600); //-------------------memulai komunikasi Serial
  //menggunakan push button menjadi pullup
  pinMode(pb1, INPUT_PULLUP);
  pinMode(pb2, INPUT_PULLUP);

  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);

}

void loop()
{
  //pb1 ditekan, lampu 1 ON---------
  int push1 = digitalRead(8);
  Serial.println(push1);
  if (push1 == LOW) //high=tidak ditekan, low=ditekan
  for (int i=0; i<530; i++)
  {putarKiriLed ();}



  //pb2 ditekan, lampu 2 ON---------
  int push2 = digitalRead(9);
  Serial.println(push2);
  if (push2 == LOW) //high=tidak ditekan, low=ditekan
  for (int i=0; i<530; i++)
  {putarKananLed ();}


}
// --------------------------------------------------------------------
void putarKananLed ()
{
  digitalWrite (led1, LOW);
  digitalWrite (led2, HIGH);
  kanan();
  digitalWrite (led2, LOW);

}


void putarKiriLed ()
{
  digitalWrite (led1, HIGH);
  digitalWrite (led2, LOW);
  kiri();
  digitalWrite (led1, LOW);
}
//----------------------------------------------------------------------
void stop ()
{
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, LOW);
  digitalWrite(IN3, LOW);
  digitalWrite(IN4, LOW);
}

void kanan ()
{

  //step 4
  step4();

  delay(delaytime);

  //step 3
  step3();

  delay(delaytime);

  //step 2
  step2();

  delay(delaytime);

  //step 1
  step1();

  delay(delaytime);
}

void kiri()
{
  step1();
  delay(delaytime);
  step2();
  delay(delaytime);
  step3();
  delay(delaytime);
  step4();
  delay(delaytime);

}

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);
}


10) Lalu Upload Sketch untuk Memprogram Microkontroler Arduino Kalian

Sketch Motor Stepper

Memprogram Microkontroler ( Arduino )




Program yang saya masukkan masih dapat di kreasikan dan dikembangkan lagi, untuk anda yang hobi otak atik program nya free untuk anda seluruh pengunjung blog ini :D 

Comments

Popular posts from this blog

Tugas Pendahuluan (L1) Fisika Dasar

Mengapa Kapasitor dan Induktor jika diberi tegangan DC menjadi open dan short sirkuit?

Cara mengatasi sinyal hilang setelah update atau Flashing ROM xiaomi redmi 2 prime