• Tidak ada hasil yang ditemukan

Perancangan KWH Meter Dengan Sistem Prabayar Berbasis Microcontroller AVR ATMega8535

N/A
N/A
Protected

Academic year: 2016

Membagikan "Perancangan KWH Meter Dengan Sistem Prabayar Berbasis Microcontroller AVR ATMega8535"

Copied!
80
0
0

Teks penuh

(1)

PERANCANGAN KWH METER DENGAN SISTEM PRABAYAR BERBASIS

MIKROKONTROLLER AVR ATMega8535

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Sains

ESPOL SIBURIAN

NIM. 050801041

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN

(2)

PERSETUJUAN

Judul : PERANCANGAN KWH METER DENGAN

SISTEM PRABAYAR BERBASIS

MIKROKONTROLLER AVR ATMega8535

Kategori : SKRIPSI

Nama : ESPOL SIBURIAN

NIM : 050801041

Program Studi : SARJANA (S1) FISIKA

Departemen : FISIKA

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN

ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA

Dilaksanakan di : Medan, 23 Juni 2010

Diketahui/disetujui oleh

Ketua Departemen Fisika FMIPA USU Pembimbing

(3)

PERNYATAAN

Perancangan KWH Meter Dengan Sistem Prabayar Berbasis Microcontroller AVR ATMega8535

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Juni 2010

(4)

PENGHARGAAN

Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa, dengan cinta dan limpah karuniaNya penyelesaian tugas akhir ini dapat diselesaikan dengan waktu yang telah ditetapkan.

Dalam penyelesaian tugas akhir serta penulisan laporannya, penulis mengucapkan banyak terimakasih kepada Bapak Dr. Marhaposan Situmorang selaku dosen pembimbing pada penyelesaian tugas akhir ini. Tentu saja ucapan terimakasih banyak juga saya sampaikan kepada Bapak Drs. Nasir Saleh,M.Eng.Sc selaku dosen Pembimbing Akademik selama penulis mengikuti perkuliahan di Departemen Fisika FMIPA USU. Dan kepada Bapak Dekan FMIPA USU dan Bapak/Ibu Dosen di Departemen Fisika FMIPA USU serta Staf pegawai yang memberi saran, dukungan dan banyak motivasi selama penyelesaian tugas akhir ini. Tidak lupa saya juga mengucapkan terimakasih kepada rekan – rekan mahasiswa stambauk 2005 Alvino Siahaan, Dedy Kabul, Jonathan H, Devi S, Try eko, Tono, Toni, Sadrah, Eko Balga, Nani, Acong, Nando, Masef serta seluruh abang dan adik stambuk saya di IMF dan rekan-rekan segerakan di GMKI FMIPA USU, Dody, Chandra dan Elfrida S yang memberikan saya banyak masukan dan bantuan selama perkuliahan dan penyelesaian tugas akhir ini.

Ucapan terimakasih saya yang sangat special kepada Ibunda (Alm) yang sangat saya cintai S.H Br. Sianturi dan Ayahanda tercinta H. Siburian serta abang, kakak dan adik saya : Rudianto B Siburian, SE, Julkifri Siburian, Fatima Siburian, SE, Roigen Siburian, SE dan Susi Sartika Siburian dan kepada yang tersayang Ika Rahayu MW Br. Nainggolan, SH yang selalu memberikan bantuan dan dukungan serta selalu mendoakan saya.

(5)

ABSTRAK

(6)

DESIGN OF KWH METER WITH PREPAID SYSTEM BASES ON MICROCONTROLER AVR ATMEGA8535

ABSTRACT

(7)

DATAR ISI

1.4Manfaat Penelitian 3

1.5Sistematika Penulisan 3

BAB II TINJAUAN PUSTAKA

2.1 KWH Meter 5

2.1.1 Kwh Meter Analog 5

2.1.1.1 Prinsip Kerja KWH Meter 7

2.1.1.2 Perhitungan Biaya KWH Meter 8

2.1.2 Kwh Meter Prabayar PLN 8

2.1.2.1 Prinsip Kerja Kwh Meter Prabayar Chip Card 9

2.2 Relay 12

2.2.1 Prinsip Kerja Relay 12

2.3 Mikrokontroller AVR ATMEGA8535 13

2.3.1 Arsitektur Mikrokontroler AVR ATMEGA8535 13

2.3.2 Peta Memory ATMega8535 15

2.3.3 Status Register 16

2.3.4 Konfigurasi PIN Mikrokontroller ATMega8535 17

2.4 Sensor Optocoupler 20

2.4.1 Pengertian Optocoupler 20

2.4.2 Prinsip Kerja dari Rangkaian Optocoupler 23

2.5 LCD (Liquid Crystal Display) 23

2.6 Keypad 26

2.6.1 Keypad untuk ATMega8535 26

2.7 Perangkat Lunak 27

2.7.1 Pemrograman Bahasa C 27

2.7.2 CodeVisionAVR 31

BAB III PERANCANGAN SISTEM

(8)

3.1.1 Blok Diagram Rangkaian 33

3.1.2 Rangkaian Power Supply (PSA) 34

3.1.3 Rangkaian Mikrokontroller ATMega8535 35

3.1.4 Rangkaian Sensor Optocoupler 37

3.1.5 Rangkaian Keypad untuk ATMega8535 38

3.1.6 Rangkaian LCD (Liquid Crystal Display) 39

3.1.7 Rangkaian Relay 40

3.2 Perancangan Program 41

BAB IV PENGUJIAN ALAT DAN PROGRAM

4.1 Pengujian Rangkaian Mikrokontroller ATMega8535 43

4.2 Pengujian Rangkaian Sensor Optocoupler 45

4.3 Pengujian Rangkaian Keypad 45

4.4 Pengujian Rangkaian LCD 48

4.5 Pengujian Rangkaian Relay 50

4.6 Pengujian Sistem 51

BAB V KESIMPULAN DAN SARAN

5.1 Kesimpulan 54

5.2 Saran 55

(9)

DAFTAR TABEL

Halaman

Tabel 2.1 Fungsi Pin-pin Port B 18

Tabel 2.2 Fungsi Pin-pin Port D 19

Tabel 2.3 Fungsi pin-pin pada Liquid Crystal Display 24

Tabel 2.4 Tipe Data 27

Tabel 2.5 Operator Aritmatika 29

Tabel 2.6 Operator Logika 30

Tabel 2.7 Operator Penambahan dan Pengurangan 30

Tabel 4.1 Tegangan Output Sensor Optocoupler 45

(10)

DAFTAR GAMBAR

Halaman

Gambar 2.1 KWH Meter Analog 5

Gambar 2.2 KWH Meter Listrik 6

Gambar 2.3 Skema Hubungan Kumparan Pada KWH Meter 6

Gambar 2.4 Prinsip Dasar KWH Meter 7

Gambar 2.5 Relay 8 pin 12

Gambar 2.6 Relay elektromekanis 12

Gambar 2.7 Arsitektur ATMega8535 14

Gambar 2.8 Memori AVR ATMega8535 14

Gambar 2.9 Status Register 17

Gambar 2.10 IC Mikrokontroller AVR ATMega8535 17

Gambar 2.11 Bentuk fisik Sensor Optocoupler 21

Gambar 2.12 Simbol Optocoupler 23

Gambar 2.13 LCD (Liquid Crystal Display) 24

Gambar 2.14 LCD M1632 25

Gambar 2.15 Keypad 4 x 4 26

Gambar 2.16 Software CodeVision AVR 32

Gambar 3.1 Diagram Blok Rangkaian Sistem 33

Gambar 3.2 Rangkaian Power Supplay (PSA) 35

Gambar 3.3 Rangkaian Mikrokontroler ATMega8535 36

Gambar 3.4 Penampang Sensor Optocoupler dan Piringan Kwh Meter 37

Gambar 3.5 Rangkaian Optocoupler 38

Gambar 3.6 Skematik rangkaian keypad 39

Gambar 3.7 Rangkaian LCD 39

Gambar 3.8 Rangkaian Relay 40

Gambar 3.9 Flow Chart Program Sistem 41

(11)

DAFTAR PERSAMAAN

Halaman

Persamaan 2.1 Daya listrik (daya aktif) 8

Persamaan 2.2 Daya listrik 8

(12)

ABSTRAK

(13)

DESIGN OF KWH METER WITH PREPAID SYSTEM BASES ON MICROCONTROLER AVR ATMEGA8535

ABSTRACT

(14)

BAB I

PENDAHULUAN

1.1 Latar Belakang

Sistem pembayaran yang dilakukan di Indonesia adalah dengan menghitung daya yang terpakai (melalui KWH meter), dimana secara periodik diperlukan petugas untuk mendatangi rumah konsumen untuk mencatat nilai yang tertera pada kwh meter. Setelah itu pemilik rumah harus membayar listrik pada tempat pembayaran listrik yang telah ditentukan atau melalui fasilitas yang disediakan oleh bank (seperti contoh melalui ATM). System ini dikenal sebagai system pascabayar.

Melihat fakta yang terjadi di masyarakat, bahwa sering terjadi keluhan dari masyarakat pada saat pembayaran biaya pemakaian beban listrik PLN. Banyak warga masyarakat yang mengeluh soal mahalnya biaya beban pemakaian listrik yang harus dibayarkan. Hal ini dikarenakan pemakaian listrik yang terlalu boros atau tidak bisa dikontrol oleh pemakai listrik itu sendiri. Sering sekali kita jumpai pemakaian listrik yang sangat tidak efisien, misalnya menghidupkan Televisi sampai larut malam pada hal tidak ada yang menonton, membiarkan lampu ruangan tertentu tetap menyala meskipun tidak ada keperluannya atau tidak ada orang yang memerlukan penerangan. Hal ini tentu saja akan mengakibatkan biaya beban pemakaian listrik yang membengkak atau sangat besar.

(15)

Banyak faktor yang menyebabkan terjadinya masalah ini, seperti contoh : 1. Gerbang rumah tertutup

2. Pemilik rumah curiga terhadap petugas PLN karena banyaknya oknum petugas PLN palsu/gadungan

3. Kurang efisien dalam waktu karena memerlukan waktu yang banyak untuk melakukan pencatatan secara manual, dan lain sebagainya.

Karena factor-faktor diatas, pihak PLN mencatat data pemakaian listrik yang baru berdasarkan data yang sebelumnya. Hal ini tentu saja merugikan salah satu pihak yaitu antara masyarakat (konsumen) dan atau PLN (produsen listrik). Berdasarkan analisa permasalahan yang dihadapi oleh masyarakat dan PLN tersebut, maka penulis mencoba untuk merancang suatu alat dan Penelitian Tugas Akhir dengan judul : “Perancangan KWH Meter Dengan Sistem Prabayar Berbasis Microcontroller

AVR ATMega8535” yang bisa menghitung biaya beban pemakaian listrik langsung

dalam Rupiah (Rp) dan membatasi besar pemakaian listrik sesuai dengan kebutuhan pelanggan (masyarakat pengguna listrik).

1.2Batasan Masalah

Untuk membatasi masalah-masalah yang ada, maka penulis membatasi ruang lingkup masalah sebagai berikut :

1. Alat dirancang menggunakan meter listrik analog yang umum dipakai masyarakat untuk dapat menampilkan data dan harga biaya pemakaian listrik (sesuai data meter listrik langsung dalam rupiah) dalam data digital

2. Alat juga dirancang untuk dapat membatasi besar beban pemakaian listrik sesuai dengan kebutuhan konsumen.

1.3Tujuan Penulisan

(16)

1. Merancang dan membuat sebuah alat yang dapat membatasi pemakaian beban listrik dan menampilkan nilai KWH dalam data digital

2. Mendalami cara kerja dan perlakuan dari alat yang dibuat.

1.4Manfaat Penelitian

Adapun manfaat yang dapat diambil dari penelitian ini adalah :

1. Mengurangi kerugian PLN ataupun konsumen (masyarakat) atas terjadinya selisih pemakaian dengan pencatatan yangdilakukan oleh petugas PLN.

2. Membatasi besar pemakaian listrik sesuai dengan kebutuhan pelanggan (masyarakat pengguna listrik).

1.5Sistematika Penulisan

Untuk mempermudah pembahasan dan pemahaman maka penulis membuat sistematika pembahasan bagaimana sebenarnya prinsip kerja dari alat tersebut, maka penulis menulis laporan ini sebagai berikut:

BAB I. PENDAHULUAN

Dalam bab ini berisikan mengenai latar belakang, rumusan masalah, tujuan penulisan, batasan masalah, teknik pengumpulan data serta sistematika penulisan

BAB II. TINJAUAN PUSTAKA

Tinjauan Pustaka, dalam bab ini dijelaskan tentang teori pendukung yang digunakan untuk pembahasan dan cara kerja dari rangkaian. Teori pendukung itu antara lain tentang mikrokontroler Atmega 8535 (hardware dan software).

(17)

Pada bagian ini akan dibahas perancangan dari alat, yaitu diagram blok dari rangkaian dan diagram alir dari program yang akan diisikan ke mikrokontroler Atmega 8535

BAB IV. PENGUJIAN ALAT DAN PROGRAM

Pada bab ini akan dibahas hasil analisa rangkaian dan sistem kerja alat, penjelasan mengenai rangkaian-rangkaian yang digunakan, penjelasan mengenai program yang diisikan ke mikrokontroler Atmega 8535 dan pengujian alat secara keseluruhan

BAB V. KESIMPULAN DAN SARAN

(18)

BAB II

TINJAUAN PUSTAKA

2.1KWH Meter

2.1.1KWH 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.

(19)

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.

(20)

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

(21)

 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 :

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

(22)

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

(23)

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.2Relay

(24)

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.3Mikrokontroler ATMEGA8535

(25)

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”

(26)

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.

(27)

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

(28)

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

(29)

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 :

(30)

Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up 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 pull-up 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

(31)

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 pull-up 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 fungsi-fungsi 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

(32)

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

(33)

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

(34)

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.

(35)

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)

(36)

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.

(37)

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

(38)

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

(39)

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

(40)

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 :

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

(41)

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 <nama_preprosessor>

Contoh :

# include <mega8535.h>

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 :

{

Operator aritmatika adalah beberapa operator yang digunakan untuk melakukan perhitungan aritmatika.

Tabel 2.5 Operator Aritmatika

Operator Keterangan

(42)

/ 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;

(43)

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

} (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

(44)

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 program langsung dari CodeVisionAVR dengan menggunakan 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.

(45)

BAB III

PERANCANGAN SISTEM

3.1 Perancangan Alat

3.1.1 Diagram Blok Rangkaian

Adapun diagram blok dari sistem yang dirancang adalah seperti yang diperlihatkan pada gambar 3.1 berikut ini :

Gambar 3.1 Diagram Blok Rangkaian Sistem

(46)

phototransistor atau antara IR dan Phototransistor terdapat penghalang maka phototransistor akan off sehingga outputnya akan berlogika high (1).

Logika yang dihasilkan oleh output dari optocoupler akan dikirimkan ke mikrokontroler dimana setiap perubahan logika low (0) menjadi high (1) dikenali oleh mikro sebagai 1 putaran lempengan.

KWH yang kita gunakan memiliki spesifikasi 600/kwh yang sudah dikalibrasi, artinya bahwa untuk mengukur 1 KWH maka lempengan pelat yang ada pada meteran akan berputar sebanyak 600 kali (1 kwh = 600 putaran lempeng).

Sebagai bahan simulasinya, pada alat ini akan dioperasikan bahwa 1 putaran lempengan diartikan 1 kwh, sehingga pada proses penghitungan putaran ataupun kwhnya dapat terlihat lebih jelas.

Mikrokontroler akan mengirimkan perhitungan banyaknya putaran lempeng ke display LCD. Selanjutnya nilai tersebut akan dikalikan dengan nilai harga per KWH kemudian akan dikurangkan dari nilai jumlah rekening awal dan hasilnya yang merupakan sisa jumlah rekening akan ditampilkan juga pada LCD.

Mikrokontroler akan terus melakukan pengurangan nilai jumlah rekening awal sesuai dengan putaran lempeng (pemakaian listrik) sampai pada sisa sama dengan nol (0). Apabila mikro membaca data sisa nilai jumlah rekening listrik sama dengan nol (0) maka mikro akan langsung memberikan perintah untuk mengaktifkan coil relay dan relay akan membuka kontak hubungan power dari Kwh meter ke beban. Maka hal ini akan menyebabkan seluruh smbungan power listrik dari Kwh ke beban akan terputus sampai dilakukan kembali pengisian data (voucher rekening listrik).

3.1.2 Rangkaian Power Supplay (PSA)

(47)

Vreg

keluaran 5 volt digunakan untuk mensupplay tegangan ke seluruh rangkaian, sedangkan keluaran 12 volt digunakan untuk mensuplay tegangan ke relay 12 V DC. Rangkaian power supplay ditunjukkan pada gambar 3.2 berikut ini :

Gambar 3.2 Rangkaian Power Supplay (PSA)

Trafo CT merupakan trafo stepdown yang berfungsi untuk menurunkan tegangan dari 220 volt AC menjadi 12 volt AC. Kemudian 12 volt AC akan disearahkan dengan menggunakan dua buah dioda, selanjutnya 12 volt DC akan diratakan oleh kapasitor 2200 µF. Regulator tegangan 5 volt (LM7805CT) digunakan agar keluaran yang dihasilkan tetap 5 volt walaupun terjadi perubahan pada tegangan masukannya. LED hanya sebagai indikator apabila PSA dinyalakan. Transistor PNP TIP 32 disini berfungsi untuk memasok arus apabila terjadi kekurangan arus pada rangkaian, sehingga regulator tegangan (LM7805CT) tidak akan panas ketika rangkaian butuh arus yang cukup besar. Tegangan 12 volt DC langsung diambil dari keluaran 2 buah dioda penyearah.

3.1.3Rangkaian Mikrokontroler ATMega8535

(48)

Gambar 3.3 Rangkaian Mikrokontroler ATMega8535

Rangkaian ini berfungsi sebagai pusat kendali dari seluruh system yang ada. Komponen utama dari rangkaian ini adalah IC Mikrokontroler ATMega8535. Semua program diisikan pada memori dari IC ini sehingga rangkaian dapat berjalan sesuai dengan yang dikehendaki.

(49)

beberapa saat setelah power aktif. Lamanya waktu antara aktifnya power pada IC Mikrokontroler dan pogram adalah sebesar perkalian antara kapasitor dan resistor tersebut. Pin 9 merupakan masukan reset (aktif rendah). Pulsa transisi dari tinggi ke rendah akan me-reset mikrokontroler ini.

3.1.4Rangkaian Sensor Optocoupler

Rangkaian ini terdiri dari sebuah pemancar infra merah, dan sebuah rangkaian penerima infra merah (phototransistor). Sensor ini memiliki bentuk fisik berbentuk U, sehingga posisi antara pemancar dan penerima infra merah saling berhadapan. Ketika phototransistor menerima sinar dari pemancar maka phototransistor akan aktif sehingga sensor akan mengirimkan logika low (0) dan demikian sebaliknya ketika phototransistor tidak menerima sinar dari pemancar maka phototransistor tidak akan bekerja sehingga sensor akan mengirimkan logika high (1).

(50)

Gambar 3.5 Rangkaian Optocoupler

Pada rangakaian ini resistor 220 Ohm dan 10 KOhm dihubungkan ke Vcc 5 Volt yang bertujuan untuk menghambat arus listrik yang akan masuk ke pemancar infra merah dan kolektor dari phototransistor. Dari kaki emitter optocoupler dihubungkan ke sebuah transistor, yaitu transistor C945 yang bertujuan untuk menguatkan keluaran dari optocoupler dan transistor C945 dihubungkan ke Vcc 5 Volt melalui sebuah resistor 4.7 KOhm. Vo adalah output dari rangkaian keseluruhan sensor optocoupler. Vo dihubungkan ke AVR melalui sebuah resistor 12 Ohm, kemudian AVR akan menerima data putaran piringan yaitu setiap perubahan logika output yang dikirimkan oleh sensor akan dikenali oleh mikro sebagai satu (1) putaran piringan yang kemudian akan diolah untuk menjalankan sistem.

3.1.5 Rangkaian Keypad untuk ATMega8535

(51)

Gambar 3.6 Skematik rangkaian keypad

3.1.6 Perancangan Rangkaian LCD (Liquid Crystal Display)

Pada alat ini, display yang digunakan adalah LCD (Liquid Crystal Display) 16 x 2. Untuk blok ini tidak ada komponen tambahan karena mikrokontroler dapat memberi data langsung ke LCD, pada LCD Hitachi - M1632 sudah terdapat driver untuk mengubah data ASCII output mikrokontroler menjadi tampilan karakter. Pemasangan potensio sebesar 5 KΩ untuk mengatur kontras karakter yang tampil.

(52)

Rangkaian ini terhubung ke PB.0 .... PB.7, yang merupakan pin I/O dua arah dan pin fungsi khusus, yaitu sebagai Timer/Counter, komperator analog dan SPI mempunyai fungsi khusus sebagai pengiriman data secara serial. Sehingga nilai yang akan tampil pada LCD display akan dapat dikendalikan oleh Mikrokontroller ATMega8535.

3.1.7 Perancangan Rangkaian Relay

Rangkaian relay pada alat ini berfungsi untuk memutuskan atau menghubungkan daya ke KWH Meter listrik dan beban. Gambar rangkaian relay ini ditunjukkan pada gambar 3.8 berikut ini :

Gambar 3.8 Rangkaian Relay

(53)

elektronik. Tegangan pemicu dari transistor berasal dari mikrokontroller. Pada saat mikrokontroller memberikan logika tinggi (high), maka transistor mendapat tegangan bias dari kaki basis. Dengan adanya tegangan ini maka transistor akan aktif (saturation), sehingga ada arus yang mengalir ke kumparan relay. Hal ini akan menyebabkan saklar pada relay (12 Volt DC) tertutup, sehingga arus akan mengalir ke kumparan (coil) relay 220 Volt AC. Pada keadaan ini, saklar NO (normally open) pada relay 220 Volt AC akan tertutup dan daya dari PLN akan mengalir ke MCB dan KWH Meter yang selanjutnya ke beban. Demikian juga sebaliknya, pada saat mikrokontroller memberikan logika rendah (low) maka relay pun tidak akan dialiri arus dan saklar relaypun akan tetap terbuka sehingga daya dari PLN akan terputus.

3.2 Perancangan Program

Diagram alir pemrogramannya adalah sebagai berikut :

Start Relay 12 VDC & 220 VAC

Ya

Tidak

(54)

Pada saat power dihidupkan, maka program akan langsung membaca jumlah unit KWH sisa yang ada di memori dan akan Langsung ditampilkan ke display (LCD). Apabila program membaca jumlah unit KWH yang tersisa kurang dari 20 KWH maka program akan mengirimkan perintah untuk menghidupkan alarm/lampu indikator tanda Voucher yang akan segera habis dan disarankan untuk segera melakukan pengisian voucher unit KWH. Kemudian program akan melanjutkan menghitung counter. Dan apabila program membaca unit sisa KWH sisa sama dengan nol maka program akan memberikan perintah untuk menonaktifkan relay 12 Volt DC, kontak relay ini akan memutuskan hubungan dari koil relay 220 Volt AC dan menonaktifkannya.

Counter akan mengenali setiap perubahan logika low (0) menjadi high (1) sebagai 1 putaran piringan KWH Meter. Apabila counter telah menghitung putaran piringan sampai sepuluh kali maka program akan menambahkan satu (1) unit nilai KWH. Artinya satu (1) unit KWH sama dengan sepuluh (10) putaran piringan KWH Meter, dan pemakaian ini akan langsung dikurangkan dari unit KWH awal, kemudian sisanya akan ditampilkan pada display LCD 2 X 16.

(55)

BAB IV

PENGUJIAN ALAT DAN PROGRAM

4.1 Pengujian Rangkaian Mikrokontroller AVR ATMega8535

Untuk mengetahui apakah rangkaian mikrokontroller bekerja dengan baik, maka dilakukan pengujian. Pengujian pada bagian ini dilakukan dengan memberikan program sederhana pada mikrontroller. Programnya adalah sebagai berikut :

/******************************************************************** Moving LED

CodeVisionAVR C Compiler Chip: ATMega8535

Memory Model: SMALL Data Stack Size: 128 bytes

8 LEDs are connected between the PORTC outputs and +5V using 1K current

limiting resistors

The LEDs anodes are connected to +5V

********************************************************************/ // I/O register definitions for ATMega8535

# include < mega8535.h>

// quartz crystal frquency [Hz] # define xtal 12000000

// moving LE D frequency [Hz] # define fmove 2

// the LE D on PORTC output 0 will be on unsigned char led_status= 0xfe;

(56)

interrupt [TIM1_OVF] void timer1_overflow(void)

if (led_status= = 0xff) led_status= 0xfe; // turn on the LED

// all PORTC pins are outputs DDRC= 0xff;

// turn on the first LE D PORTC= led_status;

// init TIME R1

// TIME R1 is disconnected from pin OC1 // no PWM

TCCR1A= 0;

// TIME R1 clock is xtal/1024 TCCR1B= 5;

// preset TIME R1

TCNT1= 0x10000-(xtal/1024/fmove); // clear TIME R1 interrupts flags TIFR= 0;

// enable TIME R1 overflow interrupt TIMSK= 0x80;

// all other interrupt sources are disabled GIMSK= 0;

// global enable interrupts # asm

sei # endasm

// the rest is done by TIME R1 overflow interrupts while (1);

}

(57)

pemindahan LED adalah 2 Hz. Setelah didownload ke mikrokontroller, program ini telah berjalan dengan baik dan LED bekerja sesuai dengan perintah.

4.2 Pengujian Rangkaian Sensor Optocoupler

Pengujian dari rangkaian ini dapat dilakukan dengan mengukur tegangan pada output rangkaian sensor. Dari hasil pengujian didapatkan tegangan sebagai berikut :

Tabel 4.1 Tegangan Output Sensor Optocoupler

Kondisi Tegangan pada Output Sensor

Lubang Piringan Terhalangi 0,2 Volt

Lubang Piringan Tidak Terhalangi 4,4 Volt

4.3 Pengujian Rangkaian Keypad

Pada bagian ini, pengujian akan dilakukan dengan memberikan program ke mikrokontroller untuk membaca output dari keypad. Dimana output itu adalah hasil dari penekanan tombol pada keypad yang menggunakan saklar push button didalamnya. Tombol ini mempunyai tiga masukan yakni untuk kolom, baris, dan kommon (pada perancangan disini kommon dihubungkan ke ground). Dengan disetnya kommon dengan ground, apabila menekan tombol otomatis ketiga masukan terhubung, dengan kata lain kolom dan baris berlogika ‘0’ perubahan logika inilah yang diproses oleh mikrokontroler.

Maka untuk mendapatkan hasil sesuai dengan yang diinginkan, mikrokontroller diberi program sebagai berikut :

/********************************************************************

4x4 Keypad Demo

(58)

Chip: ATMega8535

Use an 2x16 alphanumeric LCD connected to PORTB:

********************************************************************/ # include < 90s8515.h>

// quartz crystal frequency [Hz] # define F_XTAL 12000000 // PIND0..3 will be row inputs # define KE YIN PIND

// PORTD4..7 will be column outputs # define KE YOUT PORTD

// used for TIME R0 count initialization

# define INIT_TIME R0 TCNT0= 0x100L-F_XTAL/64L/500L # define FIRST_COLUMN 0x80

if (column= = (LAST_COLUMN> > 1)) {

(59)

if (key_released_counter) --key_released_counter;

(60)

while (1)

Program ini akan menampilkan setiap karakter keypad yang ditekan pada sebuah display LCD yang terhubung ke PortB. Program ini telah berjalan dengan baik dan sesuai dengan kebutuhan perancangan alat.

4.4 Pengujian Rangkaian LCD

Rangkaian LCD dihubungkan ke PB.0 .... PB.7, yang merupakan pin I/O dua arah dan pin fungsi khusus, yaitu sebagai Timer/Counter, komperator analog dan SPI mempunyai fungsi khusus sebagai pengiriman data secara serial. Sehingga nilai yang akan tampil pada LCD display akan dapat dikendalikan oleh Mikrokontroller ATMega8535.

Pada bagian ini, mikrokontroler dapat memberi data langsung ke LCD. Pada LCD Hitachi - M1632 sudah terdapat driver untuk mengubah data ASCII output mikrokontroler menjadi tampilan karakter.

Pengujian rangkaian LCD dilakukan dengan memberikan program pada mikrokontroller untuk menampilkan karakter pada display LCD. Programnya adalah sebagai berikut :

/********************************************************************

(61)

CodeVisionAVR C Compiler Chip: ATMega8535

Use an 2 x 16 alphanumeric LCD connected to PortB:

********************************************************************/ # include < mega8535.h>

(62)

OCR2= 0x00;

(63)

Pengujian dikakukan dengan memberikan tegangan 5 Volt pada basis transistor, jika relay (12 Volt dan 220 Volt) aktif dan daya dari PLN terhubung ke KWH Meter maka rangkaian ini telah berfungsi dengan baik.

4.5 Pengujian Sistem

Pengujian dilakukan dengan memberi beban pada system dengan besar beban mulai 50 Watt sampai 500 Watt. Dengan pengujian tersebut dicatat waktu yang diperlukan untuk memutuskan aliran listrik berdasarkan nilai nominal unit KWH yang berada didalam memori yang berarti aliran listrik terputus jika nilai nominal unit KWH habis. Memori diisi dengan data mulai dari satu sampai beberapa unit KWH sesuai dengan pemakaian, dan counter yang dibuat adalah sepuluh counter.

Adapun yang dimaksud dengan counter adalah variabel yang dipakai untuk menghitung banyaknya putaran untuk pengurangan tiap unit KWH memori. Jika counter berisi sepuluh (10) maka tiap kali piringan berputar sepuluh kali, mikrokontroller akan langsung melakukan pengurangan satu unit KWH (sepuluh putaran bernilai satu unit).

Pengujian ini dibandingkan dengan hasil perhitungan menurut rumus :

W = P x T ...……….… (pers 4.1) Dimana : W : Watthour (WH)

P : Daya dari beban yang dipakai (Watt) T : Waktu (Jam)

(64)

Berikut ini diberikan tabel beserta grafik dari hasil perhitungan, yang akan dibandingkan langsung dengan tabel dan grafik hasil pengujian. Hanya saja untuk waktu tidak diberikan dalam Jam melainkan dalam detik (s). Pada alat diisi rekening atau unit Kwh sebesar Rp 10.000,- dimana setiap Kwh sama dengan Rp 650,- dan pada pengujian ini setiap unit Kwh diberikan counter sama dengan sepuluh (10).

Tabel 4.2 Tabel Pengujian dan Perhitungan Waktu

Jumlah Waktu Waktu

Beban (Watt)

Counter Pengujian (s) Perhitungan (s)

50 18804.61538 18461.53846

100 9449.230769 9230.769231

150 6338.461538 6153.846154

200 4846.153846 4615.384615

250 3876.923077 3692.307692

300 3249.230769 3076.923077

350 2713.846154 2637.384615

400 2384.615385 2307.692308

450 2132.307692 2051.230769

500

Gambar 4.2 Grafik Pengujian dan Perhitungan Waktu

(65)

yang dilakukan untk menghabiskan Voucher Rek Listrik sebesar Rp 10.000,-. Karena pada sistem dipakai ketentuan bahwa biaya pemakaian beban 1 kWh sama dengan Rp 650,- maka kWh Meter Prabayar akan memiliki 15,38462 kWh yang dapat digunakan. Jumlah ini akan membuat piringan kWh berputar sebanyak 153,8462 putaran karena pada sistem dibuat 1 kWh sama dengan 10 putaran piringan.

Dari grafik terlihat bahwa semakin besar daya yang dipakai, maka semakin cepat pula waktu yang dibutuhkan untuk melakukan putaran sehingga Voucher akan semakin cepat pula habis. Demikian pula sebaliknya.

Analisa Ketelitian Alat.

Dari hasil pengujian terlihat bahwa dengan beban yang semakin besar waktu yang diperlukan untuk memutus aliran listrik semakin kecil. Hal ini menunjukkan bahwa putaran piringan KWH meter semakin cepat, sehingga pemotongan unit KWH berlangsung lebih cepat pula. Dari pengujian pula terlihat bahwa sistem cukup stabil, yang terbukti dengan waktu pemotongan satu unit KWH yang sebanding sesuai dengan masing-masing beban yang diberikan.

% Kesalahan (error) =

Tabel 4.3 Tabel Kesalahan Antara Hasil Pengujian dengan Perhitungan

(66)
(67)

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Dari hasil perancangan alat hingga pengujian dan pembahasan sistem maka penulis dapat menarik kesimpulan, antara lain :

1. KWH Meter dengan sistem prabayar ini telah mampu bekerja dengan baik, KWH mampu mendeteksi putaran piringan KWH Meter Analog dan mampu menghitung jumlah putaran yang terjadi serta mampu melakukan pemotongan jumlah unit KWH sesuai dengan beban pemakaian daya listrik.

(68)

5.2 Saran

Setelah melakukan penelitian, diperoleh beberapa hal yang dapat dijadikan saran untuk dilakukan penelitian lebih lanjut yaitu :

1. Sebaiknya digunakan Smart Card untuk sistem pembayaran, sehingga alat yang dibuat bisa lebih efisien dalam sistem pengisian ulang Voucher Rekening Listrik

(69)

DAFTAR PUSTAKA

Bejo, A. 2008. C dan AVR Rahasia Kemudahan Bahasa C dalam Mikrokontroller ATMega8535, Edisi I. Yogyakarta : Graha Ilmu

Budihartono, W dan Jefri, T. 2007. 12 proyek Sistem Akuisisi Data. Jakarta : PT Elex Media Komputindo

Malvino. 1985. Prinsip – prinsip elektronika, Edisi III, Jilid 1. Jakarta : Gramedia Pustaka Umum

Nishino, O. 1974. Pengukuran dan Alat-alat Ukur Listrik. Cetakan Pertama. Jakarta : PT Pradnya Paramita

Wardhana, L. 2006. Belajar Sendiri Mikrokontroler AVR Seri ATMega8535. Yogyakarta : Penerbit Andi

http://www.atmel.com. Diakses tanggal 7 November 2009

(70)

Lampiran.

A. Program Prepaid kWh Sistem

/******************************************************************** This program was produced by the

CodeWizardAVR V2.03.4 Standard

© Copyright Micronic Laboratory, Physics Department University Of Sumatera Utara Company : Micronic Laboratory

Chip type : ATMega8535

(71)

unsigned char buf[33];

// Alphanumeric LCD Module functions #asm

.equ __lcd_port=0x18 ;PORTB #endasm

#include <lcd.h>

// External Interrupt 1 service routine

interrupt [EXT_INT1] void ext_int1_isr(void)

// This flag is set on USART Receiver buffer overflow bit rx_buffer_overflow;

(72)

char status,data; status=UCSRA; data=UDR;

if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0) {

rx_buffer[rx_wr_index]=data;

if (++rx_wr_index == RX_BUFFER_SIZE) rx_wr_index=0; if (++rx_counter == RX_BUFFER_SIZE)

{

// Get a character from the USART Receiver buffer #define _ALTERNATE_GETCHAR_

if (++rx_rd_index == RX_BUFFER_SIZE) rx_rd_index=0; #asm("cli")

(73)

}

// Declare your global variables here

unsigned int cnt;

// External Interrupt 0 service routine

interrupt [EXT_INT0] void ext_int0_isr(void)

// Declare your local variables here

(74)

unsigned char kupon[4];

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTA=0x00;

DDRA=0xff;

// Port B initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTB=0x00;

DDRB=0x00;

// Port C initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTC=0x00;

DDRC=0xf0;

// Port D initialization

// Func7=Out Func6=Out Func5=Out Func4=Out Func3=In Func2=In Func1=In Func0=In

// State7=0 State6=0 State5=0 State4=0 State3=T State2=T State1=T State0=T PORTD=0x00;

DDRD=0xF0;

// Timer/Counter 0 initialization // Clock source: System Clock // Clock value: 10.800 kHz // Mode: Normal top=FFh // Clock source: System Clock // Clock value: Timer 1 Stopped // Mode: Normal top=FFFFh // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off

(75)

// Timer 1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00; // Clock source: System Clock // Clock value: Timer 2 Stopped // Mode: Normal top=FFh

// INT0 Mode: Falling Edge // INT1: On

// INT1 Mode: Falling Edge // INT2: Off

(76)

if (pulsa == 0xffff) pulsa = 100;

(77)
(78)
(79)

lcd_gotoxy(0,1);

lcd_putsf ("isi kode : "); kol = 12;

idx = 0; while(1) {

// pengisian kode voucher key_in = getchar();

if (key_in == 10) key_in = 0; if (key_in < 10)

(80)

B. Gambar Rangkaian Lengkap Prepaid kWh

Vreg

LM7805CT

IN OUT

TIP32C

100ohm

100uF

330ohm 220V 50Hz 0Deg

TS_PQ4_12

2200uF 1uF

1N5392GP 1N5392GP

12 Volt

Gambar

Gambar 2.1 KWH Meter Analog
Gambar 2.3 Skema Hubungan Kumparan Pada KWH Meter
Gambar 2.4 Prinsip Dasar KWH Meter
Gambar 2.5 Relay 8 Pin
+7

Referensi

Dokumen terkait

Dengan ini meminta kiriman Tanah Merah Super ke Lokasi Pertamina di Desa Sedari, Kecamatan Cibuaya, Kabupaten Karawang sebanyak 10,000 ritasi, kepada.. Nama

Setlah terjadinya peristiwa the boston tea party, pemerintah inggris mengeluarkan UU paksa (coervice Act) tahun 1774 yang memperbolehkan tentang tentara Inggris untuk menangkap

Quantification of c-Myc expression on mamary lobulus cell (Fig.4) showed that lobulus cell in OVX groups expressed c-Myc lower than NOVX groups while estradiol group

perkotaan dan kawasan perdesaan. Pengembangan permukiman kawasan perkotaan terdiri dari:.. ASPEK TEKNIS PER SEKTOR VIII - 10 1) pengembangan kawasan permukiman baru

(Sinar Baru Algensindo, Bandung.. Masih minimnya aksesbilitas akan pelatihan ketrampilan sepatu lukis dan jenis ketrampilan lainnya dalam kegiatan untuk meningkatkan

Penelitian ini bersifat retrospektif dan merupakan studi deskriptif , untuk mengetahui hubungan antara faktor iklim (suhu, curah hujan, hari hujan dan kelembaban

Tujuan penelitian ini adalah untuk mengembangkan sistem pakar identifikasi awal penyakit kedelai dengan mengadopsi metode Expert System Development Life Cycle (ESDLC) untuk

Hal ini menunjukkan bahwa H 1 diterima, artinya tada hubungan antara pola pemberian ASI dengan perkembangan bayi usia 9 bulan.Hasil penelitian Lidya dan Rodiah