BAB 2 LANDASAN TEORI 2.1 Pengenalan Mikrokontroler Mikrokontroler sebagai teknologi mikroelektronik terbaru yaitu teknologi semikonduktor kehadiranya sangat membantu perkembangan dunia elektronika. Dengan arsitektur yang praktis dan harganya yang relatif murah tetapi memuat banyak kandungan transistor yang terintegrasi, sehingga mendukung dibuatnya rangkaian elektronika yang lebih portable. Mikrokontroler pertama kali diproduksi tahun 1976 dengan INTEL yang produksinya tipe 8747 (MCS-48) yang di dalamnya terdapat 1 Kbyte EPROM, 64 Byte RAM, 27 Input Output dan 8 bit timer. Mikrokontroler merupakam sebuah single chip yang di dalamnya telah dilengkapi dengan CPU (Central Prosessing Unit), RAM (Random Acces Memory), ROM (Read Only Memory), input dan output, Timer/Counter, Serial COM Port yang secara spesifik digunakan untuk aplikasi-aplikasi kontrol dan bukan untuk aplikasi-aplikasi serbaguna Mikrokontroler umumnya bekerja pada frekuensi 4 MHz - 40 MHz. Universitas Sumatera Utara 7 Read Only Memory (ROM) yang isinya tidak berubah meskipun IC kehilangan catu daya. Sesuai dangan keperluannya, dalam susunan MCS-51 memori penyimpanan progam ini dinamakan sebagai memori progam. Random Access Memori (RAM) isinya akan sirna begitu IC kehilangan catu daya, dipakai untuk menyimpan data pada saat progam bekerja. RAM yang dipakai untuk menyimpan data ini disebut sebagai memori data. Mikrokontroler biasanya dilengkapi dengan UART (Universal Asynchoronous Receiver Transmitter) yaitu port serial untuk komunikasi serial asinkron, USART (Universal Asynchoronous/Asynchoronous Receiver Transmitter) yaitu port serial yang digunakan untuk komunikasi serial asinkron dan sinkron yang kecepatannya 16 kali lebih cepat dari UART, SPI (Serial Port Interface), SCI (serial Communication Interface), BUS I2 C (Inter-Intergrated Circuit BUS) merupakan interface serial 2 jalur yang terdapat 8 bit, dan CAN (Control Area Network) dan J1850 merupakan standard pengkabelan SAE (Society of Automotic Engineers). Mikrokontroler bisa dikelompokkan dalam satu keluarga, masing-masing mikrokontroler memiliki spesifikasi tersendiri namun cocok dalam pemrogramannya, contoh-contoh keluarga mikrokontroler adalah keluarga MCS-51, keluarga MC68HC05, keluarga MC68H11, keluarga AVR, keluarga PIC 8, mikrokontroller AT89S51 terdapat dalam keluarga MCS-51, dibandingkan mikrokontroler yang lain seperti AT89C51, AT89C52, dan AT89S52, bahasa-bahasa pemrogramannya berbeda-beda, dan memori Universitas Sumatera Utara 8 atau kapasitasnnya juga lebih kecil, sedangkan mikrokontroler AT89S51 menggunakan bahasa asembly yang mudah dalam pemrogramannya, kapasitasnya juga lebih besar, dan yang menjadi dasar pemilihan mikrokontroler ini karena harganya relatif terjangkau, satu hal lagi mayoritas robot-robot yang dipertandingkan dalam KRI dan KRCI 2005 menggunakan mikrokontroler jenis ini. Maka permasalahan yang akan dibahas adalah cara pengaplikasian IC mikrokontroler AT89S51 pada robot sesuai dengan pengaplikasiannya.. Aplikasi mikrokontroler lainnya adalah dalam bidang pengukuran jarak jauh atau yang dikenal dengan sistem telemetri. Misalnya pengukuran disuatu tempat yang membahayakan manusia, maka akan lebih nyaman jika dipasang suatu sistem pengukuran yang bisa mengirimkan data lewat pemancar dan diterima oleh stasiun pengamatan dari jarak yang cukup aman dari sumbernya. Sistem pengukuran jarak jauh ini jelas membutuhkan suatu sistem akuisisi data sekaligus sistem pengiriman data secara serial (melalui pemancar), yang semuanya itu bisa diperoleh dari mikrokontroler yang digunakan. 2.1.1 Arsitektur Mikrokontroler AT89S51 Setiap mikrokontroler memiliki arsitektur yang berbeda. Tetapi meskipun demikian memiliki keseragaman dalam pokok-pokok kerjanya. Universitas Sumatera Utara 9 Pada dasarnya arsitektur mikrokontroler dapat dilihat pada pengalamatan kode dan pengalamatan datanya, yaitu tipe yang menggabungkan pengalamatn kode dengan pengalamatan data, serta tipe yang memisahkan alamat kode dengan alamat datanya. Keluarga MCS-51 termasuk dalam kategori yang memisahkan alamat kode maupun datanya. Ada beberapa mode pengalamatan pada mikrokontroler: 1. Pengalamatan langsung Pengalamatan lengsung dilakukan dengan memberikan nilai ke suatu register secara langsung dengan menggunakan tada “#”. Contoh: MOV A,#20h MOV DPTR,#25h MOV R1#10h : isi akkumulator dengan bilangan 20 h : isi register DPTR dengan bilangan 25 h : isi register R1 dengan 10 h 2. Pengalamatan tak langsung Pengalamatan lengsung dilakukan untuk menunjukk ke sebuah register yang berisi alamat memori yang akan digunakan dalam operasi dengan menggunakan tada “@”. AT89S51 mempunyai sebuah register 16 bit (DPTR) yang dapat digunakan untuk melakukan pengalamatan tidak langsung. Contoh: DEC @R1 : kurangi isi RAM yang alamatnya ditunjukan oleh Register R1 Universitas Sumatera Utara 10 3. Pengalamatan kode Pengalamatan kode terjadi saat operand berfungsi sebagai alamat dari instruksi JUMP dan CALL. Contoh: ACALL Tunda Tunda Mov A,#20H Loop: DJNZ A, LOOP RET 4. Pengalamtan Bit Pengalamtan bit merupakan penunjukan alamat lokasi bit, baik yang berada di dalam RAM internal atau perangkat keras. Simbol (.) digunakan dalam operasi ini. Contoh: SETB P1.5 SETB TR1 : set bit port 1.5 aktif : set TR1 (Timer 1 aktif) Tidak seperti sistem komputer, yang mampu menangani berbagai macam program aplikasi (misalnya pengolah data, pengolah angka dan lain sebagainya), mikrokontroler hanya bisa digunakan untuk satu aplikasi tertentu saja. Perbedaan lainnya terletak pada perbandingan RAM-nya dan ROM. Pada sistem komputer perbandingan RAM dan ROMnya besar, artinya program-program pengguna disimpan dalam ruang RAM yang relatif besar, sedangkan rutin-rutin antarmuka perangkat keras disimpan dalam ruang ROM yang kecil. Sedangkan pada mikrokontroler, perbandingan ROM dan RAM-nya yang besar Universitas Sumatera Utara 11 artinya program kontrol disimpan dalam ROM (bisa Masked ROM atau Flash PEROM) yang ukurannya relatif lebih besar, sedangkan RAM digunakan sebagai tempat penyimpanan sementara, termasuk register-register yang digunakan pada mikrokontroler yang bersangkutan. 2.1.2 Konstruksi AT89S51 AT89S51 adalah mikrokontroler keluaran Atmel Coorporation, dengan 4K byte Flash programmable and erasable read only memory. Mikrokontroler ini turunan dari keluarga MCS-51, memori dengan teknologi nonvolatile memory. Memori ini digunakan untuk menyimpan instruksi berstandar kode MCS-51 sehingga memungkinkan mikrokontroler ini bekerja dalam mode operasi keping tunggal yang tidak memerlukan external memory. Berikut spesifikasi dari AT89S51: 1. Kompatibel dengan dengan mikrokontroler MCS 51 2. 8 K byte In-system Programmable (ISP) flash memori dengan kemampuan 1000 kali baca/tulis 3. 128 × 8-bit RAM internal 4. 32 jalur I/O yang dapat deprogram. 5. Dua buah 16 bit Timer/Counter 6. Enam sumber interupsi 7. Saluran Full Duplex Serial UART 8. Mode pemogramman ISP yang fleksibel (byte dan page mode) Universitas Sumatera Utara 12 Penggunaan IC AT89S51 memiliki beberapa keuntungan dan keunggulan, antara lain tingkat kendala yang tinggi, komponen hardwere eksternal yang lebih sedikit, kemudahan dalam pemrograman dan hemat dari segi biaya. IC AT89S51 memiliki program internal yang mudah untuk dihapus dan diprogram kembali secara berulangulang. Pada pesawat ini IC AT89S51 berfungsi sebagai sentral kontrol dari segala aktivitas pesawat. Mikrokontroler AT89S51 hanya memerlukan tambahan 3 kapasitor, 1 resistor dan 1 kristal serta catu daya 5 Volt. Kapasitor 10 mikro-Farad dan resistor 10 Kilo Ohm dipakai untuk membentuk rangkaian reset. Dengan adanya rangkaian reset ini AT89S51 otomatis direset begitu rangkaian menerima catu daya. Kristal dengan frekuensi maksimum 12 MHz dan kapasitor 30 piko-Farad dipakai untuk melengkapi rangkaian oscilator pembentuk clock yang menentukan kecepatan kerja mikrokontroler. Memori merupakan bagian yang sangat penting pada mikrokontroler. Jenis memori yang dipakai untuk memori program AT89S51 adalah Flash PEROM, program untuk mengendalikan mikrokontroler diisikan ke memori itu lewat bantuan alat yang dinamakan sebagai AT89S51 Flash PEROM Programmer. Sarana Input/Ouput yang disediakan cukup banyak dan bervariasi AT89S51 mempunyai 32 jalur Input/Ouput. Jalur Input/Ouput paralel dikenal sebagai Port 1 (P1.0..P1.7) dan Port 3 (P3.0..P3.5 dan P3.7). Universitas Sumatera Utara 13 AT89S51 Gambar 2.1 IC Mikrokontroler AT89S51 Deskripsi pin-pin pada mikrokontroler AT89S51 : Pin 1 sampai 8 Pin 1-8 merupakan port 1 yang menjadi saluran (bus) dua arah input/output 8 bit. Dengan internal pull-up yang dapat digunakan untuk berbagai keperluan dan dapat mengendalikan empat input TTL. Port ini juga digunakan sebagai saluran alamat pada saat pemrograman dan verifikasi. Pin 9 (RST) Merupakan masukan reset (aktif tinggi). Pulsa transisi dari rendah ke tingggi akan mereset mikrokontroler ini. Universitas Sumatera Utara 14 Pin 10 – pin 17 (Port 3) Port 3 merupakan 8 bit port I/O dua arah dengan internal pullup. Port 3 juga mempunyai fungsi pin masing-masing, yaitu sebagai berikut : Tabel 1.1 Fungsi Port 3 Mikrokontroler AT89S51 Nama pin Fungsi P3.0 (pin 10) RXD (Port input serial) P3.1 (pin 11) TXD (Port output serial) P3.2 (pin 12) INTO (interrupt 0 eksternal) P3.3 (pin 13) INT1 (interrupt 1 eksternal) P3.4 (pin 14) T0 (input eksternal timer 0) P3.5 (pin 15) T1 (input eksternal timer 1) P3.6 (pin 16) WR (menulis untuk eksternal data memori) P3.7 (pin 17) RD (untuk membaca eksternal data memori) Pin 18 dan 19 Jalur ini merupakan masukan ke penguat isolator berpenguatan tinggi. Mikrokontroler ini memiliki seluruh rangkaian osilator yang diperlukan pada chip, kecuali rangkaian kristral yang mengendalikan frekuensi osilator. Oleh karena itu, pin 18 dan 19 sangat diperlukan untuk dihubungkan dengan kristal. Selain itu, XTAL 1 juga dapat digunakan sebagai input untuk inverting osilator amplifier dan input ke rangkaian internal clock sedangkan XTAL 2 merupakan output dari inverting osilator amplifier. Universitas Sumatera Utara 15 Pin 20 (GND) Merupakan ground sumber tegangan yang diberi simbol GND. Pin 21 – pin 28 (Port 2) Port 2 berfungsi sebagai I/O biasa atau high order address, pada saat mengakes memori secara 16 bit. Pada saat mengakses memori 8 bit, port ini akan mengeluarkan isi dari P2 special function register. Port ini mempunyai internal pull up dan berfungsi sebagai input dengan memberikan logika 1. Sebagai output, port ini dapat memberikan output sink keempat buah input TTL. Pin 29 (PSEN) Progam store enable (PSEN) merupakan sinyal pengontrol untuk mengakses program memori eksternal yang masuk ke dalam saluran (bus) selama proses pemberian atau pengambilan instruksi (fetching). ALE/PROG (pin 30) Address latch Enable (ALE/PROG) merupakan penahan alamat memori eksternal (pada port 1) selama mengakses ke memori eksternal. Pin ini juga berfungsi sebagai pulsa (sinyal) input program (PROG) selama proses pemograman. Pin 31 (EA) Pada kondisi low, pin ini akan berfungsi sebagai EA yaitu mikrokontroler akan menjalankan progam yang ada pada memori eksternal setelah sistem direset. Jika kondisi Universitas Sumatera Utara 16 high, pin ini akan berfungsi untuk menjalankan progam yang ada pada memori internal. Pada saat flash progamming, pin ini akan mendapat tegangan 12 Volt. Pin 39-Pin 32 (Port 0) Port 0 dapat berfungsi sebagai I/O biasa, low order multiplex address/data ataupun penerima kode byte pada saat flash progamming Pada fungsi sebagai I/O biasa port ini dapat memberikan output sink ke delapan buah TTL input atau dapat diubah sebagai input dengan memberikan logika 1 pada port tersebut. Pada fungsi sebagai low order multiplex address/data, port ini akan mempunyai internal pull up. Pada saat flash progamming diperlukan eksternal pull up, terutama pada saat verifikasi program. Pin 40 (VCC) Merupakan sumber tegangan positif yang diberi simbol Vcc. 2.2 Komponen Pendukung 2.2.1 Bahasa Assembly MCS-51 Bahasa yang digunakan untuk memprogram IC mikrokontroler AT89S51 adalah bahasa assembly untuk MCS-51. MCS-51 merupakan salah satu keluaran mikrokontroler yang menggunakan teknologi CMOS. Keluarga MCS-51 mempunyai berbagai macam yang dikelompokan antara lain: Universitas Sumatera Utara 17 a. Tegangan Kerja Tegangan kerja AT89LV55 buatan Atmel dapat beroperasi pada tegangan 2,7 Volt sampai dengan 6 Volt. Dan seri P89LPC9XX buatan Philips dapat beroperasi pada tegangan 2,4 Volt sampai 3,6 Volt. b. Memori Beberapa time memori pada MCS-51: 1. One Time Programmable (OTP) / Mask ROM (Read Only Memory) 2. MTP Flash/EEPROM 3. Multiple Time Programmble (MTP) Ultra-Violet Erasable Programmble ROM (UVEPROM). c. Fungsi Khusus Beberapa fungsi pada MCS-51 antara lain: 1. C8051F20 buatan Cygnal memiliki ADC (Analog to Digital Converter) hingga 12 bit 32 channel. 2. ATMega8535 ADC 8 chanel 10 bit. Fitur ini terdapat pada kit DT51 AVR low cost. 3. P87LPC768 buatan Philips memiliki 8 keyboard interrupt, power on reset dan Brown out detect. Universitas Sumatera Utara 18 d. Timer/Counter Timer/counter yang dimiliki MCS-51 dapat mencapai 5 buah seperti P89LPC932 dari Philips. Tipe yang lain memiliki fasitas Pulse Width Modulation (PWM), Programmable Counter Array (PCA) dan Wacthdog Timer. Angka 51 merupakan jumlah instruksi pada bahasa ini hanya ada 51 instruksi. Dari 51 instruksi, yang sering digunakan orang hanya 10 instruksi. Instruksi-instruksi tersebut antara lain : 1. Instruksi MOV Perintah ini merupakan perintah untuk mengisikan nilai ke alamat atau register tertentu. Pengisian nilai dapat secara langsung atau tidak langsung. Contoh pengisian nilai secara langsung MOV R0,#20h Perintah di atas berarti : isikan nilai 20 Heksadesimal ke register 0 (R0). Tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah nilai. Contoh pengisian nilai secara tidak langsung: MOV 20h,#80h ........... ............ MOV R0,20h Perintah di atas berarti : isikan nilai yang terdapat pada alamat 20 Heksadesimal ke register 0 (R0). Universitas Sumatera Utara 19 Tanpa tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah alamat. 2. Instruksi DJNZ Decreament Jump If Not Zero (DJNZ) ini merupakan perintah untuk mengurangi nilai register tertentu dengan 1 dan lompat jika hasil pengurangannya belum nol. Contoh : MOV R0,#80h Loop: ........... ............ DJNZ R0,Loop ............ R0 - 1, jika belum 0 lompat ke loop, jika R0 = 0 maka program akan meneruskan ke perintah pada baris berikutnya. 3. Instruksi ACALL Instruksi ini berfungsi untuk memanggil suatu rutin tertentu. Contoh : ............. ACALL TUNDA ............. TUNDA: ................. 4. Instruksi RET Instruksi RETURN (RET) ini merupakan perintah untuk kembali ke rutin pemanggil setelah instruksi ACALL dilaksanakan. Contoh: ACALL TUNDA Universitas Sumatera Utara 20 ............. TUNDA: ................. RET 5. Instruksi JMP (Jump) Instruksi ini merupakan perintah untuk lompat ke alamat tertentu. Contoh: Loop: ................. .............. JMP Loop 6. Instruksi JB (Jump if bit) Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang dimaksud berlogika high (1). Contoh: Loop: JB P1.0,Loop ................. 7. Instruksi JNB (Jump if Not bit) Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang dimaksud berlogika Low (0). Contoh: Loop: JNB P1.0,Loop ................. Universitas Sumatera Utara 21 8. Instruksi CJNE (Compare Jump If Not Equal) Instruksi ini berfungsi untuk membandingkan nilai dalam suatu register dengan suatu nilai tertentu. Contoh: Loop: ................ CJNE R0,#20h,Loop ................ Jika nilai R0 tidak sama dengan 20h, maka program akan lompat ke rutin Loop. Jika nilai R0 sama dengan 20h, maka program akan melanjutkan instruksi selanjutnya. 9. Instruksi DEC (Decreament) Instruksi ini merupakan perintah untuk mengurangi nilai register yang dimaksud dengan 1. Contoh: MOV R0,#20h ................ DEC R0 ............. R0 = 20h R0 = R0 – 1 10. Instruksi INC (Increament) Instruksi ini merupakan perintah untuk menambahkan nilai register yang dimaksud dengan 1. Contoh: MOV R0,#20h ................ INC R0 ............. R0 = 20h R0 = R0 + 1 Universitas Sumatera Utara 22 2.2.2. Software 8051 Editor, Assembler, Simulator (IDE) Mikrokontroler 8051 merupakan keluarga mikrontroler MCS-51. Yang termasuk dalam keluarga MCS-51 adalah mikrokontroler 8031 (versi 8051 tanpa EPROM). 8751 dan 8052. Keluarga MCS-51 memiliki XPU, RAM, counter/timer, port pararel dan port serial yang sama. Mikrokontroler 8051 diperkenalkan pertama kali oleh Intel Crop, mikrokontroler ini terdiri dari kontroler 8 bit yang mampu mengakses 64 Kbyte dan 64 Interupt control Timer 1 128 Byte RAM Timer 0 4 I/O Port Serial port Counter Input Kbyte data memori eksternal. CPU OSC BUS Control P0 P1 P2 P3 Addres data Gambar 2.2 diagram blok 8051 Universitas Sumatera Utara 23 Instruksi-instruksi yang merupakan bahasa assembly tersebut dituliskan pada sebuah editor, yaitu 8051 Editor, Assembler, Simulator (IDE). Tampilannya seperti di bawah ini: Gambar 2.3 8051 Editor, Assembler, Simulator (IDE) Setelah program selesai ditulis, kemudian di-save dan kemudian di-Assemble (dicompile). Pada saat di-assemble akan tampil pesan peringatan dan kesalahan. Jika masih ada kesalahan atau peringatan, itu berarti ada kesalahan dalam penulisan perintah atau ada nama subrutin yang sama, sehingga harus diperbaiki terlebih dahulu sampai tidak ada pesan kesalahan lagi. Universitas Sumatera Utara 24 Software 8051IDE ini berfungsi untuk merubah program yang kita tuliskan ke dalam bilangan heksadesimal, proses perubahan ini terjadi pada saat pengkompiler. Komplier adalah penerjemah untuk penmograman, prinsip kerjanya adalah dengan cara menerjemahkan (misalnya pada PC) langsung ke bahasa mesin. Bilangan heksadesimal inilah yang akan dikirimkan ke mikrokontroler. 2.2.3. Software Downloader Untuk mengirimkan bilangan-bilangan heksadesimal ini ke mikrokontroller digunakan software ISP- Flash Programmer 3.0a yang dapat didownload dari internet. Tampilannya seperti gambar berikut ini: Gambar 2.4 ISP- Flash Programmer 3.a Universitas Sumatera Utara 25 Cara menggunakannya adalah dengan meng-klik Open File untuk mengambil file heksadesimal dari hasil kompilasi 8051 IDE, kemudian klik Write untuk mengisikan hasil kompilasi tersebut ke mikrokontroler. 2.2.4 Mode Flash PEROM Pada mode ini aplikasi akan didownload ke dalam Flash PEROM dari AT89S51 dan DST-51. Gambar 2.5 Mode Flash PEROM Keuntungan Mode Flash PEROM adalah: 1. Pada mode ini pengguna cukup menggunakan Paket DST-51/2 Economic Version di mana Modul memori expanded tidak diperlukan 2. lebih ekonomis karena tidak menggunakan memori EEPROM eksternal 3. RAM Internal AT89S51 masih bebas karena tidak digunakan pada DST-51/2 Universitas Sumatera Utara 26 4. program aplikasi ada pada Flash PEROM sehingga setelah selesai pada perancangan program, IC yang telah terisi dapat langsung digunakan pada aplikasi secara single chip tanpa mengubah alamat program Pengisiam program pada mode ini menggunakan teknik ISP (In System Programming) sehingga dibutuhkan kabel ISP sebagai peranggkat Programernya. 2.3 Motor DC Penggerak Motor Motor DC akan berputar searah/berlawanan arah dengan jarum jam jika salah satu kutubnya diberi tegangan positif dan kutub yang lainnya diberi tegangan negatif atau ground. Dan motor DC akan berputar kearah sebaliknya jika polaritasnya dibalik. Dengan sifat yang demikian maka dibutuhkan suatu rangkaian yang dapat membalikkan polaritas yang diberikan ke motor DC tersebut, sehingga perputaran motor DC dapat dikendalikan oleh rangkaian tersebut. Motor DC jarang digunakan pada aplikasi industri umum karena semua sistem utility listrik dilengkapi dengan perkakas arus bolak balik, meskipun demikian, pada aplikasi khusus adalah menguntungkan jika mengubah arus bolak balik menjadi arus searah digunakan dimana kontrol torsi dan kecepatan dengan rentang yang lebar diperluikan untuk memenuhi kebutuhan aplikasi. Universitas Sumatera Utara 27 Motor DC umum yang menggunakan sikat (brush), yang menggunakan lilitan pada rotor dan menggunkan magnet tetap pada sisi stator, pada dasarnya dapat dianggap sebagai suatu beban yang dapat dihubungkan langsung ke rangkaian switching arus DC. Oleh karena itu, pemilihan ruang tepat cukup diperoleh dengan memperhatikan besar kebutuhan arus untuk memutar motor DC secara nominal. Lilitan pada motor DC dapat diidentikkan dengan lilitan pada kumparan relay sehingga rangkaian drivernya relative sama. Tujuan motor DC adalah untuk menghasilkan gaya yang menggerakkan (torsi). Pada beberapa kasus sering diperlukan arah putaran motor DC yang berubahubah. Prinsip dasar untuk mengubah arah perputarannya adalah dengan membalik polaritas pada catudaya tegangannya. 2.4 Photodioda Photodioda adalah dioda sambungan p-n yang secara khusus dirancang untuk mendeteksi cahaya dan biasanya terdapat lapisan intrinsik antara lapisan n dan p. Piranti yang memiliki lapisan intrinsik disebut p-i-n atau PIN potodioda. Energi cahayanya lewat melalui lensa yang mengekspos sambungan. Photodioda dirancang beroperasi pada mode bias-balik. Arus bocor bias-balik meningkat dengan peningkatan level cahaya. Harga arus umumnya adalah dalam rentang Universitas Sumatera Utara 28 mikroampere. Photodioda mempunyai waktu respon yang cepat terhadap berbagai cahaya. Cahaya diserap di daerah pengambungan atau daerah intrinsik menimbulkan pasangan elektron-hole, kebanyakan pasangan tersebut menghasilkan arus yang berasal dari cahaya. Yang menyebabkan tahanan reverse photodioda ini berubah-ubah karena energi cahaya, maka untuk merangkainya dapat disusun dengan bias balik seperti gambar di bawah ini: R Photodioda E Gambar 2. 6 Cara Pemberian Bias Balik pada Photodioda Seperti pada gambar di atas dalam keadaan gelap tahanan reverse dioda sangat besar sehingga arus tidak mengalir. Akan tetapi bila cahaya jatuh pada dioda semakin kuat maka tahanan reversenya akan menurun dan arus reversenya akan bertambah besar. Photodioda dalam keadaan reverse bias dapat dianggap sebagai sumber arus yang besarnya diatur oleh intensitas cahaya yang menyinarinya. Universitas Sumatera Utara