Site icon Elektrologi

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

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

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:

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

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

Contoh rangkaian penguat arus dengan MOSFET sebagai berikut, cara kerjanya dijelaskan di artikel “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

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

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

Bidirectional 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

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

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

H-Bridge

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

Contoh output pengendali motor dengan TB6612FNG:

Motor driver TB6612FNG

Contoh lain adalah IC TLE 5205-2:

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

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.

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

Exit mobile version