Motor DC dan motor Stepper

 

  • Motor DC

Motor DC adalah salah satu jenis aktuator yang menghasilkan gerakan rotasi dari energi listrik atau sinyal listrik yang diberikan oleh kontroller atau catu daya. Motor DC terdiri dari dua bagian yaitu stator yang merupakan bagian yang diam saat motor DC berputar, dan rotor yang merupakan bagian berputar dari motor DC.

Motor DC dapat dikendaliakan oleh motor driver H-bridge. Motor driver adalah suatu rangkaian yang dapat mengendalikan kecepatan motor dan arah dari perputaran motor. Motor driver biasanya merupakan rangkaian H-bridge yang terditi dari 4 transistor yang digunakan untuk mengendalikan 1 buah motor. Motor driver umumnya digunakan untuk mengendalikan motor DC dan bisa juga untuk motor stepper. Berikut merupakan contoh dari rangkaian motor driver H-bridge:

 

Rangkaian H-bridge tersebut di beri tegangan sebanyak 5V. Transistor yang digunakan dalam rangkaian tersebut adalah transistor NPN sebanyak 4 buah. Untuk menggerakan motor searah jarum jam, maka nilai A harus diubah menjadi 1 dan B tetap 0. Saat nilai menjadi 1 maka itu akan membuat transistor Q1 dan Q4 mengalirkan arus, arus akan mengalir dari bagian kiri motor ke bagian kanan motor yang menyebabkan motor berputar searah jarum jam.

SEARAH JARUM JAM

Untuk membuatnya berputar berlawanan arah jarum jam, nilai dari B harus bernilai 1 dan A bernilai 0. Pada kondisi tersebut, arus yang melewati motor akan mengalir dari bagian kanan ke bagian kiri sehingga motor akan berputar berlawanan arah jarum jam

BERLAWANAN JARUM JAM

  • Motor Stepper

Motor stepper adalah salah satu jenis motor dc yang dikendalikan dengan pulsa-pulsa digital. Prinsip kerja motor stepper adalah bekerja dengan mengubah pulsa elektronis menjadi gerakan mekanis diskrit dimana motor stepper bergerak berdasarkan urutan pulsa yang diberikan kepada motor stepper tersebut.

Terdapat dua metode untuk menggerakan motor stepper yaitu full step dan half step. Full step akan memberikan variasi input yang membuat motor stepper bergerak sesuai dengan derajat spesifikasinya. Full Berikut merupakan contoh dari full step.

SEARAH JARUM JAM

Full-Step ClockWise

BERLAWANAN ARAH JARUM JAM

Full Step CounterClockWise

Sedangkan Half Step akan menggerakan motor stepper setengah dari derajat spesifikasinya. Berikut merupakan contoh dari Half Step.

SEARAH JARUM JAM

BERLAWANAN JARUM JAM

Jika ingin menggunakan mikrokontroller seperti Arduino untuk menggerakan motor stepper. Maka kita dapat mengubungkan A, B, C, D dengan pin output dari IC motor Driver dan hubungkan input IC motor driver dengan output dari Arduino yang digunakan.. Setelah itu kita tinggal memrogram uturan outputnya untuk menggerakan motor stepper. Contoh dari rangkaian motor stepper dengan Arduino dapat dilihat pada gambar di bawah ini.

IC motor driver disini digunakan untuk menguatkan sinyal yang diterima dari arduino untuk dapat menggerakan motor stepper yang ada.

Terdapat sebuah kode program yang merupakan program untuk menggerakan motor stepper dengan rangkaian diatas dengan metode full step.

KODE PROGRAM:

int IN1=8;
int IN2=9;
int IN3=10;
int IN4=11;
int j = 10;
int delaytime=40;
//int k=0;

void setup(){
pinMode(IN1,OUTPUT);
pinMode(IN2,OUTPUT);
pinMode(IN3,OUTPUT);
pinMode(IN4,OUTPUT);
Serial.begin(9600);
}

void loop(){
//maju 60 detik;
for (int i=0; i<j; i++){
maju();
}
//delay(1000);
//k++;
//Serial.println(k*10);
}

void maju(){
//step 4
step1();
delay(delaytime);

//step 3
step2();
delay(delaytime);

//step 2
step3();
delay(delaytime);

//step 1
step4();
delay(delaytime);
}

void mundur(){

//step 4
step4();
delay(delaytime);

//step 3
step3();
delay(delaytime);

//step 2
step2();
delay(delaytime);

//step 1
step1();
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);
}

Leave a Reply

Your email address will not be published.