Antarmuka LED katoda
anoda
Edi Permadi
[email protected] President University, Electrical Engineering 2005 tulisan ini tidak akan menjelaskan LED secara detail, hanya untuk menggambarkan karakteristik LED secara umum dan bagaimana LED difungsikan. Jika ditemukan kesalahan dalam tulisan ini,mohon dikoreksi Sekilas Tentang LED LED merupakan singkatan dari Light Emitting Diode. Dari sisi penggolongan, LED merupakan komponen aktif bipolar semikonduktor, karena itu hanya mampu mengalirkan arus dalam satu arah saja. Untuk menyalakan LED, cukup dengan mengalirkan arus dari anoda ke katoda (forward biass) dengan beda potensial minimum berkisar antara 1,5 hingga 2 volt dan arusnya berkisar di 20mA. Perlu diperhatikan juga bahwa LED juga memiliki tegangan nyala maksimum, jika tegangan tersebut terlewati maka LED akan rusak. Di Pasaran umumnya LED dikemas berkaki dua (katoda dan anoda) dengan bermacam‐macam warna nyala. Untuk membedakan kedua kaki tersebut, kaki anoda biasanya dibuat lebih panjang daripada katoda. Harganya sangat terjangkau, berkisar dari 250 rupiah hingga beberapa ribu rupiah. LED banyak digunakan untuk indikator dan transmisi sinyal atau bahkan untuk penerangan. LED banyak digunakan karena hemat daya, tahan lama dan ekonomis, maka wajar jika popularitas LED mengalahkan tabung nixie maupun lampu pijar. Antarmuka LED LED dapat menyala pada arus searah (DC) maupun arus bolak‐balik (AC), yang membedakan adalah kontinyuitas. Pada arus DC LED menyala secara kontinyu. Sedangkan pada arus AC, LED akan menyala secara tidak kontinyu (nyala‐padam secara periodik), menyala pada setengah gelombang pertama dan padam pada setengah gelombang berikutnya, hal ini terjadi secara periodik pada frekwensi senilai denga frekwensi AC yang diterapkan. Hal ini terjadi karena LED hanya mengalirkan arus satu arah saja, sebagai akibatnya LED hanya akan menyala pada fasa dimana LED mendapatkan forward biass (hanya setengah gelombang). Mata manusia terkadang terlalu lambat untuk merespon aktifitas nyala‐padam tersebut, pada frekwensi tertentu (biasanya 85Hz atau lebih) LED akan terlihat tetap menyala meskipun faktanya berkedip‐kedip. Prinsip ini lebih lanjut digunakan untuk memultipleks LED maupun untuk penghematan daya.
1
Pada umumnya rangkaian digital menggunakan tegangan operasi 5 s.d 12 volt DC. Karena LED memiliki tegangan maksimum dan tegangan minimum maka arus dan dan tegangan LED harus diatur sedemikian rupa sehingga berada dalam wilayah yang dapat diterima oleh LED. Tugas ini umumnya dapat diimplementasikan dengan pemasangan resistor dan LED secara seri. Goalnya adalah bagaimana memilih nilai resistor supaya LED dapat menyala pada tegangan diatas level minimum dan dibawah level maksimum pada tingkatan kecerahan yang dapat diterima. Pada aplikasinya nilai resistor tidaklah se‐kritis teorinya, penyimpangan beberapa puluh ohm masih dapat diterima. Nilai resistor tersebut dapat dihitung dengan rumus berikut. R =
VDD − VD ID
Keterangan : D
= LED
VD
= Tegangan LED
ID
= Arus LED
R
= Resistor
VR
= Tegangan Resistor
IR
= Arus Resistor
Sebagai pijakan, aplikasi dengan tegangan operasi 5 volt biasanya menggunakan resistor 330Ω hingga 470Ω. Pada aplikasinya, LED dapat dikendalikan dengan 2 cara. Yaitu dengan menyambungkan anoda ke catu positif dan katoda ke keluaran rangkaian, atau dengan menyambungkan katoda ke ground dan anoda ke keluaran rangkaian.
Pada cara pertama, LED akan menyala jika keluaran rangkaian berlogika 0 (terhubung ke ground). Sedangkan pada cara kedua LED akan menyala jika keluaran berlogika 1 (terhubung dengan catu positif). Jika rangkaian keluaran yang disambungkan ke LED berupa keluaran mikrokontroler, port, TTL atau CMOS, maka cara pertama lebih menguntungkan karena rangkaian keluaran hanya difungsikan untuk menerima arus dan menyambungkan ke ground. Pada kenyataannya pun, cara ini memang lebih sering digunakan. Array LED dan Seven Segment Array LED adalah sejumlah LED yang salah satu kaki dari setiap LED (baik anoda atau katodanya) terhubung ke suatu titik yang sama secara seragam. Dari sini dapat diketahui dua macam array LED, yaitu array LED Common Anode (CA) dan Array LED Common Cathode (CC). Seven Segment adalah 8 buah LED yang
2
disusun dalam array yang dibentuk sedemikian rupa hingga membentuk 7 segmen dan 1 titik yang dapat digunakan untuk menampilkan pola angka dan beberapa huruf. Berikut ini adalah ilustrasi 8 buah LED yang dikemas sebagai array LED CA maupun array LED CC. common
common
c1
c2
c3
c4
c5
c6
c7
c8
a1
a2
a3
a4
a5
a6
a7
Common Cathode (CC)
Common Anode (CA)
a8
Berikut ini adalah tata letak dan penamaan setiap ruas seven segment.
Antarmuka pengendali dengan seven segemen dapat dilakukan secara langsung, atau melalui driver/generator pola seperti 74LS47 untuk seven segment CA dan 74LS48 untuk seven segment CC. Penghematan Daya Jika konsumsi daya merupakan hal yang penting dipertimbangkan, sebaiknya LED dinyakan secara tidak kontinyu pada frekwensi sekitar 85Hz hingga 100Hz. Cara ini dapat diterapkan dengan memfungsikan keluaran rangkaian pengendali sebagai generator arus AC, baik itu sinus, persegi, trapesium ataupun segitiga. Tetapi pada umumya pada rangkaian digital lebih sering menggunakan arus AC dengan bentuk gelombang persegi, hal ini karena rangkaian digital hanya mempunyai 2 jenis kondisi (logika 0 dan logika 1) dan proses menirukan gelombang persegi dapat dengan mudah dilakukan, yaitu dengan menukarkan keluaran dari logika 1 ke logika 0 secara periodik pada frekwensi tertentu. Multipleks LED Jika aplikasi menggunakan banyak LED dan jumlah pin pengendali (mikrokontroler) terbatas maka salah satu solusi yang dapat digunakan adalah dengan multipleks LED. Supaya semua LED terlihat tetap menyala, semua LED dinyalakan secara bertahap satu per satu secara periodik, cara ini juga dikenal sebagai proses scanning. Yang perlu diperhatikan adalah kecepatan scanning yang digunakan harus cukup tinggi sehingga mata manusia menangkap seolah‐olah semua LED menyala. Untuk lebih jelasnya mari amati beberapa contoh‐contoh multipleks berikut:
3
1. Multipleks LED secara seri. Prinsip cara ini adalah dengan mengubah antarmuka paralel menjadi antarmuka seri secara total dengan bantuan shift register. Pada rangkaian aslinya, pengantarmukaan LED memerlukan 8 buah pin pengendali dan dalam beberapa kasus hal ini sangat menyita jumlah pin pengendali yang terbatas. Setelah dimodifikasi, antarmuka LED hanya menyita 2 pin pengendali saja dan rangkaian pengendali cukup mengirimkan sinyal serial ke shift register untuk mengendalikan LED. Cara ini efektif jika LED dipasang secara berderet (misalnya indikator berbagai fungsi yang dipasang berderet) dan jumlahnya tidak terlalu banyak. Jika LED yang digunakan melebihi kapasitas shift register, maka keluaran shift register pertama dapat disambungkan dengan masukan shift register kedua. Jumlah shift register yang digunakan merupakan pembulatan k atas kelipatan delapan terdekat dari jumlah LED yang digunakan, misalnya jika aplikasi yang akan dirancang akan menggunakan 20 buah LED maka diperlukan 3 buah shift register, hal ini karena 24 merupakan kelipatan 8 terdekat dari 20. Berikut ini adalah ilustrasinya
Keuntungan yang didapatkan adalah, mengurangi konsumsi pin pengendali, mengurangi kerumitan rangkaian antarmuka dan rangkaian LED dapat dikemas portabel (karena menggunakan lebih sedikit kabel). Kerugian yang didapatkan adalah penambahan tingkat kerumitan software pengendali (memindahkan pengendalian paralel menjadi seri) dan penambahan biaya produksi (karena harus membeli shift register). Jika kegunaan, portabilitas dan kerumuitan software dapat dikompromikan dengan biaya produksi, maka cara ini dapat diterapkan. 2. Multipleks LED secara seri & paralel Cara ini disebut semi seri (kombinasi seri paralel) karena data dikirimkan secara paralel dan pengendalian dilakukan secara seri. Prinsipnya adalah deretan LED sebanyak n buah dikemas menjadi paket paralel selebar m bit sebanyak r buah. Jika diketahui harga sebuah shift register 8 bit lebih mahal dari decoder/demultiplekser 3 ke 8, maka cara ini tepat digunakan untuk mengganti cara dupleks LED sebelumnya. Kekurangan cara ini dibandingkan cara sebelumnya adalah peningkatan jumlah konsumsi pin bus kendali.
4
Analoginya adalah sebagai berikut ini (n=32, m=8 dan r=4). n = jumlah LED m = lebar bus data r = jumlah pemetaan yang diperlukan Berikut ini adalah ilustrasinya. VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
Pengendali
Array LED
Shift register (SIPO) Serial In Paralel Out
Array LED
Array LED
Array LED
Array LED
Array LED
Array LED
Array LED
pengendali
Bus kendali
data clock
Bus Data
3. Multipleks LED secara encoded paralel & paralel Cara berikut diimplementasikan dengan memodifikasi cara multipleks nomor 3. Modifikasi yang dilakukan adalah dengan mengganti shift register menjadi dekoder atau demultiplekser. Dikatakan encoded paralel & paralel karena bus data diencode menjadi n bit yang selanjutnya dipetakan menjadi 2n bit (dengan menggunakan dekoder/demultiplekser) sementara bus data dikendalikan secara paralel murni tanpa encode. Sebagai contoh, pada cara ketiga menggunakan 2 buah shift register 8 bit, maka cara ini menggunakan dekoder/demultiplekser yang memetakan masukan 4 bit menjadi 16 bit. Namun kerugian
5
yang didapatkan ketika mengganti shift register dengan dekoder/demultiplekser adalah penambahan konsumsi pin untuk bus kendali. Lagi‐lagi, semua ini harus dikompromikan dengan biaya produksi. Mana yang lebih menguntungkan, itulah yang dipakai, semuanya memerlukan kaji ulang.
pengendali
Bus kendali
Dekoder/ demultiplekser
Berikut ini adalah ilustrasinya.
4. Multipleks LED dengan matriks Jika dalam suatu aplikasi diperlukan 64 buah LED, multipleks LED dapat juga diimplementasikan dengan matriks 8x8 (8 kolom, 8 baris). Setiap pertemuan kolom dan baris digunakan untuk mengaktifkan sebuah LED. Berikut Ini adalah contoh konfigurasi matriks 8x8: LED 1 katoda ke C1 Anoda ke R1 LED 2 katoda ke C1 LED 3 katoda ke C1 Anoda ke R3 LED 4 katoda ke C1 LED 5 katoda ke C1 Anoda ke R5 LED 6 katoda ke C1 LED 7 katoda ke C1 Anoda ke R7 LED 8 katoda ke C1 LED 9 katoda ke C2 Anoda ke R1 LED 10 kadoda keC2 LED 63 katoda ke C8 Anoda ke R7 LED 64 katoda ke C8
Anoda ke R2 Anoda ke R4 Anoda ke R6 Anoda ke R8 Anoda ke R2 Anoda ke R8 6
Ilustrasinya sebagai berikut: Dalam
kasus‐kasus
tertentu,
multipleks
dengan
menggunakan matriks dapat menjadi solusi yang paling hemat, karena cara ini dapat mengeliminasi penggunaan shift register ataupun
dekoder/demultiplekser,
tetapi
program
untuk
mengendalikan LED menjadi lebih rumit, karena proses scanning menjadi 2, yaitu scanning vertikal dan scanning horisontal. Sebagai contoh, Untuk menyalakan LED ke 10, C3 harus berlogika 0 dan dan R2 berlogika 1. 5. Multipleks dengan cara penggeseran beberapa bit secara serempak Prinsip cara ini yaitu dengan menggeser beberapa bit secara bersamaan, jadi yang diperlukan hanyalah bus data dan clock synchronizer. Setiap bit dari sebuah port dimasukkan ke dalam shift register (SIPO) Serial In Paralel Out yang penggeserannya disinkronkan sebuah clock saja. Satu sisi cara ini meminimalkan penggunaan bus kendali dari beberapa bit menjadi satu bit saja, tapi pada sisi lain alat ini menambah biaya produksi, karena memerlukan banyak shift register atau flip‐flop D. Ilustrasi lebih jelas digambarkan dengan rangkaian berikut ini.
pengendali
Data Clock
Shift Register
Data Clock
Shift Register
Data Clock
Shift Register
Data Clock
Shift Register
Data Clock
Shift Register
Data Clock
Shift Register
Data Clock
Shift Register
Data Clock
Shift Register
7
6. Multipleks LED dengan secara komplementer. Multipleks LED secara komplementer hanya dapat digunakan pada mikrokontroler yang setiap pin portnya dapat didefinisikan sebagai masukan/keluaran secara independen dan bukan jenis open collector (OC). Sebagai contoh, multipleks dengan cara komplementer dapat diterapkan pada mikrokontroler seri PIC yang diproduksi oleh microchip. Multipleks LED secara komplementer juga memanfaatkan sifat polarisasi LED yang hanya akan menyala bila arus mengalir dari anoda ke katoda. Pada sisi lain, ketika suatu pin dikonfigurasikan sebagai masukan maka nilai impedansinya tinggi (beberapa MΩ), sebaliknya jika dikonfigurasikan sebagai keluaran maka impedansinya akan rendah dan dapat difungsikan untuk menyerap maupun memberikan arus hingga sekitar 25mA. Dari dua karakter ini dapat diambil simpulan bahwa pin‐pin dalam setiap port mikrokontroler dapat digunakan sekaligus untuk mengendalikan sejumlah LED secara komplementer, hanya saja pin yang terhubung dengan LED yang akan diaktifkan harus dikonfigurasikan sebagai keluaran dan pin lain yang terhbung dengan LED yang dinonaktifkan harus dikonfigurasikan sebagai masukan. Untuk lebih jelasnya, berikut ini adalah contoh multipleks LED secara komplementer
Berikut ini adalah table konfigurasi untuk menyalakan setiap LED Pin A
LED yang
Pin B
Pin C
dinyalakan
Konfigurasi
Logika
Konfigurasi
Logika
LED 1
Output
0
Output
1
Input
LED 2
Output
1
Output
0
Input
Konfigurasi
Logika
LED 3
Input
Output
0
Output
1
LED 4
Input
Output
1
Output
0
LED 5
Output
0
Input
Output
1
LED 6
Output
1
Input
Output
0
[ END OF FILE ] Sept 20 2007
8