Senin, 27 Juni 2011

DRIVER MOTOR DC MENGGUNAKAN IC L293D

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 mendapatkan datasheet L293D silakan download disini.

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.

Semoga bermanfaat…

8 komentar:

  1. d sni kita mnggunakn transistor type apa?

    BalasHapus
  2. klo saya sarankan anda lebih baik pakai ic l293d saja... tetapi jika anda memakai transistor anda harus punya transistor yg memiliki arus relatif besar karena motor DC bebannya cukup besar

    BalasHapus
  3. gimana cara pasang heatsink nya mas...mohon petunjuk

    BalasHapus
  4. betul mas mau tanya soal pemasangan heatsink di ground. ground diambilkan dari kaki dari mikrokontroller nya bisa to? pin 4 ma 5 di sambung. terima kasih

    BalasHapus
  5. heat sink nya dihubungkan pada pin ground ic L293D, atau pada PCB dijalur groundnya ic L293D

    BalasHapus
  6. makasih banyak atas informasinya..

    sangat berguna sekali..

    langsung ane coba gan.. ^^

    BalasHapus
  7. om kaki 8 nya sebaiknya menggunakan batere yg baru atau digabung dgn Vss?

    BalasHapus
  8. mas punya contoh list program yg pake codevision g?

    BalasHapus