×

Kontrol Motor Stepper Bi-Polar Menggunakan H-Bridge L298 dan Arduino

Motor stepper memiliki keunikan dalam cara menggerakkannya. Motor tidak memiliki magnet permanent, namun bergerak berdasarkan pulsa/ signal yang diberikan dari kutub/ polar. Motor Stepper sederhana adalah motor stepper Bi-Polar, dimana memiliki dua kutub/ dua pasang kumparan. Perhatikan gambar dibawah ini :

Pada gambar rangkaian motor stepper 4-Wire / 4 Kabel Kontrol, kita bisa dengan mudah mengatur pergerakkan motor stepper tersebut secara langsung. Sedangkan pada sistem perkabelan lebih dari 4, misalnya 6-wire / 6 Kabel, kita bisa jadikan 4 wire dengan cara membiarkan kutub tengah dari kumparan, sehingga diumpamakan sebagai motor stepper 4-wire/ 4 kabel biasa. Perhatikan video cara menemukan pasangan kabel pada motor stepper berikut ini :

Pada testing pergerakan motor stepper kali ini digunakan controller Arduino UNO, driver motor H-Bridge L298, Power Supply 12 Volt 10A, kabel jumper, multimeter digital untuk pembacaan nilai kumparan (hamabtan/ Ohm), motor stepper 4 kabel, dan motor stepper 6 kabel.

Hal yang pertama adalah kita mempersiapkan dahulu sambungan antara Controller Arduino UNO + Driver Motor L298 + Power Supply sebagai berikut :

Perhatikan pada Board H-Bridge L298N terdapat 3 buah jumper, yaitu Jumper Power Supply (Vcc) 5 Volt DC, Jumper ENA (Enable A), dan Jumper ENB (Enable B).

  • Jumper Power Supply 5 Volt DC tetap terpasang bilamana kita gunakan sumber tegangan gabungan dari Vmotor, teerdapat penurun tegangan dari Vmotor menjadi 5 Volt DC untuk men-supply tegangan kerja Vcc dari L298N. Bilamana jumper dicabut, maka kita harus menambahkan sendiri sumber tegangan 5 Volt DC pada port terminal screw +5V DC.
  • Jumper ENA digunakan untuk mengontrol sinyal Output 1 dan Output 2, jika jumper ENA tidak dipasang, maka sinyal akan hilang dari Output 1 dan Output 2.
  • Jumper ENB digunakan untuk mengontrol sinyal Output 3 dan Output 4, jika jumper ENB tidak dipasang, maka sinyal akan hilang dari Output 3 dan Output 4.

Kemudian, kita upload program Arduino (untuk testing putaran Motor Stepper) :

#include <Stepper.h>
#define STEPS 300
Stepper stepper(STEPS, 7, 6, 5, 4);

int previous = 0;

void setup() {
  // set the speed of the motor to 30 RPMs
  stepper.setSpeed(50);
  Serial.begin(9600);
}

void loop() {
  int val = analogRead(0);
  int step=map(val, 1023, 0, 0, STEPS);
  stepper.step(val - previous);
}