16
BAB II
TINJAUAN PUSTAKA
2.1 KWH Meter
2.1.1 KWH Meter Analog
Kwh meter adalah alat yang digunakan oleh pihak PLN untuk menghitung besar pemakaian daya konsumen. Alat ini sangat umum dijumpai di masyarakat. Bagian utama dari sebuah KWH meter adalah kumparan tegangan, kumparan arus, piringan aluminium, magnet tetap yang tugasnya menetralkan piringan aluminium dari induksi medan magnet dan gear mekanik yang mencatat jumlah perputaran piringan aluminium.
Alat ini bekerja menggunakan metode induksi medan magnet dimana medan magnet tersebut menggerakkan piringan yang terbuat dari aluminium. Putaran piringan tersebut akan menggerakkan counter digit sebagai tampilan jumlah KWH nya.
Gambar 2.1 KWH Meter Analog
Universitas Sumatera Utara
17
a. Medan Magnet Pada KWH Meter
b. Model Fisik KWH Meter
Gambar 2.2 KWH Meter Listrik
Gambar 2.2.a mengambarkan kepada kita bagaimana medan magnet memutarkan piringan alumunium. Arus listrik yang melalui kumparan arus mengalir sesuai dengan perubahan arus terhadap waktu. Hal ini menimbulkan adanya medan di permukaan kawat tembaga pada koil kumparan arus. Kumparan tegangan membantu mengarahkan medan magnet agar menerpa permukaan alumunium sehingga terjadi suatu gesekan antara piringan alumunium dengan medan magnet disekelilingnya. Dengan demikian maka piringan tersebut mulai berputar dan kecepatan putarnya dipengaruhi oleh besar kecilnya arus listrik yang melalui kumparan arus.
Gambar 2.2.b merupakan koneksi KWH Meter dimana ada empat buah terminal yang terdiri dari dua buah terminal masukan dari jala – jala listrik PLN dan dua terminal lainnya merupkan terminal keluaran yang akan menyuplai tenaga listrik ke rumah.
Gambar 2.3 Skema Hubungan Kumparan Pada KWH Meter
Universitas Sumatera Utara
18
Dua terminal masukan dihubungkan ke kumparan tegangan secara parallel dan antara terminal masukan dan keluaran dihubungkan ke kumparan arus. Untuk lebih jelasnya dapat dilihat pada Gambar 2.3.
2.1.1.1 Prinsip Kerja KWH Meter
Berikut diberikan gambar KWH meter analog beserta gambar prinsip kerja dari KWH meter tersebut apabila ditinjau dari segi fisika.
Dari gambar 2.4 di bawah dapat dijelaskan bahwa arus beban I menghasilkan fluks bolakbalik Φc, yang melewati piringan aluminium dan menginduksinya, sehingga menimbulkan tegangan dan eddy current. Kumparan tegangan Bp juga mengasilkan fluks bolak-balik Φp yang memintas arus If. Karena itu piringan mendapat gaya, dan resultan dari torsi membuat piringan berputar.
Gambar 2.4 Prinsip Dasar KWH Meter
Torsi ini sebanding dengan fluks Φp dan arus IF serta harga cosinus dari sudut antaranya. Karena Φp dan IF sebanding dengan tegangan E dan arus beban I, maka torsi motor sebanding dengan EI cos θ, yaitu daya aktif yang diberikan ke beban. Karena itu kecepatan putaran piringan sebanding dengan daya aktif yang terpakai. Semakin besar daya yang terpakai, kecepatan piringan semakin besar, demikian pula sebaliknya. Secara umum perhitungan untuk daya listrik dapat di bedakan menjadi tiga macam, yaitu :
Universitas Sumatera Utara
19
Daya kompleks S(VA) = V.I Daya reaktif Q(VAR) = V.I sin φ Daya aktif P(Watt) = V.I cos φ ……………………………………….…(2.1)
Hubungan dari ketiga daya diatas dapat dituliskan dengan menggunakan rumus sebagai berikut :
S P2 Q2 S (VI ) 2 . (sin 2 cos2 )
S V .I
…………………………………………………………………………(2.2)
Dari ketiga daya diatas, yang terukur pada KWH meter adalah daya aktif, yang dinyatakan dengan satuan Watt.
2.1.1.2 Perhitungan Biaya KWH Meter
KWH Meter berarti Kilo Watt Hour Meter dan kalau diartikan menjadi n ribu watt dalam satu jamnya. Jika membeli sebuah KWH Meter maka akan tercantum X putaran per KWH, artinya untuk mencapai 1 KWH dibutuhkan putaran sebanyak x kali putaran dalam setiap jamnya. Contohnya jika 900 putaran per KWH maka harus ada 900 putaran setiap jamnya untuk dikatakan sebesar satu KWH. Jumlah KWH itu secara kumulatif dihitung dan pada akhir bulan dicatat oleh petugas besarnya pemakaian lalu dikalikan dengan tarif dasar listrik atau TDL ditambah dengan biaya abodemen dan pajak menghasilkan jumlah tagihan yang harus dibayarkan setiap bulannya.
2.1.2 KWH Meter Prabayar PLN
Kwh meter pbrabayar ini dirancang denngan menggunakan kwh meter elektrik yang baru. Sistem pembayaran atau pengisian rekening listrk adalah dengan menggunakan aplikasi chip card. Aplikasi ini sangat memudahkan masyarakat dan PLN dalam hal proses pengisian rekening listrik yang efektif. Chip card adalah suatu jenis kartu alat
Universitas Sumatera Utara
20
pembayaran
yang
semakin
populer
seiring
dengan
kemajuan
teknologi
mikroelektronika serta semakin meningkatnya tuntutan masyarakat terhadap alat pembayaran yang praktis. Kehadiran chip card tidak dapat dihindari dimana penggunaannya semakin luas baik volume maupun lingkup aplikasinya. Salah satu kemungkinan aplikasi chip card adalah sebagai alat bayar konsumsi energi listrik.
Beberapa keuntungan yang dapat diperoleh oleh Pengelola Gedung dari penggunaan KWh meter pra-bayar di antaranya adalah: 1. Mendapatkan uang kas lebih awal sebelum listrik diproduksi dan digunakan, sehingga dapat menambah likuiditas perusahaan ini. 2. Pengendalian transaksi lebih mudah sehingga mengurangi kemungkinan tagihan yang tidak terbayar dan pencurian listrik. Pemasaran listrik prabayar ini dapat juga diserahkan pada pihak ketiga. 3. Pengurangan overhead atau biaya yang diperlukan untuk pengecekan konsumsi listrik ke rumah-rumah atau konsumen lainnya.
Sedangkan bagi konsumen, sistem ini juga dapat menguntungkan yaitu : 1. Pengendalian penggunaan listrik dapat lebih baik, karena pembayaran yang dilakukan diawal dapat digunakan untuk membatasi konsumsi 2. Perbaikan sistem pengukuran karena perangkat elektronik yang digunakan adalah elektronis dengan ketelitian dan keamanan yang lebih tinggi 3. Mengurangi kesalahan penagihan yang disebabkan human error.
2.1.2.1 Prinsip Kerja Kwh Meter Prabayar Chip Card
Chip card dapat digunakan sebagai alat pembayaran rekening listrik dengan mengembangkan Kwh meter Elektronik Digital yang dilengkapi dengan perangkat pembaca kartu serta perangkat transaksi lunak berbasis smart card. Kwh meter akan beroperasi berdasarkan nilai kredit yang dimasukkan (download) dari chip card kedalam register Kwh, dan selanjutnya nilai kredit tersebut dijadikan acuan untuk mengontrol bekerjanya Kwh meter. Nilai kredit didalam register akan dikurangi secara bertahap sebanding dengan nilai energi listrik yang telah dikonsumsi (digunakan).
Universitas Sumatera Utara
21
Jika isi register telah habis maka Kwh meter harus segera diisi kembali (register sisa pulsa sama dengan 10%) maka ada alarm (LED ON), dan jika setelah jangka waktu yang telah ditetapkan belum juga diisi nilai kreditnya maka Kwh meter akan memutus saklar pemutus atau Internal Contactor sehingga supply daya terputus. Pengisian pulsa listrik kedalam smart card menggunakan Portable Terminal yang koneksi dengan Perangkat Lunak Sinkronisasi Dan Billing Sistem yang telah diinstal di Komputer (Master Station).
Perbedaan Kwh Meter Prabayar Rakitan Dengan Kwh Meter Prabayar PLN. Perbedaan yang dapat dilihat dari kedua alat yaitu antara Kwh Meter Prabayar Rakitan dengan Kwh Meter Prabayar PLN adalah : 1. Kwh Prabayar Rakitan mengguakan Kwh Meter analog, sedangkan Kwh Meter Prabayar PLN menggunakan Kwh Elektronik 2. Kwh Prabayar Rakitan menggunakan sensor optocoupler untuk menghitung daya beban pemakaian, sedangkan Kwh Prabayar PLN langsung menggunakan rangkaian otomaris yang sudah digabungkan dengan Kwh elektronik 3. Kwh Prabayar Rakitan menggunakan Keypad 4x4 sebagai interface untuk pengisian voucher listrik, sedangkan pada Kwh Prabayar PLN menggunakan perangkat pembaca kartu (Chip Card Reader) dan ada juga yang menggunakan keypad 4x4 sebagai interfacenya.
2.2 Relay
Relay berfungsi untuk menghubungkan atau memutus aliran arus listrik yang dikontrol dengan memberikan tegangan dan arus tertentu pada koilnya. Relay biasanya hanya mempunyai satu kumparan tetapi relay dapat mempunyai beberapa kontak. Dalam memutus atau menghubungkan kontak digerakkan oleh fluksi yang ditimbulkan dari adanya medan magnet listrik yang dihasilkan oleh kumparan yang melilit pada besi lunak.
Universitas Sumatera Utara
22
Gambar 2.5 Relay 8 Pin
2.2.1 Prinsip Kerja Relay
Kontak Normally Open akan membuka ketika tidak ada arus mengalir pada kumparan, tetapi tertutup secepatnya setelah kumparan menghantarkan arus atau diberi tenaga. Kontak normally Close akan tertutup apabila kumparan tidak diberi tenaga dan membuka ketika kumparan diberi daya. Masing-masing kontak biasanya digambarkan sebagai kontak yang tampak dengan kumparan tidak diberi tanaga atau daya.
Gambar 2.6 Relay Elektromekanis 2.3 Mikrokontroler ATMEGA8535
Tidak seperti system komputer, yang mampu menangani berbagai macam program aplikasi (misalnya pengolah kata,
pengolah angka dan
lain
sebagainya),
mikrokontroler hanya bisa digunakan untuk satu aplikasi tertentu saja. Perbedaan lainnya terletak pada perbandingan RAM-nya dan ROM. Pada system computer perbandingan RAM dan ROM-nya besar, artinya program-program pengguna disimpan dalam ruang RAM yang relative besar, sedangkan rutin-rutin antarmuka
Universitas Sumatera Utara
23
perangkat keras disimpan dalam ruang ROM yang kecil. Sedangkan pada mikrokontroler, perbandingan ROM dan RAM-nya yang besar artinya program control 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.3.1 Arsitektur Mikrokontroler AVR ATMEGA8535
AVR termasuk kedalam jenis mikrokontroler RISC (Reduced Instruction Set Computing) 8 bit. Berbeda dengan mikrokontroler keluarga MCS-51 yang berteknologi CISC (Complex Instruction Set Computing). Pada mikrokontroler dengan teknologi RISC semua instruksi dikemas dalam kode 16 bit (16 bits words) dan sebagian besar instruksi dieksekusi dalam 1 clock, sedangkan pada teknologi CISC seperti yang diterapkan pada mikrokontroler MCS-51, untuk menjalankan sebuah instruksi dibutuhkan waktu sebanyak 12 siklus clock.
Secara garis besar, arsitektur mikrokontroler ATMEGA8535 terdiri dari : 1. 32 saluran I/O (Port A, Port B, Port C dan Port D) 2. 10 bit 8 Channel ADC (Analog to Digital Converter) 3. 4 Channel PWM 4. 6 Sleep Modes : Idle, ADC Noise Reduction, Power-save, Power-Down, Standby and Extended Standby 5. 3 buah timer/counter. 6. Analog Compararator 7. Watchdog timer dengan osilator internal 8. 512 byte SRAM 9. 512 byte EEPROM 10. 8 kb Flash memory dengan kwmampuan Read While Write 11. Unit interupsi (internal dan external) 12. Port antarmuka SPI8535 “memory map” 13. Port USART untuk komunikasi serial dengan kecepatan maksimal 2,5 Mbps
Universitas Sumatera Utara
24
14. 4,5 V sampai 5,5 V operation, 0 sampai 16 MHz
Gambar 2.7 Arsitektur ATMEGA8535 2.3.2 Peta Memory ATMega8535
ATMega8535 memiliki ruang pengalamatan memori data dan memori program yang terpisah. Memori data terbagi menjadi 3 bagian yaitu : 32 buah register umum, 64 buah register I/O, dan 512 byte SRAM internal.
Register untuk keperluan umum menempati space data pada alamat terbawah yaitu $00 sampai $1F. Sementara itu register khusus untuk menangani I/O dan kontrol
Universitas Sumatera Utara
25
terhadap mikrokontroler menempati 64 alamat berikutnya, yaitu mulai dari $20 sampai $5F. Register tersebut merupakan register yang khusus digunakan untuk mengatur fungsi terhadap berbagai peripheral mikrokontroler, seperti kontrol register, timer/counter, fungsi fungsi I/O, dan sebagainya. Register khusus alamat memori secara lengkap dapat dilihat pada tabel dibawah . Alamat memori berikutnya digunakan untuk SRAM 512 byte, yaitu pada lokasi $60 sampai dengan $25F.
Gambar 2.8 Memori AVR ATMega8535 Selain itu AVR ATmega8535 juga memilki memori data berupa EEPROM 8-bit sebanyak 512 byte. Alamat EEPROM dimulai dari $000 sampai $1FF. 2.3.3 Status Register Status register adalah register berisi status yang dihasilkan pada setiap operasi yang dilakukan ketika suatu instruksi dieksekusi. SREG merupakan bagian dari inti CPU mikrokontroler.
Universitas Sumatera Utara
26
Gambar 2.9 Status Register
Status Register ATMega8535 1. Bit7 --> I (Global Interrupt Enable), Bit harus di Set untuk mengenable semua jenis interupsi. 2. Bit6 --> T (Bit Copy Storage), Instruksi BLD dan BST menggunakan bit T sebagai sumber atau tujuan dalam operasi bit. Suatu bit dalam sebuah register GPR dapat disalin ke bit T menggunakan instruksi BST, dan sebaliknya bit T dapat disalin kembali kesuatu bit dalam register GPR dengan menggunakan instruksi BLD. 3. Bi5 --> H (Half Cary Flag) 4. Bit4 --> S (Sign Bit) merupakan hasil operasi EOR antara flag -N (negatif) dan flag V (komplemen dua overflow). 5. Bit3 --> V (Two's Component Overflow Flag) Bit ini berfungsi untuk mendukung operasi matematis. 6. Bit2 --> N (Negative Flag) Flag N akan menjadi Set, jika suatu operasi matematis menghasilkan bilangan negatif. 7. Bit1 --> Z (Zero Flag) Bit ini akan menjadi Set apabila hasil operasi matematis menghasilkan bilangan 0. 8. Bit0 --> C (Cary Flag) Bit ini akan menjadi set apabila suatu operasi menghasilkan carry.
2.3.4 Konfigurasi Pin Mikrokontroler AVR ATMEGA8535 Mikrokontroler ATMega8535 memiliki 40 pin untuk model PDIP, dan 44 pin untuk model TQFP dan PLCC. Nama-nama pin pada mikrokontroler ini adalah :
Universitas Sumatera Utara
27
1. VCC : merupakan pin yang berfungsi sebagai pin masukan catu daya 2. GND : merupakan pin ground. 3. Port A (PA0...PA7) : merupakan pin I/O dan pin masukan ADC 4. Port B (PB0 – PB7) : merupakan akan pin I/O dua arah dan pin fungsi khusus, yaitu sebagai Timer/Counter, komperator analog dan SPI. 5. Port C (PC0 – PC7) : merupakan pin I/O dua arah dan pin fungsi khusus, yaitu TWI, komperator analog, input ADC dan Timer Osilator. 6. Port D (PD0 – PD7) : merupakan pin I/O dua arah dan pin fungsi khusus, yaitu komperator analog, interupsi eksternal dan komunikasi serial. 7. RESET : merupakan pin yang digunakan untuk mereset mikrokontroler. 8. XTAL1 dan XTAL2 : merupakan pin masukan clock eksternal. 9. AVCC : merupakan pin masukan tegangan untuk ADC. 10. AREF : merupakan pin tegangan referensi ADC
Gambar 2.10 IC Mikrokontroler ATMEGA8535 Deskripsi pin-pin pada mikrokontroler ATMega8535 :
1. Port A
Universitas Sumatera Utara
28
Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pullup resistor (dapat diatur per bit). Output buffer Port A dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port A (DDRA) harus disetting terlebih dahulu sebelum Port A digunakan. Bit-bit DDRA diisi 0 jika ingin memfungsikan pin-pin port A yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, kedelapan pin port A juga digunakan untuk masukan sinyal analog bagi A/D converter.
2. Port B Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pullup resistor (dapat diatur per bit). Output buffer Port B dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port B (DDRB) harus disetting terlebih dahulu sebelum Port B digunakan. Bit-bit DDRB diisi 0 jika ingin memfungsikan pin-pin port B yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Pin-pin port B juga memiliki untuk fungsi-fungsi alternatif khusus seperti yang dapat dilihat dalam tabel berikut.
Tabel 2.1 Fungsi Pin-pin Port B Port Pin Fungsi Khusus PB0
T0 = timer/counter 0 external counter input
PB1
T1 = timer/counter 0 external counter input
PB2
AIN0 = analog comparator positive input
PB3
AIN1 = analog comparator negative input
PB4
SS = SPI slave select input
PB5
MOSI = SPI bus master output / slave input
PB6
MISO = SPI bus master input / slave output
PB7
SCK = SPI bus serial clock
3. Port C Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pullup resistor (dapat diatur per bit). Output buffer Port C dapat memberi arus 20 mA dan
Universitas Sumatera Utara
29
dapat mengendalikan display LED secara langsung. Data Direction Register port C (DDRC) harus disetting terlebih dahulu sebelum Port C digunakan. Bit-bit DDRC diisi 0 jika ingin memfungsikan pin-pin port C yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, dua pin port C (PC6 dan PC7) juga memiliki fungsi alternatif sebagai oscillator untuk timer/counter 2.
4. Port D Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pullup resistor (dapat diatur per bit). Output buffer Port D dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port D (DDRD) harus disetting terlebih dahulu sebelum Port D digunakan. Bit-bit DDRD diisi 0 jika ingin memfungsikan pin-pin port D yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, pin-pin port D juga memiliki untuk fungsifungsi alternatif khusus seperti yang dapat dilihat dalam tabel berikut.
Tabel 2.2 Fungsi Pin-pin Port D Port Pin Fungsi Khusus PD0
RDX (UART input line)
PD1
TDX (UART output line)
PD2
INT0 ( external interrupt 0 input )
PD3
INT1 ( external interrupt 1 input )
PD4
OC1B (Timer/Counter1 output compareB match output)
PD5
OC1A (Timer/Counter1 output compareA match output)
PD6
ICP (Timer/Counter1 input capture pin)
PD7
OC2 (Timer/Counter2 output compare match output)
5. RESET RST pada pin 9 merupakan reset dari AVR. Jika pada pin ini diberi masukan low selama minimal 2 machine cycle maka system akan di-reset.
Universitas Sumatera Utara
30
6. XTAL1 XTAL1 adalah masukan ke inverting oscillator amplifier dan input ke internal clock operating circuit.
7. XTAL2 XTAL2 adalah output dari inverting oscillator amplifier.
8. AVcc Avcc adalah kaki masukan tegangan bagi A/D Converter. Kaki ini harus secara eksternal terhubung ke Vcc melalui lowpass filter.
9. AREF AREF adalah kaki masukan referensi bagi A/D Converter. Untuk operasionalisasi ADC, suatu level tegangan antara AGND dan Avcc harus dibeikan ke kaki ini.
10. AGND AGND adalah kaki untuk analog ground. Hubungkan kaki ini ke GND, kecuali jika board memiliki anlaog ground yang terpisah.
2.4
Sensor Optocoupler
2.4.1 Pengertian Optocoupler Optocoupler adalah suatu piranti yang terdiri dari 2 bagian yaitu transmitter dan receiver, yaitu antara bagian cahaya dengan bagian deteksi sumber cahaya terpisah. Biasanya optocoupler digunakan sebagai saklar elektrik, yang bekerja secara otomatis. Optocoupler atau optoisolator merupakan komponen penggandeng (coupling) antara rangkaian input dengan rangkaian output yang menggunakan media cahaya (opto) sebagai penghubung. Dengan kata lain, tidak ada bagian yang konduktif antara kedua rangkaian tersebut. Optocoupler sendiri terdiri dari 2 bagian, yaitu transmitter (pengirim) dan receiver (penerima).
Universitas Sumatera Utara
31
1. Transmiter Merupakan bagian yang terhubung dengan rangkaian input atau rangkaian kontrol. Pada bagian ini terdapat sebuah LED infra merah (IR LED) yang berfungsi untuk mengirimkan sinyal kepada receiver. Padatransmitter dibangun dari sebuah LED infra merah. Jika dibandingkan dengan menggunakan LED biasa, LED infra merah memiliki ketahanan yang lebih baik terhadap sinyal tampak. Cahaya yang dipancarkan oleh LED infra merah tidak terlihat oleh mata telanjang. 2. Receiver Merupakan bagian yang terhubung dengan rangkaian output atau rangkaian beban, dan berisi komponen penerima cahaya yang dipancarkan oleh transmitter. Komponen penerima cahaya ini dapat berupa photodioda atapun phototransistor. Pada bagian receiver dibangun dengan dasar komponen phototransistor. Phototransistor merupakan suatu transistor yang peka terhadap tenaga cahaya. Suatu sumber cahaya menghasilkan energi panas, begitu pula dengan spektrum infra merah. Karena spekrum infra mempunyai efek panas yang lebih besar dari cahaya tampak, maka phototransistor lebih peka untuk menangkap radiasi dari sinar infra merah. Jika dilihat dari penggunaannya, optocoupler biasa digunakan untuk mengisolasi common rangkaian input dengan common rangkaian output. Sehingga supply tegangan untuk masing-masing rangkaian tidak saling terbebani dan juga untuk mencegah kerusakan pada rangkaian kontrol (rangkaian input).
Gambar 2.11 Bentuk fisik Sensor Optocoupler Optocoupler merupakan gabungan dari LED infra merah dengan fototransistor yang terbungkus menjadi satu chips. Cahaya infra merah termasuk dalam gelombang
Universitas Sumatera Utara
32
elektromagnetik yang tidak tampak oleh mata telanjang. Sinar ini tidak tampak oleh mata karena mempunyai panjang gelombang berkas cahaya yang terlalu panjang bagi tanggapan mata manusia. Sinar infra merah mempunyai daerah frekuensi 1 x 1012 Hz sampai dengan 1 x 1014 GHz atau daerah frekuensi dengan panjang gelombang 1µm – 1mm. LED infra merah ini merupakan komponen elektronika yang memancarkan cahaya infra merah dengan konsumsi daya sangat kecil. Jika diberi prasikap maju, LED infra merah yang terdapat pada optocoupler akan mengeluarkan panjang gelombang sekitar 0,9 mikrometer. Proses terjadinya pancaran cahaya pada LED infra merah dalam optocoupler adalah sebagai berikut. Saat dioda menghantarkan arus, elektron lepas dari ikatannya karena memerlukan tenaga dari catu daya listrik. Setelah elektron lepas, banyak elektron yang bergabung dengan lubang yang ada di sekitarnya (memasuki lubang lain yang kosong). Pada saat masuk lubang yang lain, elektron melepaskan tenaga yang akan diradiasikan dalam bentuk cahaya, sehingga dioda akan menyala atau memancarkan cahaya pada saat dilewati arus. Cahaya infra merah yang terdapat pada optocoupler tidak perlu lensa untuk memfokuskan cahaya karena dalam satu chip mempunyai jarak yang dekat dengan penerimanya. Pada optocoupler yang bertugas sebagai penerima cahaya infra merah adalah fototransistor. Fototransistor merupakan komponen elektronika yang berfungsi sebagai detektor cahaya infra merah. Detektor cahaya ini mengubah efek cahaya menjadi sinyal listrik, oleh sebab itu fototransistor termasuk dalam golongan detektor optik. Fototransistor memiliki sambungan kolektor–basis yang besar dengan cahaya infra merah, karena cahaya ini dapat membangkitkan pasangan lubang elektron. Dengan diberi prasikap maju, cahaya yang masuk akan menimbulkan arus pada kolektor. Fototransistor memiliki bahan utama yaitu germanium atau silikon yang sama dengan bahan pembuat transistor. Tipe fototransistor juga sama dengan transistor pada umumnya yaitu PNP dan NPN. Perbedaan transistor dengan fototransistor hanya terletak pada rumahnya yang memungkinkan cahaya infra merah mengaktifkan daerah basis, sedangkan transistor biasa ditempatkan pada rumah logam yang tertutup. Simbol optocoupler seperti terlihat pada Gambar 2.10.
Universitas Sumatera Utara
33
Gambar 2.12 Simbol Optocoupler Kerugian
atau
keburukan
dari
optocoupler
adalah
pada
kecepatan
switchingnya. Hal ini disebabkan karena efek dari area yang sensistif terhadap cahaya dan timbulnya efek kapasitansi pada ‘junction’-nya. Jika diperlukan kecepatan switching yang cukup tinggi maka optoisolator harus dikonfigurasikan sehingga yang digunakan adalah sebagai photodiodenya.
2.4.2 Prinsip Kerja dari Rangkaian Optocoupler Prinsip kerja dari rangkaian Optocoupler adalah sebagai berikut : 1. Jika antara phototransistor dan LED terhalang maka phototransistor tersebut akan off sehingga output dari kolektor akan berlogika high. 2. Sebaliknya jika antara phototransistor dan LED tidak terhalang maka phototransistor dan LED tidak terhalang maka phototransistor tersebut akan on sehingga output-nya akan berlogika low.
2.5 LCD (Liquid Crystal Display)
LCD berfungsi menampilkan suatu nilai hasil sensor, menampilkan teks, atau menampilkan menu pada aplikasi mikrokontroler. LCD yang digunakan adalah jenis LCD M1632. LCDM1632 merupakan modul LCD dengan tampilan 16 x 2 baris
Universitas Sumatera Utara
34
dengan konsumsi daya rendah. M1632 adalah merupakan modul LCD dengan tampilan 16 x 2 baris dengan konsumsi daya yang rendah.
Modul ini dilengkapi dengan mikrokontroler yang didisain khusus untuk mengendalikan LCD. Kegunaan LCD banyak sekali dalam perancangan suatu sistem dengan menggunakan mikrokontroler. LCD dapat berfungsi untuk menampilkan suatu nilai hasil sensor, menampilkan teks, atau menampilkan menu pada aplikasi mikrokontroler. Pada bab ini akan dibahas antarmuka LCD dengan mikrokontroler ATMega8535.
Gambar 2.13 LCD (Liquid Crystal Display) Urutan pin (1), umumnya, dimulai dari sebelah kiri (terletak di pojok kiri atas) dan untuk LCD yang memiliki 16 pin, 2 pin terakhir (15 & 16) adalah anoda dan katoda untuk back-lighting. Tabel 2.3 Fungsi pin-pin pada Liquid Crystal Display
Universitas Sumatera Utara
35
Sebagaimana terlihat pada kolom deskripsi (symbol and functions), interface LCD merupakan sebuah parallel bus, dimana hal ini sangat memudahkan dan sangat cepat dalam pembacaan dan penulisan data dari atau ke LCD. Kode ASCII yang ditampilkan sepanjang 8 bit dikirim ke LCD secara 4 atau 8 bit pada satu waktu. Jika mode 4 bit yang digunakan, maka 2 nibble data dikirim untuk membuat sepenuhnya 8 bit (pertama dikirim 4 bit MSB lalu 4 bit LSB dengan pulsa clock EN setiap nibblenya). Berikut adalah contoh LCD (2×16) yang umum digunakan :
Gambar 2.14 LCD M1632 Jalur kontrol EN digunakan untuk memberitahu LCD bahwa mikrokontroller mengirimkan data ke LCD. Untuk mengirim data ke LCD program harus menset EN ke kondisi high (1) dan kemudian menset dua jalur kontrol lainnya (RS dan R/W) atau juga mengirimkan data ke jalur data bus. Saat jalur lainnya sudah siap, EN harus diset ke 0 dan tunggu beberapa saat (tergantung pada datasheet LCD), dan set EN kembali ke high (1). Ketika jalur RS berada dalam kondisi low (0), data yang dikirimkan ke LCD dianggap sebagai sebuah perintah atau instruksi khusus (seperti bersihkan layar, posisi kursor dll). Ketika RS dalam kondisi high atau 1, data yang dikirimkan adalah data ASCII yang akan ditampilkan dilayar. Misal, untuk menampilkan huruf pada layar maka RS harus diset ke 1. Jalur kontrol R/W harus berada dalam kondisi low (0) saat informasi pada data bus akan dituliskan ke LCD. Apabila R/W berada dalam kondisi high (1), maka program akan melakukan query (pembacaan) data dari LCD. Instruksi pembacaan hanya satu, yaitu Get LCD status (membaca status LCD), lainnya merupakan instruksi penulisan. Jadi hampir setiap aplikasi yang menggunakan LCD, R/W selalu diset ke 0. Jalur data dapat terdiri 4 atau 8 jalur (tergantung mode yang dipilih pengguna), mereka dinamakan DB0, DB1, DB2, DB3, DB4, DB5, DB6 dan DB7. Mengirim data secara parallel baik 4 atau 8 bit merupakan 2 mode operasi primer. Untuk membuat sebuah aplikasi interface LCD, menentukan mode operasi merupakan hal yang paling penting. Mode 8 bit sangat baik digunakan ketika kecepatan menjadi keutamaan dalam sebuah aplikasi dan setidaknya minimal tersedia
Universitas Sumatera Utara
36
11 pin I/O (3 pin untuk kontrol, 8 pin untuk data). Sedangkan mode 4 bit minimal hanya membutuhkan 7 bit (3 pin untuk kontrol, 4 untuk data). Aplikasi dengan LCD dapat dibuat dengan mudah dan waktu yang singkat, mengingat koneksi parallel yang cukup mudah antara kontroller dan LCD.
2.6 Keypad
2.6.1 Keypad untuk ATMega8535
Dasarnya keypad adalah sejumlah tombol yang disusun sedemikian rupa sehingga pembentukan bentuk tombol angka dan beberapa menu yang lain. Berikut ini adalah contoh konfigurasi keypad 4 × 4. Keypad diperlukan untuk interaksi dengan sistem, misalnya kita membuat pengaturan dengan titik setel akan kontrol umpan balik pada saat program masih berjalan. Sebenarnya setiap programmer mempunyai cara interaksi yang berbeda dengan sistem. Bahkan untuk keypad di hardware setiap programmer bisa berbeda. Hal ini lebih karena kebutuhan yang berbeda.
Gambar 2.15 Keypad 4x4 Keypad 4×4 sangat sering digunakan oleh programmer. Selain kemudahannya dengan perangkat keras dan perangkat lunak. Dasarnya keypad 4×4 adalah 16 tombol push-button dalam matriks. Interfacing keypad 4×4 dengan pemindaian pola tidak
Universitas Sumatera Utara
37
mudah dilakukan. Selain harus memiliki keypad 4×4, kita hanya membutuhkan sebuah dioda sebagai komponen pendukung. Dioda 1N4001 yang diterapkan terikat oleh seri dengan K1, K2, K3 dan K4 dengan bagian dari Anoda.
2.7 Perangkat Lunak
2.7.1 Pemrograman C
Pada perancangan program pada alat, program yang digunakan adalah pemrograman bahasa C. Berikut penjelasan dasar-dasar pemrograman bahasa C : 1. Tipe Data Berikut ini adalah tipe-tipe data yang ada dalam bahasa C dan yang dikenali oleh CodeVisionAVR : Tabel 2.4 Tipe Data Tipe Data
Ukuran
Jangkauan Nilai
Bit
1 bit
0 atau 1
Char
1 byte
-128 s/d 225
Unsigned Char
1 byte
0 s/d 225
Signed Char
1 byte
-128 s/d 127
Int
2 byte
-32.768 s/d 32.767
Short Int
2 byte
-32.768 s/d 32.767
Unsigned Int
2 byte
0 s/d 65.535
Signed Int
2 byte
-32.768 s/d 32.767
Long Int
4 byte
-2.147.483.648 s/d 2.147.483.647
Unsigned Long Int
4 byte
0 s/d 4.294.967.295
Signed Long Int
4 byte
-2.147.483.648 s/d 2.147.483.647
Float
4 byte
1.2*10-38 s/d 3.4*10+38
Double
4 byte
1.2*10-38 s/d 3.4*10+38
2. Konstanta dan Variabel Konstanta dan variabel merupakan sebuah tempat untuk menyimpan data yang berada di dalam memori. Konstanta berisi data yang nilainya tetap dan
Universitas Sumatera Utara
38
tidak dapat diubah selama program dijalankan, sedangkan variabel berisi data yang bisa berubah nilainya saat program dijalankan. Untuk membuat sebuah konstanta atau variabel maka kita harus mendeklarasikannya lebih dahulu, yaitu dengan sintaks berikut : Deklarasi konstanta : Const [tipe_data][nama_konstanta]=[nilai] Contoh : Const char konstantaku=0x10; Deklarasi variabel : [tipe_data][nama_variabel]=[nilai_awal] Contoh : Char variabelku; Char variabelku=0x20; Bit variabel_bit; Bit variabel_bit=1; Pada deklarasi variabel, [nilai_awal] bersifat operasional sehingga boleh diisi dan boleh tidak diisi. Nilai_awal merupakan nilai default variabel tersebut dan jika tidak diisi maka nilai defaultnya adalah 0 (nol). Beberapa variabel dengan tipe yang sama dapat dideklarasikan dalam satu baris seperti contoh berikut : Char data_a, data_b, data_c; 3. Komentar Komentar adalah tulisan yang tidak dianggap sebagau bagian dari tubuh program. Komentar digunakan untuk memberikan penjelasan, informasi ataupun keterangan-keterangan yang dapat membantu mempermudah dalam memahami kode program baik bagi si pembuat program maupun bagi orang lain yang membacanya. Komentar yang hanya satu baris ditulis dengan diawali ’//’ sedangkan komentar yang lebih dari satu baris diawali dengan ’/*’ dan diakhiri dengan ’*/’. Contoh : // Ini adalah komentar satu baris /* Sedangkan yang ini adalah komentar yang lebih dari satu baris*/
Universitas Sumatera Utara
39
Selain dihunakan untuk memberikan keterangan program, komentar juga dapat digunakan untuk membantu dalam pengujian program yaitu dengan menon-aktifkan dan mengaktifkan kembali bagian program tertentu selama proses pengujian. 4. Pengarah Preprosessor Pengarah preprosessor digunakan untuk mendefenisikan prosessor yang digunakan, dalam hal ini adalah untuk mendefenisikan jenis mikrokontroller yang digunakan. Dengan pengarah preprosesor ini maka pendeklarasian register-register dan penamaannya dilakukan pada file yang lain yang disisipkan dalam program utama dengan sintaks sebagai berikut : # include Contoh : # include 5. Pernyataan Pernyataan adalah satu buah instruksi lengkap berdiri sendiri. PORTC = 0x0F; Pernyataan diatas merupakan sebuah instruksi untuk mengeluarkan data 0x0F ke Port C. Contoh sebuah blok pernyataan : { PORTA=0x00; // pernyataan_1 PORTB=0x0F; // pernyataan_2 PORTC=0xFF; // pernyataan_3 } 6. Operator Aritmatika Operator aritmatika adalah beberapa operator yang digunakan untuk melakukan perhitungan aritmatika.
Tabel 2.5 Operator Aritmatika Operator
Keterangan
+
Operator untuk operasi penjumlahan
-
Operator untuk operasi pengurangan
*
Operator untuk operasi perkalian
Universitas Sumatera Utara
40
/
Operator untuk operasi pembagian
%
Operator untuk operasi sisa pembagian
7. Operator Logika Operator logika digunakan untuk membentuk suatu logika atas dua buah kondisi atau lebih. Berikut ini adalah tabel operator logika :
Tabel 2.6 Operator Logika Operator
Keterangan
&&
Operator untuk logika AND
ΙΙ
Operator untuk logika OR
!
Operator untuk logika NOT
Contoh : if ( (a==b) && (c!=d) ) = 0xFF; Pernyataan diatas terdiri dari 2 buah kondisi yaitu
a==b dan c!=d yang
keduanya dihubungkan dengan logika && (AND). Jika logika yang dihasilkan benar maka perintah PORTC = 0xFF akan dikerjakan dan jika salah tidak akan dikerjakan. 8. Operator Penambahan dan Pengurangan Operator penambahan dan pengurangan adalah operator yang digunakan untuk menaikkan atau menurunkan nilai sebuah variabel dengan selisih 1.
Tabel 2.7 Operator Penambahan dan Pengurangan Operator ++
--
Keterangan Operator untuk penambahan nilai variabel dengan 1 Operator pengurangan nilai variabel dengan 1
Contoh : a = 1; b = 5;
Universitas Sumatera Utara
41
a++; b--; Maka operator a++ akan mengubah variable a dari 1 menjadi 2 dan operator b—akan mengubah variable b dari 5 menjadi 4. 9. Pernyataan If Pernyataan If digunakan untuk melakukan pengambilan keputusan terhadap dua buah kemungkinan yaitu mengerjakan suatu blok pernyataan atau tidak. Bentuk pernyataan If adalah : if (kondisi) { // blok pernyataan yang akan dikerjakan // jika kondisi if terpenuhi } Contoh : if (PINA>0x80) { Dataku=PINA; PORTC=0xFF; } Perntataan if diatas akan mengecek apakah data yang terbaca pada Port A (PINA) nilainya lebih dari 0x80 atau tidak, jika ya maka variable dataku diisi dengan nilai PINA dan data 0xFF dikeluarkan ke PORT C. Apabila dalam blok pernyataan hanya terdapat satu pernyataan saja maka tanda { dan } dapat dihilangkan seperti : if (PINA>0x80) PORTC=0xFF;
2.7.2 CodeVisionAVR
CodeVisionAVR merupakan salah satu software compiler yang khusus digunakan untuk mikrokontroller keluarga AVR. Meskipun CodeVisionAVR termasuk software komersial, namun kita tetap dapat menggunakannya dengan mudah karena terdapat
Universitas Sumatera Utara
42
versi evaluasi yang disediakan secara gratis walaupun dengan kemampuan yang dibatasi.
Dari bebarapa software kompiler C yang pernah digunakan, CodeVisionAVR merupakan yang terbaik jika dibandingkan dengan kompiler-kompiler yang lain karena memiliki beberapa kelebihan yang dimiliki oleh CodeVisionAVR antara lain : 1. Menggunakan IDE (Integrated Devvelopment Environment) 2. Fasilitas yang disediakan lengkap (mengedit program, mengkompile program, mendownload program) serta tampilannya terlihat menarik dan mudah dimengerti 3. Mampu membangkitkan kode program secara otomatis dengan menggunakan fasilitas CodeWizardAVR 4. Memiliki
fasilitas
untuk
mendownload
CodeVisionAVR dengan menggunakan
program
langsung
dari
hardware khusus seperti Atmel
STK500, Kanda System STK200+/300 dan bebarapa hardware lain yang telah didefenisikan oleh CodeVisionaAVR 5. Memiliki fasilitas debugger sehingga dapat menggunakan software compiler lain untuk mengecek kode assemblernya, contoh AVRStudio 6. Memiliki terminal komunikasi serial yang terintegrasi dalam CodeVisionAVR sehingga dapat digunakan untuk membantu pengecekan program yang telah dibuat khususnya yang menggunakan fasilitas komunikasi serial USART.
Gambar 2.16 Tampilan CodeVisionAVR
Universitas Sumatera Utara