DRIVER MOTOR DC MENGGUNAKAN IC L293D
25
May
Pada dasarnya beberapa
aplikasi yang menggunakan motor DC harus dapat mengatur kecepatan dan
arah putar dari motor DC itu sendiri. Untuk dapat melakukan pengaturan
kecepatan motor DC dapat menggunakan metode PWM (Pulse Width Modulation)
sedangkan untuk mengatur arah putarannya dapat menggunakan rangkaian
H-bridge yang tersusun dari 4 buah transistor. Tetapi dipasaran telah
disediakan IC L293D sebagai driver motor DC yang dapat mengatur arah
putar dan disediakan pin untuk input yang berasal dari PWM untuk
mengatur kecepatan motor DC.
Untuk lebih memahami tentang
membangkitkan sinyal PWM menggunakan fitur Timer pada mikrokontroler AVR
dapat membacanya pada postingan tutorial AVR tentang PWM.
Sebelum membahas tentang IC L293D,
alangkah baiknya jika kita membahas driver motor DC menggunakan
rangkaian analog terlebih dahulu.
Jika diinginkan sebuah motor DC yang
dapat diatur kecepatannya tanpa dapat mengatur arah putarnya, maka kita
dapat menggunakan sebuah transistor sebagai driver. Untuk mengatur
kecepatan putar motor DC digunakan PWM yang dibangkitkan melalui fitur
Timer pada mikrokontroler. Sebagian besar power supply untuk motor DC
adalah sebesar 12 V, sedangkan output PWM dari mikrokontroler maksimal
sebesar 5 V. Oleh karena itu digunakan transistor sebagai penguat
tegangan. Dibawah ini adalah gambar driver motor DC menggunakan
transistor.
Sedangkan jika diinginkan sebuah motor DC
yang dapat diatur kecepatan atau arah putarnya maka digunakanlah
rangkaian H-brigde yang tersusun dari 4 buah transistor.
Dari gambar diatas jika diinginkan motor
DC berputar searah jarum jam maka harus mengaktifkan transistor1 dan
transistor4 dengan cara memberikan logika high pada kaki Basis
transistor tersebut. Sedangkan untuk berputar berlawanan arah jarum jam
maka harus mengaktifkan transistor2 dan transistor 3 dengan cara
memberikan logika high pada kaki Basis transistor tersebut. Untuk lebih
jelasnya perhatikan gambar dibawah ini.
Dari gambar diatas terlihat jelas bahwa
dengan mengaktifkan transistor1 dan transistor4 akan menyebabkan motor
DC berputar searah jarum jam. Dimana arus listrik akan mengalir dari
power supply (12 V) melalui transistor1, lalu ke motor DC, lalu ke
transistor4 dan akan berakhir di ground. Begitu juga sebaliknya untuk
putaran berlawanan arah jarum jam.
Sedangkan untuk pengaturan kecepatannya
anda dapat menghubungkan output PWM ke kaki basis transistor1 untuk
putaran searah jarum jam. Dan untuk putaran berlawanan arah jarum jam,
output PWM dapat dihubungkan kekaki basis transistor2.
Saatnya membahas tentang IC L293D, untuk lebih jelasnya dapat dibaca di datasheet. Silakan download disini
untuk datasheet IC L293D. Disini saya akan menjelaskan sedikit dasar
teori tentang IC L293D, tetapi saya akan lebih banyak memfokuskan
tentang bagaimana cara penggunaannya.
Sekarang saya akan membuat sebuah
aplikasi yang akan mengatur kecepatan dan arah putar sebuah motor DC
menggunakan IC L293D jika di hubungkan dengan mikrokontroler AVR.
Dari gambar diatas pin EN1 merupakan
sebuah pin yang difungsikan untuk meng-enable-kan motor DC (ON/OFF motor
DC), oleh karena itu pin EN1 dapat dihubungkan dengan output PWM dari
mikrokontroler. Sedangkan pin IN1 dan IN2 digunakan sebagai input logika
untuk mengatur putaran motor DC dan dapat juga digunakan untuk
memberhentikan motor DC secara cepat (fast motor stop). Untuk lebih
jelas tentang pin IN1 dan IN2 dapat dilihat pada tabel berikut.
IN1 | IN2 | Kondisi Motor |
0 | 0 | fast motor stop |
0 | 1 | putar searah jarum jam |
1 | 0 | putar berlawanan arah jarum jam |
1 | 1 | fast motor stop |
Jika diinginkan motor berputar searah
jarum jam, maka pin mikrokontroler PD6 (IN1) diberi logika low dan PD7
(IN2) diberi logika high. Sedangkan EN1 dihubungkan dengan output PWM
mikrokontroler (PD4).
Bagaimana jika akan mengatur arah dan
kecepatan putar 2 buah motor DC? Berikut adalah rangkaiannya dan cara
kerjanya pun sama seperti cara kerja menggunakan sebuah motor DC.
Dari gambar diatas, untuk pengaturan arah
dan kecepatan 2 buah motor DC maka hanya tinggal menambahkan sebuah
motor pada output3 dan output4. Dan pin EN2 merupakan sebuah pin yang
difungsikan untuk meng-enable-kan motor DC 2 (ON/OFF motor DC), oleh
karena itu pin EN2 dapat dihubungkan dengan output PWM dari
mikrokontroler. Sedangkan pin IN3 dan IN4 digunakan sebagai input logika
untuk mengatur putaran motor DC 2 dan dapat juga digunakan untuk
memberhentikan motor DC 2 secara cepat (fast motor stop). Tabel input
logika IN3 dan IN4 sama dengan tabel logika IN1 dan IN2.
Cara pengaturan arah dan kecepatan 2 buah motor DC sama dengan menggunakan sebuah motor DC.
Untuk mempermudah, dari gambar diatas
saya tambahkan garis kotak berwarna merah dan berwarna biru. Garis
berwarna merah terdiri input dan output untuk mengatur arah dan
kecepatan motor DC 1. Sedangkan garis berwarna biru terdiri dari input
dan output untuk mengatur arah dan kecepatan motor DC 2.
CATATAN: pin VS (kaki 8 IC L293D)
merupakan power supply untuk motor DC, sedangkan pin VSS (kaki 16 IC
L293D) merupakan power supply untuk IC L293D. Direkomendasikan pada pin
ground IC L293D dihubungkan dengan Heat sink, untuk mengurangi panas
pada IC dikarenakan motor DC merupakan beban yang relatif cukup besar.