Teknik Output Digital pada Mikrokontroler

Motor driver TB6612FNG

Teknik Output Digital pada Mikrokontroler

Mikrokontroler seperti Arduino sering perlu disambungkan ke berbagai perangkat digital, untuk itu diperlukan kemampuan output dari mikrokontroler yang perlu disesuaikan dengan sifat perangkat yang dituju. Berikut ini beberapa kemungkinan permasalahan output yang dijumpai:

  • Tegangan kecil, arus kecil (langsung)
  • Tegangan kecil, arus besar (perlu penguat arus BJT/MOSFET)
  • Tegangan besar (perlu pengubah tegangan BJT/MOSFET, Relay)
  • Beban Induktif (kumparan,motor)
  • Galvanic Isolation (dengan optocoupler)
  • H-Bridge untuk motor 2 arah
  • Pulse Width Modulation untuk mengatur pemberian energi
  • Serial to Paralel untuk menambah port I/O

Tegangan Kecil Arus Kecil

Tegangan kecil di sini maksudnya adalah tegangan perangkat output sama atau kurang dari tegangan output mikrokontroler.

Arus kecil di sini maksudnya adalah arus yang diperlukan perangkat output sama atau kurang dari kemampuan arus output mikrokontroler.

Pada kasus ini output dari mikrokontroler cocok dari sisi arus maupun tegangan, sehingga output mikrokontroler dapat langsung dihubungkan ke beban / perangkat output.

Misal, output yang diinginkan adalah menyalakan sebuah LED. LED mempunyai tegangan maju sekitar 2 volt, dengan arus 25 mA jika ingin cukup terang. Port pada ATMega328 dapat memberikan arus maksimal 40 mA, dengan tegangan output 5 volt, maka dalam hal ini, LED dapat langsung dihubungkan ke output ATMega328 tanpa perlu penguatan, cukup dengan resistor sebagai pembatas arus.

LED output
LED output

Tegangan Kecil Arus Besar

Tegangan kecil di sini maksudnya adalah tegangan perangkat output sama atau kurang dari tegangan output mikrokontroler.

Arus besar di sini maksudnya adalah arus yang diperlukan perangkat output lebih dari kemampuan arus output mikrokontroler.

Contoh kasus:

  • lampu LED perlu 25 mA, sedangkan output mikrokontroler hanya sanggup 8 mA karena pin output lain juga aktif
  • LED 7 segmen , setiap segmen 25 mA, jadi perlu total 25 mA x 8 = 200 mA untuk arus di pin common anoda/katoda.

Dalam hal ini maka diperlukan penguatan arus, yang antara lain dapat dilakukan dengan komponen berikut:

  • Transistor BJT NPN (misal BC548)
  • Transistor BJT PNP (misal BC557)
  • Transistor MOSFET kanal N (misal IRF520)
  • Transistor MOSFET kanal P
  • Transistor Darlington terintegrasi,  seperti IC ULN2803

Secara teoritis, penguatan ini dapat juga dilakukan menggunakan penguat / amplifier analog ataupun op-amp, namun hal ini tidak praktis karena penguat analog umumnya menggunakan transistor dalam kondisi aktif sehingga penggunaan arus lebih besar. Penguat digital hanya menggunakan 2 keadaan transistor ON dan OFF, sehingga disipasi daya pada transistor lebih kecil.

Contoh rangkaian penguat arus dengan transistor NPN sebagai berikut:

Penguat output digital dengan transistor NPN
Penguat output digital dengan transistor NPN

Contoh rangkaian penguat arus dengan MOSFET sebagai berikut, cara kerjanya dijelaskan di artikel “Output Digital Mikrokontroler Dengan MOSFET“:

Output Digital Mikrokontroler Dengan MOSFET
Output Digital Mikrokontroler Dengan MOSFET

Tegangan Besar

Tegangan besar di sini maksudnya adalah tegangan yang diinginkan lebih tinggi dari tegangan output mikrokontroler. Misal output mikrokontroler adalah TTL 5 volt, sedangkan output diinginkan level CMOS, misal 9 volt. Maka dapat dipakai rangkaian berikut ini:

Konverter TTL 5 volt ke level CMOS
Konverter TTL 5 volt ke level CMOS

Pada contoh berikut ini , ada 5 buah LED seri yang ingin dinyalakan. 1 LED memerlukan tegangan 2 volt, sehingga total perlu 10 volt. Untuk itu diperlukan transistor NPN sebagai sakelarnya.

Penguat arus digital dengan transistor NPN
Penguat arus digital dengan transistor NPN

Selain itu untuk menaikkan tegagnan dapat menggunakan komponen bidirectional logic converter.

Bidirectional level converter
Bidirectional level converter
3.3V 5V Bi Directional Level Converter
3.3V 5V Bi Directional Level Converter

Beban Induktif

Beban induktif perlu dioda pengaman, karena ketika output dimatikan maka arus pada dioda masih ingin tetap mengalir.

Jika arus apda beban induktif melebihi kemampuan output port mikrokontroler maka arus perlu diperkuat dengan transistor BJT ataupun MOSFET.

Penguat output untuk beban induktif
Penguat output untuk beban induktif

Jika perlu banyak mengendalikan beban induktif, maka alternatif yang baik adalah IC ULN3803. ULN2803 di dalamnya sudah memiliki penguat arus dengan transistor dan dioda pengaman, sehingga cocok untuk beban induktif. Kemampuan arus setiap kanalnya adalah 500 mA.

ULN2803 diagram
ULN2803 diagram

Galvanic Isolation

Pada galvanic isolation, antara mikrokontroler dengan komponen yang dikendalikan tidak terdapat hubungan secara elektrik. Jalur ground dan sinyal betul-betul terpisah. Untuk mencapai galvanic isolation dapat menggunakan kopling magnetik ataupun optocoupler. Untuk aplikasi Arduino yang sederhana, yang praktis adalah menggunakan optocoupler  jika dekat, dan menggunakan fiber optik jika jaraknya agak jauh.

Galvanic isolation
Galvanic isolation

H-Bridge

H-Bridge diperlukan untuk beban yang memerlukan polaritas yang dapat diubah.

Contoh output pengendali motor dengan TB6612FNG:

Motor driver TB6612FNG untuk output PWM ke motor secara digital dari mikrokontroler
Motor driver TB6612FNG

Contoh lain adalah IC TLE 5205-2:

TLE 5025-2 kemasan TO-220
TLE 5025-2, H-Bridge dengan kemasan TO-220

Pulse Width Modulation

[under construction]

Serial to Paralel

Penambahan port input output pada Arduino dapat dilakukan dengan menggunakan komponen antar muka serial ke paralel. Komponen yang sering dipakai di antaranya adalah “74HC164 8-Bit Parallel-Out Serial Shift Register” dan “PCF8574 Remote8-Bit I/O Expander for I2C Bus“.

Diagram logika 74HC164 shift register sebagai output digital
Diagram logika 74HC164 shift register

Prinsip kerja 74HC164 adalah sebagai sebuah shift register 8 bit. Data serial dimasukkan pada pin A dan B. Setiap ada pulsa clock pada pin CLK, maka data 1 bit dimasukkan ke shift register. Data pada shift register ditampilkan pada pin Qa sampai dengan Qh. Jadi setiap 74HC164 dapat menambah 8 port output. Jika diinginkan lebih dari 8 port output, maka 74HC164 berikutnya dapat ditambahkan secara cascade. 74HC164 ini hanya dapat berfungsi sebagai output digital.

Alternatif lainnya adalah menggunakan IC 74HC595. Prinsip kerjanya serupa, namun kelebihan 74HC595 adalah terdapat tambahan register output selain shift register, sehingga perubahan output dapat dilakukan secara serentak. 74HC595 juga memiliki three-state buffer di bagian outputnya sehingga lebih fleksibel.

SNx4HC5958-Bit Shift RegistersWith 3-StateOutputRegisters
Blok diagram 74HC595

PCF8574 adalah periferal I2C yang memiliki 8 buah port input output digital. PCF8574 dapat disambungkan dengan protokol I2C ke mikroprosesor. Jika memerlukan lebih dari 8 port digital, maka dapat ditambahkan PCF8574 berikutnya. Setiap PCF8574 mesti memiliki alamat yang berbeda. Alamat dapat diatur dengan pin A0,A1 dan A2, sehingga dari kombinasi 3 pin ini kita dapat menghubungkan 8 buah PCF8574 ke sebuah mikroprosesor, total menjadi 8×8 = 64 port digital sebagai input ataupun output.

Referensi

2 thoughts on “Teknik Output Digital pada Mikrokontroler

Tinggalkan Balasan

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.