Berikut ini diuraikan rancangan teoritis cara mengendalikan relay 5 volt dari mikroprosesor ESP8266.
Relay umumnya memerlukan arus beberapa puluh milliampere, sedangkan output dari mikrokontroler biasanya hanya beberapa miliampere, sehingga output mikrokontroler perlu diperkuat agar dapat mengendalikan relay.
Ada beberapa variasi rangkaian penguat tersebut yang populer, di antaranya sebagai berikut:
- Rangkaian transistor BJT (Bipolar Junction Transistor)
- Rangkaian MOSFET
- Rangkaian dengan IC ULN2803
Pada tulisan ini diuraikan rangkaian dengan transistor BJT.
Berikut adalah ide dasar rangkaian penguat dengan 1 transistor [Sumber]
Cara Kerja Rangkaian
Chip Output pada gambar tersebut adalah output dari mikrokontroler. Pada kasus ini digunakan mikrokontroler ESP8266, sehingga kita perlu cek datasheet ESP8266 untuk mengetahui sifat tegangan dan arus pada pin output ESP8266 tersebut.
Data ESP8266 diambil dari https://nurdspace.nl/ESP8266#Digital_IO_pins.
Berikut ini tabel sifat pin digital IO tersebut:
Variables | Symbol | Min | Max | Units |
---|---|---|---|---|
Input Low Voltage | Vil | -0.3 | 0.25xV10 | V |
Input High Voltage | Vih | 0.75xV10 | 3.6 | V |
Input leakage current | IIL | – | 50 | nA |
Output Low Voltage | VOL | – | 0.1xV10 | V |
Output High Voltage | VOH | 0.8xV10 | – | V |
Input pin capacitance | Cpad | – | 2 | pF |
VDDIO | V10 | 1.7 | 3.6 | V |
Current | Imax | – | 12 | mA |
Temperature | Tamb | -20 | 100 | C |
Tegangan power supply ESP8266 diasumsikan 3.3 volt, pada tabel tersebut tegangan ini adalah VDDIO atau V10.
Output HIGH pada pin output adalah VOH yaitu 0.8 x V10 = 0.8 x 3.3 volt = 2.64 volt
Output LOW pada pin output adalah VOL yaitu 0.1 x V10 = 0.1 x 3.3 volt = 0.33 volt
Transistor BJT pada sistem ini hanya punya 2 kondisi: Off dan saturasi. Jika output dari mikrokontroler LOW , maka transistor OFF. Jika output dari mikrokontroler HIGH , maka transistor akan saturasi.
Analisis Output LOW
Jika output LOW, maka tegangan pada transistor antara basis dan emitter (Vbe) adalah 0.33 volt. Tegangan ini kurang dari Vbe yang diperlukan untuk mengaktifkan transistor (0.6 volt), sehingga transistor akan berada dalam keadaan OFF.
Analisis Output HIGH
Jika output HIGH, maka tegangan pada transistor antara basis dan emitter (Vbe) adalah 2.64 volt dikurangi tegangan jatuh pada Rb. Tegangan jatuh pada Rb rumusnya adalah Rb x Ib. Pada tahap ini kita perlu menentukan berapa Ib yang kita inginkan.
Dari mikrokontroler ESP8266 disebutkan bahwa Imax adalah 12 miliampere, artinya arus maksimal pada port output adalah 12 miliampere. Untuk amannya kita pakai saja arus 1 miliampere, sehingga Ib = 1 miliampere. Sebaiknya kita ambil nilai yang di bawah 12 mA supaya Ib tidak melampaui 12 mA walaupun nilai komponen berbeda karena toleransi.
Vbe pada transistor diasumsikan 0.6 volt.
Dengan asumsi ini maka rangkaian pengganti pada output HIGH adalah sebagai berikut:
V2 adalah memodelkan output ESP8266 pada keadaan HIGH yaitu 2.64 volt
Rb adalah resistor antara output ESP8266 dan transistor.
Vbe adalah memodelkan tegangan antara pin basis dan emiter pada transistor.
Dari data tersebut maka dapat dihitung berapa nilai Rb yang diperlukan.
V2 = Ib x Rb + Vbe
Rb = (V2 – Vbe ) / 1 mA = (2.64-0.6) / 1 mA = 2040 ohm
Nilai Rb yang diperlukan adalah 2040 ohm. Resistor 2040 ohm tidak ada di deret E12 , jadi kita dapat dekati dengan 1800 ohm atau 2200 ohm. Namun kita mesti hitung ulang arus basis Ib pada kedua alternatif itu.
V2 = Ib x Rb + Vbe
Ib = (V2-Vbe)/Rb
Jika Rb=1800 maka Ib= (2.64-0.6)/1800 = 1.13 mA
Jika Rb=2200 maka Ib= (2.64-0.6)/2200 = 0.927 mA
Kita ambil saja Rb = 1800 ohm, dengan Ib = 1.13 mA. Lebih besar sedikit dari target 1 mA, tapi masih jauh di bawah batas 12 mA.
Memilih Transistor
Kita coba dulu menggunakan model transistor NPN yang umum di pasaran, misal 2N3904.
Sifat penting 2N3904 untuk aplikasi relay:
- Arus kolektor maksimum 200 mA
- Penguatan arus hfe=30 ~ 300. Nilai ini termasuk toleransi pabrik dan juga tergantung dari temperatur transistor.
Perhitungan arus kolektor maksimal:
Ic = hfe x Ib = 30 x 1.13 = 33.9 mA
Maka jika arus relay yang diperlukan kurang dari 33.9 mA, maka rangkaian ini dapat dipakai dengan Rb = 1800 mA.
Jika diperlukan arus relay lebih dari 33.9 mA, maka kita dapat melakukannya dengan memperbesar Ib dengan mengurangi nilai Rb.
Misal dengan Ib = 6 mA , maka Ic = 30 x 6 = 180 mA
Jika dengan memperbesar Ib arus kolektor masih di bawah yang diperlukan, maka kita perlu menggunakan 2 buah transistor supaya penguatan total dapat diperoleh.
Peranan Dioda
Pada rangkaian pengendali relay tersebut ada sebuah dioda yang arahnya ke atas. Dioda ini berfungsi agar ketika transistor dimatikan, arus dari kumparan relay akan masuk ke dioda tersebut, sehingga tidak menghantam transistor. Jika transistor dihantam arus dari kumparan, maka transistor dapat rusak. Tipe dioda yang dipakai tidak kritis asalkan dapat dilalui arus sebesar arus relay (asumsi puluhan mA), kita bisa pakai yang umum di pasaran seperti 1N4001.
Sumber
- electronics.stackexchange.com: How to use a 3v output-to control a 5v relay
- Deret E12 https://www.st-andrews.ac.uk/~www_pa/Scots_Guide/info/comp/passive/resistor/e12/e12.html
- Datasheet 2N3904 https://en.wikipedia.org/wiki/2N3904
- Datasheet 1N4001 http://www.vishay.com/docs/88503/1n4001.pdf