komponen mikroprosesor

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)
  • alvanic 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 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

[under construction]

Konverter TTL 5 volt ke level CMOS

Konverter TTL 5 volt ke level CMOS

Penguat arus digital dengan transistor NPN

Penguat arus digital dengan transistor NPN

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

[under construction]

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

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Powered by: Wordpress