BAB III RANCANG BANGUN SISTEM KARAKTERISASI LED
3.1. Rancang Bangun Perangkat Keras Rancangan sistem karakterisasi LED diperlihatkan pada blok diagram Gambar 3.1. Sistem ini terdiri dari komputer, antarmuka RS232, mikrokontroler AT89S52, digital to analog (DAC) MCP4921, rangkaian penguat menggunakan operational amplifier (op-amp), light emitting diode (LED) sebagai divais yang akan dikarakterisasi, rangkaian pengubah arus ke tegangan (I to V converter), analog to digital converter (ADC) ADS7822 dan display LCD. Komputer berfungsi sebagai kontrol primer yang mengendalikan sistem secara keseluruhan sekaligus pengolah dan penyimpan data hasil pengukuran. Komunikasi antara komputer dengan mikrokontroler
menggunakan
sistem
antarmuka
serial,
sehingga
untuk
menyesuaikan level tegangan antara komputer dan mikrokontroler diperlukan RS232. Mikrokontroler berfungsi mengendalikan sistem pengukuran sesuai perintah komputer. Mikrokontroler mengatur nilai tegangan yang dikeluarkan DAC, mengolah data hasil konversi ADC dan mengirimkan hasil pengukuran ke komputer. DAC digunakan untuk mengubah data digital yang diberikan oleh mikrokontroler
menjadi
tegangan.
Rangkaian
penguat
digunakan
untuk
memperkuat tegangan yang dikeluarkan DAC. DAC dan rangkaian penguat berfungsi sebagai sumber tegangan yang dapat diatur nilai keluarannya (programmable voltage source).
19
LED yang akan dikarakterisasi, dihubung seri antara sumber tegangan dan rangkaian pengubah arus ke tegangan. Rangkaian pengubah arus ke tegangan berguna untuk mengukur arus dan mengubahnya menjadi nilai tegangan. ADC mengubah data tegangan hasil pengukuran menjadi data digital untuk kemudian dikirim ke mikrokontroler. LCD akan menampilkan data pengukuran arus dan tegangan dari divais yang diukur.
Gambar 3.1 Diagram blok sistem karakterisasi berbasis mikrokontroler
3.1.1. Mikrokontroler Mikrokontroler yang dipilih adalah AT89S52 [12] yang merupakan keluarga mikokontroler MCS51. Gambar 3.2 memperlihatkan konfigurasi pin pada AT89S52.
20
Gambar 3.2 Konfigurasi pin mikrokontroler AT89S52
Deskripsi pin AT89S52 adalah sebagai berikut. VCC (pin 40) adalah Suplai tegangan yang diberikan ke mikrokontroler dan GND (pin 20) adalah Ground. Logika ‘1’ berarti pin dihubungkan ke VCC sedangkan keadaan logika ‘0’ berarti pin dihubungkan ke GND. Reset (pin 9) akan mereset mikrokontroler jika diberi logika ‘1’. Pin Adress Latch Enable, ALE (pin 30) adalah pulsa output untuk mengancing (latching) byte rendah alamat selama pengaksesan memori eksternal. Pin ini juga memogram input pulsa (PROG) selama pemrograman flash. Program Store Enable, PSEN (pin 29), merupakan sinyal baca untuk memori program eksternal. External Acces Enable, EA (pin 31), pin ini diberi logika ‘0’ jika mengakses memori internal dan ‘1’ jika mengakses memori eksternal. XTAL1 (pin 19) dan XTAL2 (pin 18) berfungsi untuk rangkaian osilator eksternal.
21
Mikrokontroler ini juga dilengkapi dengan empat buah port untuk masukan/ keluaran, yaitu Port 0, Port 1, Port 2 dan Port 3 [13].
3.1.2. Antarmuka mikrokontroler dengan komputer Mikrokontroler bekerja dengan level tegangan 0 V sampai 5 V, sedangkan komputer bekerja dengan level tegangan antara -15 V sampai 15 V. Mikrokontroler mendefinisikan logika ‘0’ sebagai tegangan sekitar 0 V dan logika ‘1’ sebagai tegangan 5 V. Komputer mendefinisikan tegangan -15 V sebagai logika ‘0’ dan tegangan 15 V sebagai logika ‘1’. Untuk mengkonversi level tegangan mikrokontroler ke komputer dan sebaliknya digunakan IC MAX232 [14]. Pin TXD (pin 11) pada mikrokontroler dihubungkan ke pin T2IN (pin 10) pada MAX232 dan pin RXD (pin 11) dihubungkan ke pin R2OUT (pin 9) (Gambar 3.3).
Gambar 3.3 Antarmuka mikrokontroler dengan komputer menggunakan RS232.
22
3.1.3. Antarmuka mikrokontroler dengan DAC MCP4921 Gambar 3.4 dan Tabel 3.1 memperlihatkan konfigurasi dan deskripsi pin MCP4921 [15]. MCP4921 merupakan DAC dengan resolusi 12 bit dan mode komunikasi yang digunakan adalah SPI (Serial Peripheral Interface).
Gambar 3.4 Konfigurasi MCP4921. Tabel 3.1. Deskripsi fungsi pin MCP4921.
Pin MCP4921 1 2 3 4
Simbol VDD CS SCK SDI
5
LDAC
6 7 8
VREFA VSS VOUT
Fungsi Input catu daya positif Input chip select Input clock serial Input data serial Input sinkronisasi yang digunakan untuk mentransfer setting DAC dari latch serial ke latch output Input tegangan DACA Ground Output DAC
Diperlukan empat pin pada mikrokontroler untuk dihubungkan ke pin MCP4921.
Pin CS (Chip Select) MCP4921 dihubungkan ke pin P2.3, pin SCK dihubungkan ke pin P2.2, pin SDI dihubungkan dengan pin P2.1, dan pin LDAC ke pin P2.3 (Gambar 3.5). Pin CS berfungsi untuk membolehkan clock dan data serial. Pin SCK (Serial Clock) digunakan untuk mengatur clock serial. Pin SDI (Serial Data Input) untuk menerima perintah dan data dari mikrokontroler. Tegangan referensi 4,096 Volt diberikan ke MCP4921 menggunakan LM336 [16].
23
Gambar 3.5. Antarmuka mikrokontroler dengan MCP4921.
Pengiriman data serial dari mikrokontroler ke MCP4921 harus memenuhi diagram waktu (timing diagram) seperti terlihat pada Gambar 3.6. SDI terdiri dari 16 bit dengan 4 bit (bit 15 - bit 12) untuk bit konfigurasi dan 12 bit data (bit 11 - bit 0). Data dapat diterima ketika clock (SCK) yang terjadi merupakan transisi naik. Selama proses pengiriman data melalui pin SDI dilakukan, pin CS harus berlogika low sedangkan pin LDAC berlogika high. Setelah pengiriman data selesai, bit CS harus diset berlogika high.
24
Gambar 3.6. Timing diagram untuk menulis perintah pada MCP4921.
Bit konfigurasi SDI dilakukan sebagai berikut. Bit 15 merupakan bit select DACA atau DACB. Logika ‘1’ berarti perintah tulis ke DACB, logika ‘0’ berarti perintah tulis ke DACA. DACB hanya terdapat pada DAC seri MCP4922. MCP4921 hanya menggunakan DACA. Oleh karena itu bit 15 ini diset ‘0’. Bit 14 adalah bit kontrol untuk buffer input VREF. Logika ‘1’ berarti menggunakan buffer, logika ‘0’ berarti tidak menggunakan buffer (unbuffer). Mode unbuffer digunakan karena mode in menyediakan rentang input dari 0V sampai VDD. Oleh karena itu bit ini diset ‘0’. Bit 13 adalah bit select untuk penguatan. Logika ‘1’ berarti penguatan yang digunakan oleh DAC adalah 1x, sehingga Vout = 1x (VREF * D / 4096 ) , D adalah input digital. Jika diberi logika ‘0’ penguatan yang digunakan adalah 2x, sehingga
Vout = 2x (VREF * D / 4096 ) . Penguatan yang dipilih adalah 1, sehingga bit ini diset 1. Bit 12 adalah bit kontrol untuk power down output. Logika ‘1’ berarti bit kontrol power down output digunakan, logika ‘0’ berarti buffer output di-disable, sehingga output berimpedansi tinggi. Bit kontrol power down digunakan, sehingga bit ini diset ‘1’. Bit data terdiri dari 12 bit yang mengeset nilai output DAC antara 0 sampai 4095.
25
Tegangan keluaran pada pin 8 MCP4921 diberikan oleh persamaan VOUT =
VREF GD 2n
dimana VREF adalah tegangan referensi yang diberikan pada pin 6, G adalah penguatan yang dipilih (1x atau 2x), D adalah nilai input digital dan n menyatakan resolusi. Dengan memberi tegangan referensi 4,096 Volt dan penguatan yang dipilih maka 1x, maka satu nilai digital (1 LSB) setara dengan 1 mV.
3.1.4. Antarmuka mikrokontroler dengan ADC ADS7822 Gambar 3.7 dan Tabel 3.2 memperlihatkan konfigurasi bit ADS7822 [17]. VREF dan VCC adalah adalah tegangan referensi suplai tegangan yang diberikan ke ADS7822, masing-masing maksimum 3.6 V. +In dan -In berfungsi untuk masukan positif dan masukan negatif. Pada penelitian ini hanya input tunggal yang digunakan dengan -In dihubungkan ke ground. Tiga buah pin ADS7822 dihubungkan ke mikrokontroler. Pin DCLOCK dihubungkan ke P2.4, pin DOUT dihubungkan ke P2.5, dan pin CS dihubungkan ke P2.6 (Gambar 3.8).
Gambar 3.7 Konfigurasi ADS7822.
26
Tabel 3.2 Deskripsi fungsi pin ADS7822.
Pin ADS7822 1 2 3 4 5 6 7 8
Simbol VREF +In -In GND CS/SHDN DOUT DCLOCK VCC
Fungsi Tegangan referensi yang diberikan ke ADS7822, maks 3.6 Volt Input positif Input negative Ground Input chip select Data output Input clock Suplai tegangan, maksimum 3,6 Volt
Gambar 3.8 Antarmuka mikrokontroler dengan ADS7822.
Seperti halnya MCP4921, ADS7822 berkomunikasi juga menggunakan Serial Peripheral Interface (SPI). Timing diagram ADS7822 diperlihatkan pada Gambar 3.9. Konversi hanya dapat dilakukan jika CS berlogika ‘0’. DOUT membutuhkan sekitar 3 siklus mesin untuk memulai konversi dan mengirim data hasil konversi ke mikrokontroler.
27
Gambar 3.9 Timing diagram ADS7822.
3.1.5. Rangkaian I to V Converter Rangkaian I to V converter dibuat dengan menggunakan sebuah op-amp dan tiga buah resistor, R4, Rx dan RL seperti diperlihatkan pada Gambar 3.10. Op-amp yang digunakan adalah OP07 [18]. Tegangan keluaran I to V converter akan diberikan ke ADS7822. ADS7822 yang dirancang untuk mampu menerima tegangan hingga 3.3 Volt. Arus yang dibaca dari divais yang diukur (LED) dirancang maksimum 100 mA. Oleh karena itu ketiga resistor ini didisain sedemikian rupa sehingga hambatan penggantinya setara dengan 3,3 Volt / 100 mA = 33 Ω. Agar tidak terjadi jatuh tegangan maka RL yang digunakan haruslah bernilai cukup besar (Gambar 3.10). Gambar 3.11 memperlihatkan foto perangkat keras yang dibuat.
28
Gambar 3.10. Rancangan rangkaian I to V converter.
Gambar 3.11. Foto perangkat keras yang dibuat.
29
3.2. Rancang Bangun Perangkat Lunak Perangkat lunak yang digunakan untuk mikrokontroler ditulis dengan bahasa pemrograman C [19], sedangkan untuk program komputer digunakan bahasa pemrograman Delphi 7.0. Rancangan program mikrokontroler diperlihatkan oleh diagram alir pada Gambar 3.12. Program akan dimulai dengan inisialisasi terlebih dahulu. Inisialisasi ini mencakup inisialisasi serial, LCD dan parameter-parameter perhitungan. Setelah itu mikrokontroler akan menunggu data tegangan dari komputer. Setelah diterima, data tersebut akan dikirim ke DAC yang mengubahnya menjadi tegangan analog. Tegangan analog ini kemudian diberikan ke LED yang akan dikarakterisasi. Selanjutnya mikrokontroler akan membaca data digital yang telah dikonversi oleh ADC dari arus yang terbaca oleh LED. Mikrokontroler kemudian menampilkan data arus dan tegangan pengukuran ke display LCD.
30
Gambar 3.12. Diagram alir program mikrokontroler
Rancangan program komputer diperlihatkan pada Gambar 3.13. Setelah melakukan inisialisasi, program akan meminta data untuk tegangan minimum, tegangan maksimum dan voltage step. Setelah itu komputer akan melakukan kalibrasi DAC dan mengirimkan data paket ke mikrokontroler. Oleh mikrokontroler data ini diolah dan kemudian dikirim lagi ke komputer. Ketika data ini dikirim komputer akan mengecek apakah ada data paket yang diterima, jika ada program akan membaca data arus dan melakukan kalibrasi ADC. Arus yang dibaca akan diseleksi, apakah melebihi batas arus yang diijinkan. Jika
31
melebihi program akan mengirim data paket terakhir dan program akan berakhir. Jika arus tidak melebihi batas maksimum, program akan mengecek apakah tegangan yang terbaca sudah melebihi batas tegangan maksimum. Jika sudah melebihi, program akan berakhir setelah mengirim data paket terlebih dahulu. Jika belum melebihi tegangan maksimum, program akan menampilkan dan menyimpan data pengukuran. Setelah itu nilai tegangan akan dinaikkan sesuai dengan data voltage step yang diberikan hingga kondisi arus maksimum tercapai atau tegangan sudah melebihi tegangan maksimum yang diberikan. Source code program mikokontroler dan komputer dapat dilihat pada lampiran program mikrokontroler dan komputer (hal. 62).
32
Gambar 3.13 Diagram alir program komputer
33