Cara membuat driver motor stepper berbasis microcontroler


Apakabar Makers,
Kali ini saya ingin berbagi cara membuat Driver Motor Stepper (5V)
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.

Contoh Rangkaian Driver Motor Stepper dibawah ini :

Rangkaian motor stepper

Rangkaian Driver Motor Stepper 

Dalam Pembuatan Driver motor stepper ini saya hanya menggunakan 2 Push button untuk sinyal ke Arduino.

Bahan - Bahan :
  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 


Peralatan :
  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 


Praktikum:
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, Jika belum tau cara nya 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 )


Selamat Mencoba Salam Sukses.. Makers.. !!

No comments