bab 3 perancangan alat
TRANSCRIPT
BAB III
PERANCANGAN ALAT
3.1. Blok Diagram Rangkaian
Untuk merealisasikan alat penghitung pemakaian listrik digital ini, maka
langkah yang pertama kali dilakukan adalah dengan membuat blok diagram alat
seperti pada Gambar 3.1
Gambar 3.1. Diagram blok alat
3.2. Realisasi Rangkaian
Langkah berikutnya adalah merelaisasikan rangkaian setiap blok, Rangkaian –
rangkaian yang akan dibuat yaitu :
- Rangkaian Sensor
- Rangkaian Mikrokontroler
- Rsngksisn Display
3.2.1. Rangkaian Sensor.
KWH METER SENSOR MIKROKONTROLER
DISPLAY
Rangkaian sensor berfungsi sebagai masukkan bagi sistem mikrokontroler.
Rangkaian sensor ini akan mendeteksi putaran piringan alumunium pada KWH Meter.
Pada piringan alumunium diberi lubang agar sensor optocoupler dapat mendeteksi
putaran piringan alumunium tersebut seperti yang terlihat pada Gambar 3.2
Gambar 3.2. Piringan Alumunium KWH Meter yang telah dilubangi
Setelah dilubangi, KWH Meter di modifikasi dengan membuat kedudukan untuk
sensor opto sehingga akan menjadi seperti pada Gambar 3.3
Jumlah lubang akan mempengaruhi rumus perhitungan yang nantinya akan di
masukan ke mikrokontroler. Sebagai contoh alat yang dibuat disini, KWH Meter
memiliki spesifikasi 1200 putaran per KWH, artinya harus ada 20 putaran per menit
untuk mencapai satu KWHnya. Perhitungan biaya per KWH saat ini berdasarkan TDL
R2 (3500 Watt) adalah Rp. 600,00 ( sudah berikut PPN ) artinya per menit = Rp.
10,00. Jika demikian apabila lubangnya dibuat menjadi 10 titik maka jumlah pulsa
per KWH adalah 20 putaran x 10 titik = 200 titik. Dari perhitungan diatas didapat
nilai setiap lubang per menitnya adalah 10 : 200 = Rp. 0,05
Gambar 3.3 memperlihatkan cara meletakan sensor optocoupler pada rangka KWH
Meter.
Gambar 3.3. Sensor Optocoupler diberikan kedudukan pada KWH Meter.
Cara kerja dari rangkaian sensor adalah sebagai berikut :
1. Saat piringan alumunium berputar maka lubang – lubang pada piringan
alumunium ikut berputar.
2. Lubang lubang tersebut dideteksi oleh sensor optocoupler dimana
keluarannya berupa pulsa-pulsa listrik
3. Pada saat sensor optocoupler bertemu lubang pada piringan alumunium
maka sinar infra merah atau sinar LED akan tembus sehingga sensor
optocoupler mengalirkan arus listrik, sedangkan apabila tertutup maka
sensor optocoupler akan berhenti mengalirkan arus listrik
4. Pulsa–pulsa listrik itu kemudian diolah agar keluarannya sesuai dengan
yang dibutuhkan oleh masukkan dari mikrokontroler.
Berikut ini adalah gambar dari rangkaian sensor.
Gambar 3.4 : Rangkaian Sensor
3.2.2 Rangkaian Mikrokontroler
Rangkaian mikrokontroler berisikan sebuah mikrokontroler Atmel,
sebuah rangkaian kristal dan rangkaian reset. Port yang difungsikan untuk
mengendalikan tampilan display adalah Port 1.0 … Port 1.7 dan Port 2.0 …
Port 2.7. Untuk dapat mengendalikan kerja dari mikrokontroler ini, sebuah
program harus dibuat untuk kemudian di-download ke dalam mikrokontroler
pada bagian Flash Mikrokontroler.
Optocoupler
Gambar 3.5 Rangkaian Mikrokontroler
3.2.3 Rangkaian Display
Rangkaian display berisikan delapan buah seven segment
Penampil Seven Segment bertugas untuk menampilkan jumlah biaya pemakaian biaya
listrik dalam rupiah, sedangkan �ecompile LED menampilkan putaran piringan
alumunium pada KWH Meter.
Gambar 3.6 Rangkaian Mikrokontroler & Display
3.3 Perancangan Program untuk Mikrokontroler AT89C51
Setelah merealisasikan rangkaian perangkat keras sistem, maka langkah
selanjutnya adalah membuat program untuk menjalankan alat tersebut. Program untuk
mikrokontroler AT89C51 ini dibuat menggunakan bahasa assembler ASM51. Sesudah
di-compile menjadi file hexa (*.hex), program ini kemudian di-download ke dalam
mikrokontroler menggunakan mikrokontroler programmer.
3.3.1. Program Untuk Mikrokontroler
Program pada mikrokontroler ini terdiri dari program penerima sinyal
masukkan, program untuk menghitung pulsa per menitnya, program perhitungan
biaya dan program penampil seven segment
3.3.1.1.Diagram Alir
Tidak
3.3.1.2.Program Pada Mikrokontroler
Inisialisasi Vektor Intrupsi
Siapkan Register-register penampung biaya listrik
Siapkan lokasi memori penampung tampilan seven
Aktifkan timer 0
Setting Interupsi eksternal 0
Isi pencacah menit = 60
Isi pencacah timer
Setting timer 0 mode 1
Isi pencacah detik = 20
Aktifkan interupsi eksternal 0 dan timer 0
Isi register DPTR dengan base address angka
Tampilkan biaya listrik (scanning display)
START Mulai
Biaya listrik = Biaya listrik + 0,05
RET1
Mulai
Non-aktifkan timer 0
Isi ulang pencacah timer
Aktifkan timer
Apakah sudah 1 menit ?
Pindahkan biaya listrik ke lokasi memori penampung tampilan 7
segment
RET1
Program Interupsi Timer :
Ya
Program Utama : Program Interupsi Eksternal :
Gambar 3.7. Diagram Alir Mikrokontroler
Untuk mendapatkan 1 detik maka perlu di set ke mode 1 dan pencacah diberi nilai 50000 mickrodetik * 20 = 1000000 mikrodetik = 1 detik, demikian pula untuk 1 menit maka perlu dikalikan 60 detik
Program ini berfungsi untuk membaca pulsa – pulsa masukkan yang
dikirimkan sensor dan kemudian melakukan perhitungan dan menampilkan jumlah
dari pemakaian energi listrik dalam rupiah yang ditampilkan oleh seven segment.
Listing programnya adalah sebagai berikut :
waktu equ -49995 ; konstanta waktu = -49995 (49,995ms)
org 0h ; inisialisasi interupsi reset
jmp utama
org 03h ; inisialisasi interupsi eksternal0
jmp pulsa
org 0bh ; inisialisasi interupsi timer0
jmp menit
utama: mov r0,#0 ; setting kondisi register-register
mov r1,#0 penampung harga biaya listrik
mov r2,#0
mov r3,#0
mov r4,#0
mov r5,#0
mov r6,#0
mov r7,#0
mov 30h,#0 ; setting tampilan awal seven segment
mov 31h,#0ah
mov 32h,#0ah
mov 33h,#0ah
mov 34h,#0ah
mov 35h,#0ah
mov 36h,#0ch
mov 37h,#0bh
mov 38h,#20 ; faktor pengali timer untuk 1 detik
mov 39h,#60 ; faktor pengali timer untuk 1 menit
mov tmod,#01h
mov th0,#high(waktu) ; isi pencacah timer
mov tl0,#low(waktu)
setb tr0 ; aktifkan timer
setb it0 ; interupsi eksternal terjadi
mov ie,#83h ; aktifkan interupsi timer dan eksternal
mov dptr,#angka0 ; simpan base address angka pada DPTR
scan: mov a,37h ; tampilkan tampilan awal pada 7segmen
movc a,@a+dptr
mov p2,a
mov p1,#11111110b
call tunggu
mov a,36h
movc a,@a+dptr
mov p2,a
mov p1,#11111101b
call tunggu
mov a,35h
movc a,@a+dptr
mov p2,a
mov p1,#11111011b
call tunggu
mov a,34h
movc a,@a+dptr
mov p2,a
mov p1,#11110111b
call tunggu
mov dptr,#angka1
mov a,33h
movc a,@a+dptr
mov p2,a
mov p1,#11101111b
call tunggu
mov dptr,#angka0
mov a,32h
movc a,@a+dptr
mov p2,a
mov p1,#11011111b
call tunggu
mov a,31h
movc a,@a+dptr
mov p2,a
mov p1,#10111111b
call tunggu
mov a,30h
movc a,@a+dptr
mov p2,a
mov p1,#01111111b
call tunggu
jmp scan
pulsa: inc r0 ; hitung biaya listrik
inc r0
inc r0
inc r0
inc r0
cjne r0,#0ah,back
mov r0,#0
inc r1
cjne r1,#0ah,back
mov r1,#0
inc r2
cjne r2,#0ah,back
mov r2,#0
inc r3
cjne r3,#0ah,back
mov r3,#0
inc r4
cjne r4,#0ah,back
mov r4,#0
inc r5
cjne r5,#0ah,back
mov r5,#0
inc r6
cjne r6,#0ah,back
mov r6,#0
inc r7
cjne r7,#0ah,back
mov r7,#0
back: reti
menit: clr tr0
mov th0,#high(waktu) ; isi ulang timer
mov tl0,#low(waktu)
setb tr0 ; aktifkan timer
djnz 38h,belum ; keluar jika belum 1 detik
mov 38h,#20 ; isi ulang pencacah 1 detik
djnz 39h,belum ; keluar jika belum 1 menit
mov 39h,#60 ; isi ulang pencacah 1 menit
cjne r7,#0,ubah ; jika harga tidak = 0, lompat ke ubah
cjne r6,#0,ubah1
cjne r5,#0,ubah2
cjne r4,#0,ubah3
cjne r3,#0,ubah4
jmp ubah5
ubah: mov 35h,r7 ; pindahkan harga ke register tampilan
ubah1: mov 34h,r6
ubah2: mov 33h,r5
ubah3: mov 32h,r4
ubah4: mov 31h,r3
ubah5: mov 30h,r2
belum: reti
tunggu: mov 40h,#3
del1: mov 41h,#250
del2: djnz 41h,del2
djnz 40h,del1
ret
angka0: db 11h,0dbh,38h,98h,0d2h,94h,14h,0d9h,10h,90h,0ffh,75h,60h
angka1: db 01h,0cbh,28h,88h,0c2h,84h,04h,0c9h,00h,80h,0ffh
end
3.3.1.3.Cara Kerja Alat
Pulsa–pulsa listrik yang dikeluarkan oleh sensor terjadi karena adanya putaran
piringan alumunium dan lubang–lubang di pinggirnya menyebabkan sinar dari
optocoupler terputus–putus dan menimbulkan pulsa – pulsa tersebut. Pulsa–pulsa itu
kemudian diumpankan ke rangkaian inverter. Untuk ini kami menggunakan IC HD
7404 yaitu IC inverter. Inverter ini dibutuhkan karena sinyal masukkan yang
diinginkan oleh mikrokontroler adalah aktif rendah. Setelah itu pulsa–pulsa tersebut
diolah pada mikrokontroler secara perhitungan matematisnya dan disajikan melalui
tampilan seven segment.