Driver Motor Arduino

Ketika kita hendak menciptakan sebuah perangkat yang membutuhkan sebuah motor untuk penggeraknya baik itu untuk sistem otomatis, atau robotik, maka kita akan dihadapkan pada permasalahan bagaimana menggerakkan sebuah motor yang membutuhkan daya yang cukup besar dengan memanfaatkan mikrokontroler, sedangkan kita tau bahwa pada umumnya mikrokontroler hanya mengeluarkan daya dari tiap pin sekitar 5V, sedangkan jika kita memakai aktuator/motor daya yang diharapkan sanggup lebih dari itu, kadang sanggup hingga 12V.
Maka untuk mengatasi permasalahan tersebut kita sanggup memakai sebuah driver motor, fungsi dari pada driver ini yaitu mengontrol arus yang besar dengan memakai arus yang kecil (yang dikeluarkan oleh mikrokontroller). Kita sanggup menciptakan sebuah driver motor dengan memakai transistor yang disusun sedemikian rupa, atau kita juga sanggup memakai IC (Integrated Circuit) sebagai alternatifnya. OK, eksklusif saja disini aku akan membahas mengenai komponen apa saja yang sanggup dipakai sebagai driver motor, diantaranya adalah:

1. Menggunakan H-Bridge dengan Transitor NPN dan PNP
Pada beberapa buku atau artikel mungkin ada yang memakai jenis transistor yang lain, menyerupai transistor MOSFET atau yang lainnya. tetapi aku mencoba menciptakan pilihan lain yaitu dengan memakai transistor jenis BJT (Bipolar Junction Transistor) NPN BD139, dan PNP BD140, sehabis aku mencobanya, ternyata sanggup bekerja dengan cukup baik. rangkaian yang aku buat sanggup dilihat pada Gambar berikut



dari Gambar diatas, sanggup kita lihat jumlah transistor yang dipakai secara keseluruhan ada 6, yang terdiri dari 2 Transistor PNP, yang dipakai untuk mengalirkan tegangan positif. 2 Transistor NPN, yang dipakai untuk mengalirkan tegangan negatif, lalu terdapat 2 transistor NPN (NPN A dan NPN B), NPN A dipakai untuk mengaktifkan transistor PNP 1 dan NPN 2. NPN B dipakai untuk mengaktifkan transistor PNP 2 dan NPN 1.

2. Menggunakan Relay
Relay yang dipakai merupakan relay dengan daya 5 Volt, alasannya yaitu tegangan keluaran Mikrokontroler umumnya 5 Volt. pada rangkaian ini, aku memakai 2 buah relay DPDT (Double pole Double throw), satu buah dipakai untuk memutar motor searah jarum jam, dan satu lagi dipakai untuk memutar motor berlawanan arah jarum jam.
rangkaian yang aku buat sanggup dilihat pada Gambar berikut:


3. Menggunakan IC L293D

IC L293D merupakan IC half H-bridge yang mempunyai kegunaan sebagai pengendali motor. Karakteristik IC L293D sebagai berikut:
- Tegangan Masukan maksimum= 4,5 hingga 36 volt.
- Tegangan Logic Maksimum = 4,5 – 36 volt.
- Arus keluaran maksimum perkanal = 1 ampere.
- Dispasi daya maksimum = 5 volt.
- Masukan suply dan logic terpisah.
- Kemasan = PDIP-16.
IC ini sanggup mengendalikan 2 Motor DC, dengan arah putaran CW dan CCW.
denah yang dibentuk yaitu sebagai berikut.

untuk lebih jelasnya mengenai fungsi Pin IC L293D sanggup dilihat pada tabel berikut:

pola source-code yang aku buat sanggup dilihat dibawah

int Mkir = 3;
int Mkan = 5;
int Mkir2 = 9;
int Mkir2 = 10;

void setup(){
pinMode (Mkir, OUTPUT);
pinMode (Mkan, OUTPUT);
pinMode (Mkir2, OUTPUT);
pinMode (Mkan2, OUTPUT);
}

void loop(){
/* menyalakan motor secara bergantian, motor 1 dan motor 2, berputar kekiri dan kekanan, dengan jeda 500 ms (0,5 detik)

pola source-code yang aku buat sanggup dilihat dibawah

int Mkir = 3;
int Mkan = 5;
int Mkir2 = 9;
int Mkir2 = 10;

void setup(){
pinMode (Mkir, OUTPUT);
pinMode (Mkan, OUTPUT);
pinMode (Mkir2, OUTPUT);
pinMode (Mkan2, OUTPUT);
}

void loop(){
/* menyalakan motor secara bergantian, motor 1 dan motor 2, berputar kekiri dan kekanan, dengan jeda 500 ms (0,5 detik) */

digitalWrite (Mkir, HIGH); delay(500); digitalWrite (Mkir, LOW);
digitalWrite (Mkan, HIGH); delay(500); digitalWrite (Mkan, LOW);
digitalWrite (Mkir2, HIGH); delay(500); digitalWrite (Mkir2, LOW);
digitalWrite (Mkan2, HIGH); delay(500); digitalWrite (Mkan2, LOW);

}

Related Post