TUGAS AKHIR
Diajukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Elektro
Disusun oleh:
I WAYAN SANTRA
00 5114 006
PROGRAM STUDI TEKNIK ELEKTRO
JURUSAN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
TUGAS AKHIR
Diajukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Elektro
Disusun oleh:
I WAYAN SANTRA
00 5114 006
PROGRAM STUDI TEKNIK ELEKTRO
JURUSAN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2007
Final Project
Presented as Partial Fulfillment of the Requirements
To Obtain the Sarjana Teknik Degree
In Electrical Engineering Study Program
By:
I WAYAN SANTRA
00 5114 006
Electrical Engineering Study Program
Electrical Engineering Department
Faculty of Engineering
Sanata Dharma University
Yogyakarta
2007
KEGAGALAN ADALAH PROSES
UNTUK
MENUJU KEBERHASILAN
Dengan rasa syukur kepada Tuhan, sekripsi ini
saya persembahkan untuk:
Kedua orang tuaku tercinta
Adik-adikku tersayang
Kekasihku yang aku sayangi
Sahabat – sahabatku yang terbaik
INTISARI
Hour meter
adalah alat yang dapat digunakan untuk mengetahui berapa
lama kerja suatu peralatan. Alat ini secara khusus digunakan untuk peralatan
elektronika yang menggunakan catu daya AC (
Alternating Current
) 5 sampai
500 Watt 220 Volt.
Dalam penelitian ini
hour meter
dikendalikan dengan sebuah
mikrokontroler MC68HC908QY4 buatan Motorola, antarmuka I
2C (
Inter
Integrated Circuit
)
dengan RTC (
Real Time Clock
) DS1307 sebagai sumber
informasi waktu. Data hasil pengukuran ditampilkan dengan sebuah modul LCD (
Liquid Crystal Display
) M1632 16x2.
Hour meter
juga dilengkapi dengan 2 buah
tombol
push button
untuk pengaturan waktu dan memilih menu yang hendak
ditampilkan pada LCD.
Hour meter
ini sudah dicoba dan dapat bekerja pada beban resistif 5 Watt,
10 Watt, 25 Watt, 35 Watt, 40 Watt, 50 Watt, 65 Watt, 100 Watt, 150 Watt, 200
Watt, 300, Watt, 400 Watt dan 500 Watt AC 220 Volt, juga pada beban induktif
72 Watt AC 220 Volt. Data yang ditampilkan berupa informasi tanggal peralatan
pertama dan terakhir digunakan, lama penggunaan peralatan terakhir serta total
penggunaan dari awal sampai akhir.
Kata kunci :
Hour meter
, MC68HC908QY4.
ABSTRACT
Hour meter is appliance which can be used to know how long work an
equipments. This appliance peculiarly to be used at electronics equipments using
power supply AC 5 until 500 Watt 220 Volt.
In this research is hour meter controlled with a microcontroller
MC68HC908QY4 made in Motorola, with Inter Integrated Circuit ( I
2C ) interface
Real Time Clock ( RTC ) DS1307 as source of time information. Result of
measurement presented with a module Liquid Crystal Display ( LCD ) M1632
16x2. Hour meter also provided by 2 tactile switch for the arrangement of time
and chosen the menu which will be presented at LCD.
This hour meter have been tried and can put hand to the 5 Watt, 10 Watt,
25 Watt, 35 Watt, 40 Watt, 50 Watt, 65 Watt, 100 Watt, 150 Watt, 200 Watt, 300,
Watt, 400 Watt and 500 Watt AC 220 Volt resistive load, also at 72 Watt AC 220
Volt inductive load.
Data presented by the form of information date of used last
and first equipments, how long last equipments use and also totalize the use from
early to the last.
Keyword : hour meter, MC68HC908QY4.
anugerah dan rahmatNya yang dilimpahkan kepada penulis, sehingga penulis
dapat menyelesaikan skripsi dengan judul
“Hour Meter
” guna memperoleh gelar
Sarjana Teknik pada Jurusan Teknik Elektro, Fakultas Teknik, Universitas Sanata
Dharma.
Penulis menyadari bahwa selesainya laporan ini tidak terlepas dari adanya
bantuan dari berbagai pihak baik moril ataupun material, untuk itu penulis
menyampaikan terima kasih yang sebesar – besarnya kepada:
1.
Bapak Djoko Untoro Suwarno, S.Si, MT selaku dosen pembimbing
dengan penuh kesabaran membimbing dan mengarahkan penulis sehingga
dapat menyelesaikan tugas akhir ini.
2.
Bapak Martanto, ST, MT, Bapak Damar Wijaya, ST, MT dan Ir. Th.
Prima Ari Setiyani, MT selaku dosen penguji yang telah banyak memberi
masukan yang bermanfaat bagi penulis.
3.
Seluruh staf dosen teknik elektro yang tidak bisa saya sebutkan satu per
satu yang telah menbimbing penulis selama menempuh perkuliahan.
4.
Seluruh staf sekretariat serta laboran teknik elektro yang tidak bisa saya
tulis satu per satu terima kasih atas bantuan dan pelayanannya.
5.
Kedua orang tua, I Wayan Samah dan Ni Nyoman Apti, dengan ketabahan
dan kasih sayangnya selalu memberikan dukungan moral serta materi
kepada penulis dalam menempuh pendidikan.
6.
Kedua adikku, Nengah Budiani dan Nyoman Suratni, seluruh keluarga
serta saudara – saudaraku tersayang yang telah memberi dukungan
semangat kepada penulis.
7.
Sayangku, Gst. Ayu Made Anita Dwi Damayanti dengan ketulusan cinta
dan sayangnya yang selalu sabar memberi dukungan semangat saat penulis
lemah serta ikut berbagi dalam suka maupun duka.
Putu Tina, D’Dwix, D’GABENG “selamat melanjutkan perjuangan
kawan!”.
9.
Bapak Raymond Weisling, Mas dodo, Mas Ikhwanto, Mas Yusuf dan Mas
Wijaya yang telah memberi masukan-masukan dan ide-ide sehingga
skripsi ini bisa diselesaikan.
10.
Rekan – rekan mahasiswa teknik elektro yang tidak bisa disebutkan satu
per satu telah memberikan dukungan selama kuliah dan pengerjaan tugas
akhir ini.
11.
Semua pihak yang turut berperan dalam memberi dorongan dan arahan
kepada penulis.
Penulis menyadari bahwa skripsi ini masih banyak kekurangan, karena
terbatasnya pengetahuan dan kemampuan penulis. Oleh karena itu penulis
mengharapkan saran dan kritik pembaca yang bersifat membangun guna
kelengkapan tugas akhir ini.
Yogyakarta, Januari 2007
Penulis
HALAMAN JUDUL (INDONESIA) ... i
HALAMAN JUDUL (INGGRIS)... ii
LEMBAR PENGESAHAN PEMBIMBING... iii
LEMBAR PENGESAHAN PENGUJI ... iv
LEMBAR PERNYATAAN KEASLIAN KARYA... v
MOTTO ... vi
HALAMAN PERSEMBAHAN ... vii
INTISARI... viii
ABSTRACT
... ix
KATA PENGANTAR ... x
DAFTAR ISI... xii
DAFTAR GAMBAR ... xv
DAFTAR TABEL... xvii
BAB I PENDAHULUAN
... 1
1.1 Latar Belakang... 1
1.2 Perumusan Masalah ... 2
1.3 Batasan Masalah ... 3
1.4 Tujuan ... 3
1.5 Manfaat ... 4
1.6 Metodologi Penelitian... 4
1.7 Sistematika Penulisan ... 5
BAB II DASAR TEORI
... 6
2.1 Komunikasi IIC ... 6
2.2 Hour Meter... 8
2.3 Real Time Clock (RTC) DS1307 ... 10
2.3.3 Peta Memori RTC... 13
2.3.4 Clock dan Kalender ... 14
2.4 Mikrokontroler Motorola MC68HC908QY4 ... 15
2.4.1 Penempatan Pin ... 17
2.4.2
Port A
... 18
2.4.2.1
Port A Data Register
... 18
2.4.2.2
Data Direction Port A
(DDRA) ... 19
2.4.2.3
Port A Input Pullup Enable Register
(PTAPUE) ... 20
2.4.3 Port B ... 21
2.4.3.1
Port B Data Register
... 21
2.4.3.2
Data Direction Register
B (DDRB) ... 22
2.4.3.3
Port B Input Pullup Enable Register
(PTBPUE) ... 22
2.4.4 Interupsi Eksternal (IRQ) ... 23
2.4.4.1
IRQ Status and Control Register
(ISCR) ... 24
2.5
Shift Register
74HC595 ... 25
2.5.1 Deskripsi Pin... 25
2.6 Modul LCD M1632 ... 26
2.6.1 Pin-pin Modul M1632 ... 27
2.7 Rangkaian Detektor Beban ... 28
BAB III RANCANGAN PENELITIAN
... 31
3.1 Proses Perancangan ... 32
3.1.1 Spesifikasi perancangan ... 32
3.2 Perancangan Perangkat Keras... 35
3.2.1 Perancangan Antarmuka Mikrokontroler dengan DS1307... 36
3.2.2 Rangkaian Mikrokontroler dengan Tombol
Push Button
... 37
3.2.3 Perancangan Mikrokontroler dengan LCD M1632 ... 38
3.2.4 Perancangan Mikrokontroler Dengan Detektor Beban ... 39
3.3 Perancangan Perangkat Lunak... 42
3.3.5 Rutin Kirim Data ke RTC... 50
3.3.6 Subrutin Kondisi
Start
dan
Stop
serial ... 51
3.3.7 Subrutin Penampil ke LCD... 52
3.3.8 Subrutin IRQ... 55
3.3.9 Subrutin
Transmitter
Data ... 56
3.3.10 Subrutin
Receiver
Data ... 57
BAB IV HASIL DAN PEMBAHASAN
... 59
4.1 Hasil Perancangan Alat... 59
4.1.1 Data Hasil Pengamatan... 62
BAB V KESIMPULAN DAN SARAN
... 80
5.1 Kesimpulan ... 80
5.2 Saran ... 80
DAFTAR PUSTAKA
... 82
LAMPIRAN LISTING PROGRAM ... L1
LAMPIRAN DATASHEET ... L2
LAMPIRAN GAMBAR RANGKAIAN ... L3
Gambar 2.1 Sistem Bus I
2C ... 6
Gambar 2.2 Transfer Data dalam Bus Serial I
2C ... 8
Gambar 2.3 Diagram Blok Antarmuka Mikrokontroler dengan DS1307... 9
Gambar 2.4 Diagram Blok Antarmuka Mikrokontroler dengan LCD... 10
Gambar 2.5 Konfigurasi Pin DS1307 ... 12
Gambar 2.6 Diagram Blok MC68HC908QY4 ... 16
Gambar 2.7 Penempatan Pin MC68HC908QY4 ... 17
Gambar 2.8
Port A Data Register
... 18
Gambar 2.9
Data Direction Register
A (DDRA) ... 19
Gambar 2.10
Port A Input Pullup Enable Register
(PTAPUE)... 20
Gambar 2.11
Port B Data Register
(PTB) ... 21
Gambar 2.12
Data Direction Register B
(DDRB) ... 22
Gambar 2.13
Port B Input Pullup Enable Register
(PTBPUE) ... 23
Gambar 2.14 IRQ
Status dan Control Register
(INTSCR) ... 24
Gambar 2.15 Penempatan pin 74HC595... 25
Gambar 2.16 Konfigurasi Kaki M1632 Hitachi... 28
Gambar 2.17 Rangkaian Detektor Beban ... 29
Gambar 2.18 Rangkaian Pengubah AC ke DC ... 30
Gambar 3.1
Layout Hour Meter
Tampak Depan ... 32
Gambar 3.2
Layout Hour Meter
Tampak Belakang... 33
Gambar 3.3 Diagram Blok Hour Meter ... 33
Gambar 3.7 Rangkaian Detektor Beban... 40
Gambar 3.8 Koneksi MikrokontrolerDetektor Beban... 42
Gambar 3.9 Diagram Alir Umum Program... 43
Gambar 3.10 Diagram Blok Sistem Program ... 44
Gambar 3.11
Layout
Mode Pengaturan ... 45
Gambar 3.12 Layout Mode Mulai Penggunaan ... 45
Gambar 3.13
Layout
Mode Akhir Penggunaan... 45
Gambar 3.14
Layout
Mode Lama Penggunaan... 46
Gambar 3.15
Layout
Mode Total Penggunaan ... 46
Gambar 3.16 Diagram Alir Program Inisialisasi... 47
Gambar 3.17 Diagram Alir Program Utama ... 48
Gambar 3.18 Diagram Alir Pengambilan Data RTC ... 50
Gambar 3.19 Diagram alir Subrutin Kirim Data ke RTC ... 51
Gambar 3. 20 Diagram Alir
Start
dan
Stop
Serial ... 52
Gambar 3.21 Diagram Alir Tampilkan Data ke LCD... 53
Gambar 3.22 Diagram Alir Kirim Data Serial ke
Shift
Register... 54
Gambar 3.23 Diagram Alir IRQ ... 55
Gambar 3.24 Diagram Alir
Transmitter
Data ... 56
Gambar 2.25 Diagram Alir
Receiver
Data... 57
Gambar 4.1 Tampilan Alat Sebelum Digunakan untuk Pengukuran... 59
Gambar 4.2 Tampilan Alat Ketika Salah Satu Beban Dinyalakan ... 60
Gambar 4.3
Hour Meter
Tampak Depan ... 61
Gambar 4.4 Hasil Pengamatan dengan Osiloskop Digital ... 64
Tabel 2.1 Peta Alamat Untuk RTC DS1307 dan RAM ... 14
Tabel 4.1 Data Lama Waktu Hasil Pengamatan Stop Kontak
Beban
Pertama... 63
Tabel 4.2 Data Lama Waktu Hasil Pengamatan Stop Kontak
Beban
Kedua ... 64
Tabel 4.3 Data Lama Waktu Hasil Pengamatan Beban Resistif 5 W
pada Stop Kontak Pertama...66
Tabel 4.4 Data Lama Waktu Hasil Pengamatan Beban Resistif 5 W
pada Stop Kontak Kedua...66
Tabel 4.5 Data Lama Waktu Hasil Pengamatan Beban Resistif 100 W
pada Stop Kontak Pertama...67
Tabel 4.6 Data Lama Waktu Hasil Pengamatan Beban Resistif 100 W
pada Stop Kontak Kedua...67
Tabel 4.7 Data Lama Waktu Hasil Pengamatan Beban Resistif 500 W
pada Stop Kontak Pertama...68
Tabel 4.8 Data Lama Waktu Hasil Pengamatan Beban Resistif 500 W
pada Stop Kontak Kedua...68
Tabel 4.9 Data Lama Waktu Hasil Pengamatan Beban Induktif
pada Stop Kontak Pertama...70
Tabel 4.10 Data Lama Waktu Hasil Pengamatan Beban Induktif
pada Stop Kontak Kedua...70
Tabel 4.11 Data Tegangan Hasil Pengamatan untuk Beban Resistif
pada Stop Kontak Pertama...72
Tabel 4.12 Data Tegangan Hasil Pengamatan untuk Beban Resistif
pada Stop Kontak Kedua...73
Tabel 4.13 Data Tegangan Hasil Pengamatan untuk Beban Induktif
pada Stop Kontak Pertama dan Kedua...73
Tabel 4.14 Data Tegangan Hasil Pengamatan Beban dengan Kondisi
On
dan
off
otomatis...78
1.1 Latar
Belakang
Perkembangan teknologi sekarang sangat memegang peranan penting dalam
peradaban manusia. Seiring dengan perkembangan teknologi yang semakin modern,
banyak dijumpai beranekaragam peralatan elektronika yang tersedia di pasaran,
sehingga banyak pekerjaan dapat dilakukan dengan memanfaatkan teknologi
terutama teknologi elektronika. Sekarang penggunaan mesin atau peralatan
elektronika sudah menjadi kebutuhan hampir setiap sudut kehidupan manusia.
Tentunya pemakaian suatu peralatan memerlukan perawatan, karena komponen
penyusun peralatan tersebut pasti memiliki batas waktu pemakaian. Selain itu
pemakaian yang tanpa memperhatikan lama waktu penggunaan secara langsung
akan merugikan pemakai. Menjadi hal yang menarik apabila setiap penggunaan suatu
peralatan dapat diketahui lama waktu penggunaannya. Hal ini bisa menjadi
pertimbangan berapa besar biaya yang akan diperlukan jika telah digunakan dalam
rentang waktu tertentu. Selain dapat mengetahui informasi lama penggunaan untuk
dijadikan pertimbangan biaya operasional, bisa juga dapat mengetahui berapa jam
umur dari peralatan tersebut.
Karena pada suatu mesin atau peralatan elektronik juga memiliki kemampuan
kerja yang dibatasi oleh waktu, menjadi dasar bagi penulis untuk mengangkat ide
tersebut menjadi topik penelitian
hour meter
jika
digunakan
untuk lampu atau
peralatan yang memakai tenaga listrik sebagai catu daya.
1.2 Perumusan Masalah
Karena masih terbatasnya mesin atau peralatan yang menggunakan tenaga
listrik sebagai catu daya memiliki sistem pewaktu (
timer
) yang secara otomatis
menyala pada saat peralatan tersebut digunakan. Selain itu juga untuk bisa diperoleh
informasi yang jelas tentang lama penggunaan dari suatu peralatan. Penulis mencoba
mengembangkan pewaktu (
timer)
yang telah ada menjadi sebuah alat ukur waktu
yang memiliki fungsi khusus yaitu
hour meter
. Sebuah mikrokontroler sebagai
pengendali utama dari alat dengan antarmuka
Real Time Clock
(RTC) yang dalam
bentuk satu kemasan rangkaian terintergrasi (
Integrated Circuit
). Selain itu juga
diperlukan rangkaian pendeteksi beban untuk mengetahui peralatan yang akan diukur
telah dinyalakan atau belum. Sementara informasi yang telah diolah akan ditampilkan
pada sebuah layar LCD (
Liquid Crystal Display
). Yang menjadi pokok permasalahan
dari penelitian ini adalah bagaimana merancang dan menimplementasikan
mikrokontroler motorola MC68HC908QY4 sebagai pengendali utama dengan
antarmuka I
2C (
Inter-Integrated Circuit
) serial DS1307 dan LCD matrik HD44780.
Selain itu mikrokontroler juga terhubung dengan beberapa piranti masukan lain yaitu
1.3 Batasan Masalah
Dalam penelitian ini penulis akan mencoba merancang suatu alat, yaitu
hour
meter
dengan batasan-batasan sebagai berikut:
1.
Alat dikendalikan oleh sebuah mikrokontroler motorola MC68HC908QY4
dengan antarmuka IC serial RTC DS1307 dan LCD sebagai penampil
informasi data waktu. Alat bisa menyimpan data waktu meskipun catu
daya primer diputus.
2.
Alat dapat digunakan untuk lampu atau piranti lain yang memakai catu
daya AC 220 Volt 50 Hz dan dibatasi hanya untuk pemakaian pada dua
peralatan yang berbeda dengan daya 5 VA sampai 500 VA. Nilai cacahan
total mulai dari 000000 sampai 999999 jam.
Data yang dapat ditampilkan berupa;
1.
Informasi tanggal, bulan dan tahun mulai alat digunakan.
2.
Informasi tanggal, bulan dan tahun digunakan terakhir.
3.
Informasi lama hidup total penggunaan hanya berupa jam.
4.
Informasi lama pengukuran terakhir berupa jam, menit, dan detik.
1.4 Tujuan
Tujuan dari penelitian ini adalah sebagai berikut;
2.
Menghasilkan suatu alat berupa
hour meter
yaitu sebuah alat ukur waktu
kerja sebuah peralatan yang menggunakan daya 5 VA sampai 500 VA
AC 220 Volt.
1.5 Manfaat
Penelitian ini sangat bermanfaat bagi penulis terutama dalam hal pemahaman
lebih jauh tentang pemrograman mikrokontroler dan aplikasinya. Selain itu juga dapat
menambah pemahaman tentang perangkat keras (
hardware
). Manfaat bagi dunia
pendidikan diharapkan bisa menjadi literatur baru tentang penggunaan
mikrokontroler, pengembangan
hour meter
dan akan memunculkan ide-ide baru
untuk pengembangan topik ini.
1.6
Metodologi Penelitian
Dalam penelitian ini penulis mulai dengan langkah-langkah untuk
menentukan arah penelitian. Adapun langkah-langkah tersebut adalah;
1.
Dengan mencari bahan pendukung baik berupa perangkat keras, perangkat
lunak serta literatur yang dapat mendukung penyelesaian masalah.
2.
Mempelajari literatur dan melakukan perencanaan penelitian. Kemudian
dilanjutkan dengan mulai melakukan perancangan.
3.
Perakitan perangkat keras dan perangkat lunak, dilanjutkan dengan
1.7
Sistematika Penulisan
Agar pembahasan pokok masalah dalam penulisan laporan tugas akhir ini
tidak menyimpang dari pokok permasalahan, maka ditetapkan sistematika penulisan
sebagai berikut;
BAB I PENDAHULUAN
, membahas latar belakang, perumusan masalah,
batasan masalah, tujuan, manfaat, metodologi penelitian serta sistematika penulisan.
BAB II DASAR TEORI
, membahas tentang teori yang mendukung dari
komponen yang dipakai dalam
hour meter
.
BAB III RANCANGAN PENELITIAN
, membahas tentang perancangan
perangkat keras dan perangkat lunak.
BAB IV HASIL DAN PEMBAHASAN,
membahas perihal hasil dari
perakitan, cara kerja alat serta hasil pengamatan dalam pengujian alat.
2.1
Komunikasi IIC
Komunikasi IIC adalah suatu konsep komunikasi dua arah antar IC (
Integrated Circuit
) yang dikembangkan oleh Philips Semiconductor, IIC atau biasa
ditulis I
2C merupakan singkatan dari
Inter Intergrated Circuit
. Komunikasi I
2C
hanya melibatkan 2 kabel yaitu SDA (
Serial Data Line
) dan SCL (
Serial Clock
Line
). Pada setiap IC yang terhubung dengan I
2C memiliki alamat tertentu sehingga
dapat diakses secara
software
. Gambar 2.1 menunjukkan contoh sistem bus
komunikasi I
2C.
Gambar 2.1 Sistem Bus I
2C
Terdapat beberapa istilah dasar dalam komunikasi ini yaitu;
1.
Transmitter
yaitu
device
yang mengirim data ke dalam bus.
2.
Receiver
yaitu
device
yang menerima data dari bus.
3.
Master
yaitu
device
yang mengendalikan clock dan memiliki inisiatif
memulai dan mengakhiri pesan.
4.
Slave
yaitu
device
yang dikendalikan atau diakses oleh master.
Salah kelebihan komunikasi I
2C adalah dalam suatu sistem I
2C bisa terdapat
lebih dari satu master dan tidak akan menyebabkan terjadinya korupsi data. Data
dikirim atau diterima melalui jalur SDA sedangkan
clock
dikirim atau diterima
melalui jalur SCL. Kondisi-kondisi yang dipakai dalam sebuah komunikasi I
2C.
1.
Bus not busy,
yaitu kondisi yang ditunjukkan dengan kedua jalur data
dan
clock
dalam keadaan
high
.
2.
Start,
yaitu kondisi berubahnya status logika jalur data dari
high
ke
low,
ketika jalur clock berstatus
high
.
3.
Stop,
yaitu kondisi berubahnya status logika jalur data dari
low
ke
high
, ketika jalur
clock
bersatus
high
.
4.
ACK
(
Acknowledge
)
,
yaitu kondisi receiver menarik SDA ke status
low selama 1 sinyal clock.
Terdapat 2 macam data yaitu
address byte
dan
data byte
. Data berukuran 8
bit dengan MSB (
Most Significant Bit
) ditransfer lebih dulu. Setelah kondisi
start
data akan dianggap valid jika SDA tetap stabil pada 1
clock high
dan data harus
berubah pada saat status
clock low
.
Secara umum transfer data pada bus serial
Gambar 2.2 Transfer Data dalam Bus Serial I
2C
2.2
Hour Meter
Hour meter
merupakan salah satu alat penghitung waktu dimana secara
khusus untuk memberikan informasi berapa lama penggunaan suatu peralatan, yang
dapat dijadikan acuan seberapa lama kemampuan peralatan tersebut bisa bekerja dan
juga bisa dimanfaatkan sebagai pengingat untuk pengantian sebuah komponen
penyusun peralatan tersebut. Pada Gambar 2.3 diagram blok
hour meter
dengan
sebuah mikrokontroler MC68HC908QY4 antarmuka serial RTC (
Real Time Clock
)
DS1307. Mikrokontroler mengambil data jam, menit, detik dan data kalender dari
RTC DS1307. Komunikasi antara mikronkontroler dengan RTC DS1307
menggunakan sistem komunikasi serial antar IC dengan 2-kabel. Satu kabel untuk
jalur clock yang dibangkitkan oleh mikrokontroler dan satu kabel lagi untuk jalur
Clock
Data
Gambar 2.3 Diagram Blok Antarmuka Mikrokontroler dengan DS1307
Pada bagian penampil, dalam penelitian ini akan dipakai sebuah LCD
(
Liquid Crystal Display
) matrik 16x2 dan sebuah IC
shift
register 74HC595 untuk
menghemat pin
input output
mikrokontroler. Dapat digambarkan dengan diagram
blok pada gambar 2.4 berikut;
Osilator dan
pembagi
frekuensi
Register jam,
kalender dan
RAM 56x8
RTC
Serial bus
interface
Address
register
Control Logic
Mikrokontroler
MC68HC908QY4
Shift
Register
74HC595
LCD 16x2
Gambar 2.4 Diagram Blok Antarmuka Mikrokontroler dengan LCD
Untuk mengurangi penggunaan I/O pada mikrokontroler dipakai sebuah IC
shift register
serial in parallel out
yang dihubungkan ke jalur data LCD dengan
antarmuka 8 bit.
2.3
Real Time Clock
(RTC) DS1307
Bagian ini merupakan sumber jam dan penanggalan digital, alat ini bisa
memberikan informasi detik, menit, jam ,hari, tanggal, bulan, dan tahun. Tanggal
terakhir pada akhir bulan disesuaikan secara otomatis untuk bulan yang lebih kecil
dari 31 hari, termasuk koreksi pada tahun kabisat. DS1307 berkomunikasi dengan
terbesar ( MSB ). Cara kerja dari DS1307 akan diatur oleh mikrokontroler. DS1307
Serial RTC (
Real Time Clock
) merupakan IC clock/kalender dengan 56 byte RAM.
Kemampuan DS1307
1.
Real Time Clock
detik , menit, jam, tanggal sebulan, bulan, hari
seminggu, dan tahun termasuk tahun kabisat, kebenarannya valid lebih
dari tahun 2100.
2.
56 byte
nonvolatile
RAM untuk menyimpan data.
3.
Antarmuka dengan I
2C serial.
4.
Dapat memberikan sinyal keluaran gelombang kotak yang terprogram
5.
Secara otomatis dapat mendeteksi kegagalan daya dan memilki rangkaian
saklar yang bisa medeteksi kegagalan daya dan secara otomatis
berpindah ke mode baterai
backup
.
6.
Konsumsi arus kurang dari 500nA pada mode baterai
backup
dengan
osilator tetap aktif.
7.
Jangkauan temperatur kerja – 40 derajat celcius sampai + 85 derajat
celcius.
2.3.1 Deskripsi Pin
Gambar 2.5 Konfigurasi Pin DS1307
1.
Pin 1 (X1) dan pin 2 (X2) untuk dihubungkan dengan standar kristal kuarsa
32,768 KHz.
2.
Pin 3 (VBat) untuk masukan catu daya cadangan (
backup
) dengan standar
baterai lithium 3 V atau sumber energi lainnya.
3.
Pin 4 (GND) ground
4.
Pin 5 (SDA)
Serial Data Input/Output.
SDA merupakan pin input/output
untuk antarmuka IC serial, pin ini memerlukan sebuah resistor
pullup
.
5.
Pin 6 (SCL)
Serial Clock Input
.
6.
Serial Clock Input merupakan clock masukan data input/output untuk
hubungan antarmuka serial dan digunakan untuk mensinkronkan
perpindahan data dalam antarmuka serial.
7.
Pin 7 (SWQ/OUT)
Square Wave Output Driver
. Jika diaktifkan , SQWE bit
diset ‘1’, SQW/OUT pin dapat mengeluarkan salah satu dari empat frekuensi
sebuah resistor
pullup
untuk dapat mengalirkan data. SQW/OUT dapat
beroperasi dengan mengunakan salah satu dari dua catu daya Vcc atau VBat.
8.
Pin 8 (Vcc) Untuk catu daya primer, ketika tegangan ini dioperasikan secara
normal.
2.3.2 Osilator
Sesuai dengan data sheet DS1307 memerlukan sebuah eksternal kristal
32,768 KHz. Rangkaian osilator ini beroperasi tanpa memerlukan tambahan resistor
atau kapasitor eksternal.
2.3.3 Peta Memori RTC
Tabel 2.1 menunjukkan peta alamat register untuk RTC DS1307 dan alamat
RAM. Register RTC berlokasi pada lokasi alamat 00h sampai 07h. RAM berlokasi
pada lokasi alamat 08h sampai 3Fh. Selama akses multibyte, ketika pointer alamat
Tabel 2.1 Peta Alamat untuk RTC DS1307 dan RAM
2.3.4 Clock Dan Kalender
Informasi penanggalan dan waktu diperoleh dengan pembacaan
byte
register. Penanggalan dan waktu diseting atau diinisialisasi sesuai dengan penulisan
pada byte register. Isi dari register waktu dan kalender adalah dalam format BCD.
Register hari bertambah pada saat tengah malam. Nilai – nilai yang sesuai dengan
hari dalam seminggu harus ditentukan pemakai contohnya jika 1 sama dengan
minggu, kemudian 2 sama dengan senin dan seterusnya. Masukan waktu dan tanggal
yang tidak sesuai akan mengakibatkan operasi yang tidak diinginkan. Bit ke-7 dari
register 0 adalah bit penghentian
clock.
Jika bit ini diset ke logika 1, osilator akan
tidak aktif. Jika di
clear
menjadi 0, osilator diaktifkan.
DS1307 dapat berjalan pada mode 12 jam atau mode 24 jam. Bit ke-6 dari
register jam adalah untuk memilih mode 12 jam atau 24 jam. Jika dalam keadaan
bit AM/PM dengan logika tinggi menjadi PM. Dalam mode 24 jam, bit ke-5 adalah
bit sepuluh jam kedua.
2.4
Mikrokontroler Motorola MC68HC908QY4
Bagian ini merupakan pengendali utama dari setiap blok, yang terdiri dari
sebuah mikrokontroler MC68HC908QY4. Mikrokontroler menerima informasi telah
terjadi pemakaian alat dari sebuah detektor beban, dimana sensor ini akan
mengirimkan sinyal saat perangkat yang diukur dinyalakan. Kemudian
mikrokontroler mengambil data waktu dan penanggalan dari RTC setelah itu data
ditampilkan pada LCD berupa informasi lama penggunaan serta tanggal,bulan dan
tahun. Mikrokontroler juga terhubung dengan tiga buah tombol
push button
yang
berfungsi untuk masuk mode, pilih dan
reset
.
Mikrokontroler MC68HC908QY4 adalah mikrokontroler 8 bit yang
termasuk dalam keluarga motorola M68HC08. MC68HC908QY4 memiliki 4096
byte flash memory, 128 byte
Random Access Memory
(RAM), 2 saluran, 16 bit
Timer Interface Module
(TIM), 4 saluran
Analog to Digital Converter
(ADC) 8 bit
dan juga memiliki kemampuan
Auto Wakeup
dari intruksi stop. Secara umum
Mikrokontroler MC68HC908QY4 terdiri atas bagian – bagian yang digambarkan
Gambar 2.6 Diagram Blok MC68HC908QY4
CPU berperan sebagai otak dari mikrokontroler. Bagian ini bertanggung
jawab untuk mengambil dan mengeksekusi instruksi. M68HC08
Central Processor
Unit
(CPU) terhubung ke bagian-bagian mikrokontroler. MC68HC908QY4 terdiri
dari 2 buah
port
input/output
, ADC,
Random Access Memory
(RAM), osilator,
Module, Keyboard Interrupt Module, Timer Module, Computer Oprational Properly
(COP) dan
Monitor ROM.
2.4.1 Penempatan Pin
Gambar 2.7 menunjukan penempatan pin MC68HC908QY4.
Gambar 2.7 Penempatan Pin MC68HC908QY4
Mikrokontroler MC68HC908QY4 diproduksi dalam kemasan 16 pin PDIP
(Plastic Dual In Line)
dan 16 pin SO (
Small Outline
). Sedangkan yang dipakai
dalam penelitian ini adalah dalam kemasan PDIP. Terdiri dari 13 pin
input/output
yaitu PTA0-PTA5, PTB0-PTB7 dan PTA2 hanya untuk
input
, ada beberapa pin juga
ADC
(Analog to Digital Converter)
,
input
KBI
(Keyboard Interuppt)
,
timer
TCH0:1. dan 2 pin untuk catu daya (Vdd) dan
ground
(Vss).
2.4.2
Port A
Port A
adalah
port
6 bit yang juga keenam pinnya berbagi fungsi dengan
interupsi
keyboard
(KBI). Setiap pin
port A
juga memiliki sebuah piranti
pullup
resistor
yang dikonfigurasikan dengan perangkat lunak,
jika pin
port A
digunakan
sebagai masukan.
2.4.2.1
Port A Data Register
Gambar 2.8
Port
A
Data Register
Port
A
Data Register
(PTA) seperti Gambar 2.8, berisi sebuah pengunci data
bit diatur oleh bit yang sesuai pada
data direction register A
.
Reset
tidak memberi
berpengaruh pada data
port A
.
Auto Wakeup Latch Data Bit
(AWUL), merupakan bit baca yang berisi nilai
dari adanya permintaan
auto wakeup interrupt.
Sinyal permintaan
wakeup
dibangkitkan secara internal.
Port
A
Keyboard Interrupts
(KBI0-KBI5), bit ini untuk memperbolehkan
interupsi
keyboard,
KBIE0—KBIE5, dalam
Keyboard Interrupt Control Enable
Register
(KBIER) mengaktifkan pin
port
A
sebagai pin interupsi eksternal.
2.4.2.2
Data Direction Register A
(DDRA)
Data direction register
A (DDRA) menentukan apakah masing-masing pin
port
A
adalah sebagai input atau sebagai output. Menulis logika 1 pada bit DDRA
memperbolehkan
output
buffer
dihubungkan dengan pin
port A
, sedangkan menulis
logika 0 adalah sebaliknya. Gambar 2.9 menunjukkan register DDRA.
Gambar 2.9
Data Direction Register
A
(DDRA)
Bit
Data Direction Register A
(DDRA0 - DDRA5), merupakan bit baca/tulis yang
1 = Mengatur
port
A sebagai
output
0 = Mengatur
port
A sebagai
input
2.4.2.3
Port A Input Pullup Enable Register
(PTAPUE)
Port A Input Pullup Enable Register
(PTAPUE) dikendalikan dengan
perangkat lunak untuk mengatur
pullup device
pada masing-masing pin
port
A. Tiap
bit dapat dikonfigurasikan secara individual dan berhubungan dengan arah data pada
DDRA yang dikonfigurasikan sebagai
input
. Tiap
pullup device
secara otomatis
diputus ketika bit DDRAx dikonfigurasikan sebagai
output
. Gambar 2.10
menunjukkan register PTAPUE.
Gambar 2.10
Port A Input Pullup Enable Register
(PTAPUE)
OSC2EN,
bit untuk mengaktifkan PTA4 sebagai pin OSC2. Merupakan bit
baca/tulis yang mengkonfigurasikan pin OSC2 ketika pilihan osilator dipilih.
1 = pin OSC2 sebagai osilator
Bit
Port A
Input Pullup Enable
(PTAPUE0 - PTAPUE5), bit baca/tulis yang
diatur dengan perangkat lunak untuk mengaktifkan
pullup device
pada pin
port A
.
1 = internal
pullup
diaktifkan
0 =
pullup device
tidak terhubung pada pin
port A
2.4.3
Port B
Port
B
yang tersedia pada MC68HC908QY4 adalah
port
8 bit
input/output.
2.4.3.1
Port B Data Register
Port B Data Register
(PTB) berisi sebuah data
latch
untuk masing-masing
dari 8 pin
port
B. Gambar 2.11 menunjukkan
Port B Data Register
(PTB)
Gambar 2.11
Port B
Data Register
(PTB)
Bit
Data Port B
(PTB0 - PTB7), merupakan bit baca/tulis yang diatur dengan
perangkat lunak. Arah data dari masing-masing bit dikendalikan oleh bit sesuai
dengan bit pada
Data Direction Register B
.
Reset
tidak memberi pengaruh pada data
2.4.3.2
Data Direction Register B
(DDRB)
Data Direction Register B
(DDRB) menentukan apakah setiap pin
port B
digunakan sebagai
input
atau
output.
Menulis logika 1 pada bit DDRB mengaktifkan
output
buffer
dihubungkan dengan pin
port
B
, sedangkan menulis logika 0 adalah
sebaliknya. Gambar 2.12 menunjukkan register DDRB
Gambar 2.12
Data Direction Register B
(DDRB)
Bit
Data Direction Register B
(DDRB0 – DDRB7), merupakan bit baca/tulis
yang mengendalikan arah data
port B
.
Reset
membuat bit DDRB0 – DDRB7
menjadi nol.
1 = Mengatur
port
B sebagai
output
0 = Mengatur
port
B sebagai
input
2.4.3.3
Port B Input Pullup Enable Register
(PTBPUE)
Port B Input Pullup Enable Register
(PTBPUE) berisi sebuah perangkat
lunak yang mengatur
pullup device
untuk masing-masing pin
port B
. Tiap bit dapat
dikonfigurasikan secara individual dan berhubungan dengan arah data sesuai dengan
otomatis diputus ketika bit DDRBx dikonfigurasikan sebagai
output
. Gambar 2.13
menunjukkan register PTBPUE.
Gambar 2.13
Port B Input Pullup Enable Register
(PTBPUE)
Bit
Port
B
Input Pullup Enable
(PTBPUE0 – PTBPUE7), bit baca/tulis yang
diprogram secara perangkat lunak untuk mengaktifkan
pullup device
pada pin
port
B
.
1 = internal pullup diaktifkan
0 = internal
pullup
tidak aktif
2.4.4 Interupsi Eksternal (IRQ)
Pin IRQ berbagi fungsi dengan PTA2, PTA2 yang berfungsi sebagai
general
input
pin dan pin
interupsi keyboard.
Kemampuan dari modul IRQ adalah terdapat
sebuah pin interupsi ekskternal, memiliki kontrol bit interupsi IRQ,
hysterisis buffer
,
2.4.4.1 IRQ
Status and Control Register
(ISCR)
IRQ
Status dan Control Register
( INTSCR ) yang ditunjukkan pada Gambar
2.14, mengendalikan dan mengawasi operasi dari modul IRQ. INTSCR mempunyai
empat fungsi:
1.
Menunjukkan status dari
fla
g IRQ.
2.
Menghapus interupsi
latch
IRQ.
3.
Menutupi (
mask
) permintaan interupsi IRQ.
4.
Mengendalikan sensitivitas picuan dari pin IRQ.
Gambar 2.14 IRQ
Status dan Control Register
(INTSCR)
IRQ
Flag
( IRQF ) merupakan bit status yang hanya bisa dibaca. IRQF akan
berlogika tinggi pada saat interupsi IRQ menunggu. Logika 1 menandakan adanya
interupsi IRQ yang menunggu dan logika 0 menandakan tidak ada interupsi IRQ
yang menunggu.
Bit
Interrupt Request Acknowledge
(ACK) dengan menulis logika 1 pada bit
yang hanya bisa ditulis ini akan membuat nol IRQ
lacth
. ACK selalu dibaca sebagai
logika 0. Kondisi
reset
akan membuat ACK menjadi nol.
Interrupt Mask
( IMASK ), dengan menulis logika 1 pada bit baca tulis ini
akan membuat interupsi IRQ tidak aktif. Kondisi
reset
membuat IMASK1 menjadi
nol. Logika 1 akan membuat permintaan interupsi IRQ tidak aktif dan logika 0 akan
Edge/Level Select
( MODE ), bit baca/tulis ini mengendalikan sensitivitas
picuan dari pin IRQ. Kondisi
reset
membuat MODE menjadi nol. Logika 1 membuat
permintaan interupsi IRQ pada tepi turun dan tingkat rendah dan logika 0 membuat
permintaan interupsi IRQ hanya pada tepian turun.
2.5
Shift Register
74HC595
Shift register 74HC595 merupakan IC shift register dengan 8 bit masukan
serial dengan 8 bit keluaran secara serial dan parallel. Untuk memasukkan data seri
diperlukan
shift clock,
dimana untuk 1 bit data diperlukan 1
clock
. Sedangkan untuk
mengeluarkan 8 bit data secara parallel diperlukan 1 clock pada pin
output enable
.
2.5.1 Deskripsi Pin 74HC595
Gambar 2.15 menunjukkan penempatan pin 74HC595
1.
Q0—Q7 merupakan pin untuk mengeluarkan 8 bit data secara parallel.
2.
Q7’ untuk mengeluarkan data serial.
3.
DS untuk masukan data serial.
4.
ST
CPuntuk
clock
masukan data serial.
5.
OE (
Output Enable
) mengaktifkan keluaran data parallel.
6.
SH
CPuntuk
clock
masukan data serial.
7.
MR (
Master Reset
) untuk
reset
pada
register
.
8.
VCC catu daya 5 Volt dan GND untuk
ground
.
2.6
Modul LCD M1632
Bagian ini terdiri dari sebuah modul LCD Hitachi M1632 yang bisa
menampilkan 2 baris dan 16 kolom karakter sekaligus. LCD akan menampilkan
menu dan informasi hasil pengukuran yang telah diolah oleh mikrokontroler. M1632
merupakan modul LCD HD44780 matrik dengan konfigurasi 16 karakter dan 2 baris
dengan setiap karakternya dibentuk oleh 8 baris pixel dan 5 kolom pixel. Modul ini
dilengkapi dengan mikrokontroler yang didisain khusus untuk mengendalikan LCD.
Mikrokontroler HD44780 buatan Hitachi yang berfungsi sebagai pengendali LCD
ini mempunyai CGROM (
Character Generator Read Only Memory
), CGRAM
(
Character Generator Random Access Memory
) dan DDRAM (
Display Data
2.6.1 Pin –Pin Modul M1632
Untuk keperluan antarmuka dengan komponen elektronika lain, perlu diketahui
fungsi dari setiap kaki yang ada pada modul LCD M1632. Konfigurasi kaki modul
LCD M1632 seperti Gambar 2.16.
1.
Pin 1 (Vcc): Kaki ini berhubungan dengan tegangan +5 volt yang merupakan
tegangan untuk sumber daya dari HD44780.
2.
Pin 2 (GND): Kaki ini berhubungan dengan tegangan 0 volt (Ground) dari
modul LCD.
3.
Pin 3 (VEE/VLCD): Tegangan pengatur kontras LCD, kontras mencapai
nilai maksimum pada saat kondisi kaki ini pada tegangan 0 volt.
4.
Pin 4 (RS):
Register Select
, kaki pemilih register yang akan diakses. Untuk
akses ke Register Data, logika dari kaki ini adalah 1 dan untuk akses ke
Register Perintah, logika dari kaki ini adalah 0.
5.
Pin 5 (R/W): Logika 1 pada ini menunjukkan bahwa modul LCD sedang
pada mode pembacaan dan logika 0 menunjukkan bahwa modul LCD sedang
pada mode penulisan.
6.
Pin 6 (E):
Enable Clock
LCD, kaki untuk mengaktifkan
clock
LCD. Logika 1
pada kaki ini diberikan pada saat penulisan atau pembacaan data.
7.
Pin 7-14 (D0-D7): Kedelapan kaki modul LCD ini adalah jalur Data Bus,
dimana data sebanyak 4 bit atau 8 bit saat proses penulisan maupun
8.
Pin 15 (Anoda): Terhubung dengan kabel coklat berfungsi untuk tegangan
positif
backlight
.
9.
Pin 16 (Katoda): tegangan negatif
backlight.
Gambar 2.16 Konfigurasi Kaki M1632 Hitachi
2.7
Rangkaian Detektor Beban
Dalam perancangan ini diperlukan dua buah rangkaian untuk mendeteksi
beban yang diukur telah dinyalakan atau tidak. Secara umum pedeteksi beban terdiri
dari 2 unit rangkaian yaitu detektor beban dan rangkaian pengubah AC ke DC.
Gambar 2.17 menunjukkan rangkaian detektor beban. Tegangan pada dioda D1 dan
D2 atau dioda D3 dan D4 diharapkan bisa menjadi tegangan masukan untuk
gate
triac. Beberapa parameter triac yang perlu diperhatikan antara lain, I
GT(
Gate
aktif. Dari kedua parameter tersebut dapat dihitung tegangan Vin yang diperlukan
agar triac dapat aktif sebesar:
Vin = (I
GTx R
GT) + V
GT... (2-1)
220 Vac
D3
RGT D4
D2
AC ke DC
D1
T1
BEBAN
TRIAC
T2
Gambar 2.17 Rangkaian Detektor Beban
Rangkaian pengubah AC (
Alternating Current
) ke DC (
Direct Current
)
diperlukan karena untuk sinyal masukan mikrokontroler dari detektor beban yang
dalam bentuk tegangan searah. Keluaran dari pedeteksi beban yang masih berupa
tegangan tinggi diturunkan dengan trafo, kemudian disearahkan, kemudian difilter
agar dapat menjadi tegangan searah. Selain difilter juga terhubung dengan regulator
tegangan LM7805. Rangkaian pengubah tegangan bolak-balik menjadi tegangan
7805
1
3
2
VIN
GN
D
VOUT
C2
- +
1
2
3
4
DETEKTOR BEBAN
Keluaran 5 V
0
C1 T1
220 12
RANCANGAN PENELITIAN
Bab ini berisikan tentang bagaimana cara merancang sebuah pewaktu (
timer
)
yang akan diaplikasikan sebagai
hour meter
yaitu alat ukur lama penggunaan suatu
peralatan. Dalam perancangan ini
hour meter
dikhususkan untuk perangkat
elektronika. Alat ini dikendalikan oleh sebuah mikrokontroler motorola
MC68HC908QY4 dengan antarmuka I
2C RTC (
Real Time Clock
) DS1307 sebagai
sumber detik, menit, jam dan kalender. Kemudian data akan ditampilkan dengan
sebuah LCD (
Liquid Crystal Display
) matrik 16x2. Rangkaian pendeteksi beban
diperlukan untuk mengetahui beban yang diukur telah dinyalakan atau tidak, juga
tombol
push button
sebagai piranti masukan yaitu untuk mode dan pilih. Selain
perancangan perangkat keras (
hardware
) juga diperlukan perancangan perangkat
lunak (
software
) yang berupa bahasa rakitan (
assembly)
untuk mikrokontroler
motorola MC68HC908QY4.
3.1 Proses Perancangan
3.1.1 Spesifikasi Perancangan
Spesifikasi
dari
hour meter
yang diharapkan adalah bisa memberikan
informasi lama pemakaian sebuah peralatan elektronika. Informasi yang ditampilkan
pada layar LCD berupa;
1.
Informasi tanggal, bulan dan tahun mulai alat digunakan.
2.
Informasi tanggal, bulan dan tahun penggunaan terakhir.
3.
Informasi lama pengukuran terakhir berupa jam, menit, detik.
4.
Informasi lama pengukuran total hanya berupa jam.
Dan beberapa sepesifikasi lain seperti yang sudah dicantumkan pada Bab I. Secara
fisik dirancang bentuk berupa
layout
dari
hour meter
seperti Gambar 3.1 dan Gambar
3.2.
LCD 16x2
Switch
power
Tombol
pengaturan
Stop
kontak
untuk
beban
Gambar 3.2
Layout Hour Meter
Tampak Belakang
Diagram blok dari
hour meter
dapat ditunjukkan pada Gambar 3.3
Detektor
beban
Detektor
beban
Tombol
mode
Tombol
pilih
Real Time Clock
MC68HC908QY4
(RTC)
Shift Register
74HC595
Gambar 3.3 Diagram Blok
Hour Meter
LCD
1.
Blok IC
Real Time Clock
(RTC) DS1307
Bagian ini merupakan sumber jam dan penanggalan digital, alat ini bisa
memberikan informasi detik, menit, jam ,hari, tanggal, bulan, dan tahun. Tanggal
terakhir pada akhir bulan disesuaikan secara otomatis untuk bulan yang lebih kecil
dari 31 hari, termasuk koreksi pada tahun kabisat. DS1307 berkomunikasi dengan
mikrokontroler melalui jalur 2-kabel, diantaranya 1 untuk data dan satu untuk clock.
Data yang dikirim mulai dari bit terbesar (MSB). Cara kerja dari DS1307 akan diatur
oleh mikrokontroler.
2.
Blok Mikrokontroler
Bagian ini merupakan pengendali utama dari setiap blok, yang terdiri dari
sebuah mikronkontroler MC68HC908QY4. Mikrokontroler menerima informasi telah
terjadi pemakaian alat dari sebuah sensor arus, dimana sensor ini akan mengirimkan
sinyal saat perangkat yang diukur dinyalakan. Kemudian mikrokontroler mengambil
data waktu dan penanggalan dari RTC setelah itu data ditampilkan pada LCD berupa
informasi lama penggunaan serta tanggal,bulan dan tahun. Mikrokontroler juga
terhubung dengan tiga buah tombol
push button
yang berfungsi untuk masuk
mode,seting dan
reset
.
3.
Blok Detektor Beban
Bagian ini terdiri dari rangkaian detektor beban, yaitu piranti yang
dinyalakan atau tidak. Sinyal keluaran dari detektor beban hanya berupa sinyal
on-off
.
4.
Tombol
Push Button
Dalam perancangan ini terdapat 2 buah tombol
push button
yang masing –
masing memiliki fungsi berbeda. Fungsi dari masing – masing tombol tersebut
adalah;
a.
Tombol mode berfungsi untuk memilih jenis pengaturan dan jenis data
yang akan ditampilkan pada layar LCD.
b.
Tombol pilih berfungsi untuk menyesuaikan data yang akan
ditampilkan.
5.
Blok Penampil
Bagian ini terdiri dari sebuah modul LCD Hitachi M1632 yang bisa
menampilkan 2 baris dan 16 kolom karakter sekaligus dan sebuah
shift register
. LCD
akan menampilkan menu dan informasi hasil pengukuran yang telah diolah oleh
mikrokontroler. Data dikirim oleh mikrokontroler secara serial ke
shift register
kemudian diteruskan secara paralel ke LCD.
3.2 Perancangan Perangkat Keras
Dalam perancangan ini akan dibangun sebuah system yang berbasiskan
bekerja sesuai dengan tujuan penelitian ini. Proses perancangan ini dibagi dalam
beberapa langkah
3.2.1 Perancangan Antarmuka Mikrokontroler dengan DS1307
Real Time Clock
DS1307 merupakan perangkat keras yang memberikan
informasi jam dan kalender serta menyediakan memori 56 byte. Untuk bisa bekerja
pin X1 dan X2 DS1307 dihubungkan dengan kristal 32,768 KHz. Baterai 3 Volt
dihubungkan dengan pin Vbat DS1307 untuk catu daya cadangan supaya pada saat
catu daya utama terputus sistem jam, kalender dan data pada memori tidak hilang.
Komunikasi antara mikrokontroler dengan DS1307 melalui 2-kabel yaitu 1 kabel
untuk jalur data dan 1 kabel untuk
clock
. Mikronkontroler mengirim dan mengambil
data melalui pin PTB0 yang terhubung dengan pin SDA DS1307. Resistor
dihubungkan dengan tegangan VCC digunakan sebagai
pullup
eksternal pada jalur
SDA,SCL dan SQW. Jika diharapkan arus yang diserap mikrokontroler pada setiap
pin maksimal 0.5 mA pada VCC = 5 V, maka perhitungan R
pullup
adalah :
Ω
=
=
=
10000
5
.
0
5
mA
V
I
Vcc
R
pullupPada saat pembacaan dan penulisan data DS1307 memerlukan sinyal
clock
melalui pin SCL, oleh karena itu mikrokontroler harus menyediakan sinyal
clock
. Pin
PTB1 mikrokontroler difungsikan untuk mengeluarkan sinyal
clock
yang diatur
melalui perangkat lunak dan dihubungkan dengan pin SCL DS1307. Koneksi
XTAL 32.768 KHZ
VCC
10K U1
MC68HC908QY 4
15 14 1
16
9
PTB0 PTB1 VDD
VSS
IRQ/TCLK
0
VCC
VCC 3 V
0
10K 10K
0
DS1307
DS1307
1 2 3 4
8 6 5 7
X1 X2 Vbat GND
VDD SCL SDA SQW/OUT
Gambar 3.4 Koneksi Mikrokontroler dengan DS1307
Pin IRQ/TCLK mikrokontroler dihubungkan dengan pin SQW/OUT DS1307 yang
diatur secara software untuk mengeluarkan sinyal 1 Hz dan digunakan sebagai
sumber interupsi eksternal.
3.2.2 Rangkaian Mikrokontroler Dengan Tombol
Push Button
Dalam perancangan ini terdapat 2 buah tombol
push button
yang dihubungkan
dengan 2 pin
port A
mikrokontroler. Tombol pertama dihubungkan dengan pin PTA0
dan
ground
yang akan difungsikan untuk masuk mode seting dalam proses
pengaturan waktu. Tombol kedua dihubungkan dengan pin PTA1 dan
ground
dan PTA1 dengan catu tegangan 5 V berfungsi untuk
pullup
eksternal. Rangkaian
mikrokontroler dengan tombol
push button
ditunjukkan pada Gambar 3.5
SW1
10K
VCC
MC68HC908QY 4
13 12 PTA0
PTA1
0
10K
SW2
MODE
Gambar 3.5 Rangkaian Mikrokontroler dengan Tombol
Push Button
3.2.3 Perancangan Mikrokontroler Dengan LCD M1632
Sistem penampil yang digunakan dalam perancangan alat ini adalah modul
LCD M1632 dengan menggunakan
driver
HD47780. LCD ini dapat digunakan untuk
menampilkan 2 baris 16 karakter sekaligus. Data ASCII dikirim secara serial oleh
mikrokontroler melalui pin PTB4 ke
shift register
74HC595 kemudian diteruskan ke
LCD secara parallel dengan antarmuka 8 bit data. Pin PTB2 berfungsi untuk
clock
data
storage
dihubungkan dengan pin STcp dan pin PTB3 berfungsi untuk
clock
data
serial dihubungkan dengan pin SHcp. Pin PTB5 dihubungkan dengan pin E (
Enable
Clock
LCD) untuk clock pengiriman data. Pin PTB6 langsung dihubungkan dengan
pin RS (
Register Select
) untuk pemilihan jenis data yang dikirim ke LCD. Pin VEE
memperoleh tampilan kontras yang maksimal. Karena mikrokontroler tidak dipakai
untuk membaca data dari LCD maka pin R/W LCD langsung dihubungkan ke
ground
. Koneksi mikrokontroler dengan LCD ditunjukkan pada Gambar 3.6
0 RS D2 VEE 74HC595 12 10 11 14 15 1 2 3 4 5 6 7 9 13 STcp MR SHcp DS Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q7' OE 0 VCC VCC D4 D3 D5
E D0D1 D7
MC68HC908QY 4 11 10 7 6 3 1 16 PTB2 PTB3 PTB4 PTB5 PTB6 Vdd Vss GND Vcc R/W D6
LCD 16 X 2
Gambar 3.6 Koneksi Mikrokontroler dengan LCD
3.2.4 Perancangan Mikrokontroler Dengan Detektor Beban
Detektor beban merupakan rangkaian yang dipakai untuk mendeteksi
peralatan yang akan diukur telah dinyalakan atau tidak dinyalakan. Rangkaian ini
akan memberikan sinyal
on-off
kepada mikrokontroler seperti fungsi sebuah saklar
on-off
biasa tetapi bekerja secara otomatis mengikuti perubahan keadaan beban. Pada
beban dinyalakan rangkaian detektor beban akan memberikan sinyal berlogika tinggi
pada mikrokontroler. Keluaran rangkaian detektor beban dihubungkan dengan pin
PTA3 dan PTA4 mikrokontroler. Dengan adanya logika tinggi dari detektor beban
maka mikrokontroler akan memulai proses pencacahan dan pengambilan data dari
RTC. Rangkaian detektor beban ditunjukkan pada Gambar 3.7
D2 1N5408
Q1 600V 4 A
D3 1N5408
AC ke DC
BEBAN
T2
220 Vac
T1
RGT 280 D4
1N5408 D1
1N5408
Gambar 3.7 Rangkaian Detektor Beban
Rangkaian seri 2 buah dioda dipasang bolak-balik selain menjadi jalur arus ke
beban juga menjadi pembatas tegangan gerbang triac. Dari
datasheet
diketahui
tegangan bias dioda 1N5408 sebesar 1,2 Volt pada saat arus maju 3
Ampere
jadi
diharapkan tegangan masukan gerbang triac pada saat beban penuh sama dengan;
Dari
datasheet
jika diinginkan tegangan
trigger
pada
gate
(V
GT) sebesar 1 V
dan arus
gate trigger
(I
GT)
sebesar 5 mA, dengan persamaan (2-1) dapat dihitung nilai
R
GTyaitu;
Ω
=
=
=
−
−
280
5
1
4
,
2
mA
V
V
I
V
V
GT
GTGT in
R
Terminal 2 triac akan menghasilkan tegangan jika beban yang diukur telah
dinyalakan, karena besarnya tegangan sama dengan tegangan sumber sekitar 220 Volt
AC maka sebelum masuk penyearah diturunkan terlebih dahulu dengan menggunakan
trafo. Untuk mengurangi
ripple
dan menjaga tegangan agar tetap stabil ditambahkan
sebuah kapasitor dan sebuah regulator tegangan LM7805. Rangkaian detektor beban
T1 47uF 0 220 Vac T1 500 mA 1 5 4 8 47uF 330 T2 D6 1N5408 330 LED 0 D2 1N5408 T1 T1 500 mA 1 5 4 8 RGT2 280 0 47uF BEBAN 2 D4 1N5408
600V 4 A
0 0 7805 1 2 3 VIN GN D VOUT 10K - + 1 2 3 4 D8 1N5408 10K 600V 4 A
7805 1 2 3 VIN GN D VOUT PTA3 BEBAN 1 - + 1 2 3 4 RGT1 280 MC68HC908QY4 D5 1N5408 PTA4 0 D3 1N5408 47uF LED T2 D1 1N5408 D7 1N5408
Gambar 3.8 Koneksi Mikrokontroler Detektor Beban
Sinyal dari kedua detektor beban yang sudah disesuaikan dengan kemanpuan
masukan mikrokontroler akan mendeteksi salah satu beban yang dinyalakan.
3.3 Perancangan Perangkat Lunak
Perancangan perangkat lunak mikrokontroler dimulai dengan proses inisialisasi
yang berisi perintah-perintah inisialisasi RAM juga menghapus isi RAM,
menginisialisasi perangkat keras dan register seperti mengatur fungsi
port
sebagai
masukan atau keluaran., inisialisasi interupsi
timer
dan interupsi eksternal, interupsi
keyboard,
serta menginisialisasi perangkat keras yang menjadi antarmuka
mikrokontroler antara lain inisialisasi LCD dan RTC. Setelah proses inisialisasi
yang berfungsi sebagai pengatur dari keseluruhan rutin yang masing-masing rutin
memiliki tugas untuk mengerjakan sesuatu. Selain rutin program utama juga terdapat
rutin interupsi yang bisa dikerjakan secara mendadak oleh mikrokontroler bila
terdapat sinyal interupsi dari interupsi
timer
, interupsi eksternal dan interupsi
keyboard
. Diagram alir umum program ditunjukkan pada Gambar 3.9
Gambar 3.9 Diagram Alir Umum Program
3.3.1 Perancangan Sistem Secara Umum
Perancangan ini untuk mengarahkan program bila terjadi sebuah interupsi,
penekanan tombol dan adanya sinyal dari pedektsi beban akan menyebabkan masuk
ke dalam rutin interupsi. Jika terjadi penekanan tombol
reset
, rutin intrupsi akan
mengecek interupsi mana yang aktif, kemudian akan mengahapus isi memori RTC.
Jika tombol mode ditekan maka akan masuk ke mode pengaturan waktu (mode1),
dan total penggunaan (mode 5). Diagram blok sistem secara umum ditunjukkan pada
Gambar 3.10
Gambar 3.10 Diagram Blok Sistem Program
Berikut beberapa rancangan
layout
tampilan bila program masuk ke sistem mode;
a.
Pengaturan Waktu (mode 1)
Mode pengaturan berfungsi untuk mengatur data waktu pada register RTC ,
penekanan tombol mode pertama akan menampilkan mode pengaturan pada layar
LCD 16 x 2. pada mode ini terdapat alur program untuk pengaturan jam, menit,
tanggal, bulan dan tahun.
Layout
mode pengaturan ditunjukkan pada Gambar 3.11.
p
e n
g
a t u
r a n
?
b.
Mulai Penggunaan (mode 2)
Mode mulai penggunaan untuk menampilkan data 1 atau data awal pengukuran, data
tersebut berupa tanggal, bulan dan tahun. Layout mode 2 ditunjukkan pada Gambar
3.12. misalnya mulai pengukuran peralatan pertama tanggal 12 April 2006. Mulai
pengukuran peralatan kedua tanggal 10 Maret 2006
m
u l a i 1 : 1 2 - 0 4 - 0 6
m
u l a i 2 : 1 0 - 0 3 - 0 6
Gambar 3.12
Layout
Mode Mulai Menggunaan
c.
Akhir Penggunaan (mode 3)
Mode akhir penggunaan untuk menampilkan data 2 atau data akhir pengukuran, data
tersebut berupa tanggal, bulan dan tahun.
Layout
mode 2 ditunjukkan pada gambar
3.13. Misalnya akhir pengukuran peralatan pertama tanggal 13 April 2006. Akhir
pengukuran peralatan kedua tanggal 10 Maret 2006.
a k h i r 1 : 1 3 - 0 4 - 0 6
a k h i r 2 : 1 0 - 0 3 - 0 6
d.
Lama Penggunaan (mode 4)
Mode lama penggunaan untuk menampilkan data 3 atau data lama pengukuran, data
tersebut berupa jam, menit dan detik.
Layout
mode 3 ditunjukkan pada gambar 3.14.
Misalnya lama pengukuran peralatan pertama 1 jam, 30 menit, 11 detik.
l
a m
a 1
0 0 0 0 0 1 : 3 0 : 1 1
l
a m
a 2
0 0 0 0 0 1 : 0 5 : 0 2
Gambar 3.14
Layout
Mode Lama Penggunaan
e.
Total Penggunaan (mode 5)
Mode total penggunaan untuk menampilkan data 4 atau data total pengukuran dari
awal sampai akhir sebelum di
reset
, data tersebut hanya berupa jam, data maksimal
sampai 999999 jam .
Layout
mode 5 ditunjukkan pada gambar 3.15. Misalnya total
penggunaan pertama adalah 1 jam dan total penggunaan peralatan kedua adalah 103
jam.
t o t a l 1 : 0 0 0 0 0 1
t o t a l 2 : 0 0 0 1 0 3
3.3.2 Rutin Inisialisasi
Secara umum program pada mikrokontroler berisi subrutin-subrutin yang
mempunyai tugas tertentu. Subrutin tersebut digabung menjadi satu kesatuan
membentuk suatu rangkaian program yang diharapkan bisa berjalan sesuai dengan
tujuan. Sebelum program utama terdapat sebuah rutin program untuk inisialisasi
perangkat keras mikrokontroler beserta antarmukanya. Gambar 3.16 menunjukkan
diagram alir program inisialisasi.
Rutin inisialisasi dimulai dari
reset stack
pointer, menghapus isi register,
menonaktifkan LVI dan COP
timer
dan menghapus isi RAM. Kemudian dilanjutkan
dengan inisialisasi I/O, RTC dan LCD. Setelah itu diakhiri dengan mengaktifkan
semua interupsi yang dipakai.
3.3.3 Rutin Program Utama
Rutin program utama dimulai dari pembacaan memori RTC, data yang
disimpan apakah sudah maksimal, jika belum maka ke proses pengambilan data
waktu, jika data sudah maksimal akan ditampilkan pilihan
reset
pada LCD, pada reset
semua data pada RAM RTC akan terhapus. Proses selanjutnya adalah pengecekan
beban apakah ada beban yang dinyalakan atau tidak, pada saat tidak ada beban yang
menyala maka program akan menampilkan jam digital. Secara umum rutin program
utama ditunjukkan dengan diagram alir Gambar 3.17. Selain rutin utama juga terdapat
beberapa subrutin program yang memiliki peranan penting dalam program
mikrokontroler ini.
3.3.4
Subrutin Ambil Data dari RTC
Rutin program ini berperan saat mikrokontroler mengambil data dari RTC,
diawali dengan pengambilan alamat, kemudian memulai komunikasi dengan
mengirimkan kondisi sinyal
start
serial, hal ini dilakukan setiap mulai berkomunikasi
dengan RTC dan selalu diakhiri dengan kondisi stop serial. Ini merupakan kondisi
yang dipakai dalam komunikasi I
2C. Subrutin ambil data dari RTC ditunjukkan
Gambar 3.18 Diagram Alir Pengambilan Data RTC
3.3.5
Rutin Kirim Data ke RTC
Subrutin kirim data berisi perintah-perintah untuk mengirimkan data dari
juga diawali dengan kondisi
start
serial dan diakhiri dengan stop serial. Subrutin
kirim data ditunjukkan pada diagram alir Gambar 3.19.
Gambar 3.19 Diagram Alir Subrutin Kirim Data ke RTC
3.3.6
Subrutin Kondisi
Start
dan
Stop
Serial.
Subrutin ini merupakan bagian penting dari komunikasi mikrokontroler
dengan RTC dan selalu dipakai setiap berkomunikasi dengan RTC. Subrutin
start
dan
Gambar 3.20 Diagram Alir
Start
dan
Stop
Serial
3.3.7
Subrutin Penampil ke LCD
Subrutin ini berisi perintah-perintah untuk menampilkan data ke layar LCD.
Data dikirim secara serial dari mikrokontroler ke
shift register
kemudian dikeluarkan
secara paralel ke modul LCD. Data di simpan pada Accumulator kemudian dengan
memberi logika 1 pada RS yang berarti pengiriman karakter, clock LCD juga
diberikan logika 1 untuk mengirim data. Diagram alirnya ditunjukkan dengan
Gambar 3.21 Diagram Alir Tampilkan Data ke LCD
Pada proses menampilkan data ke LCD terdapat sebuah subrutin untuk
memasukkan data serial menuju shift register kemudian data dikirim paralel ke modul
LCD. Mikrokontroler mengirim 8 bit data secara serial menuju IC
shift
register
74HC595 jika data yang digeser sudah 8 bit kemudian dengan memberi sebuah sinyal
clock
maka data akan dikirim secara serentak ke modul LCD. Proses tersebut dapat
3.3.8
Subrutin IRQ
Dalam subrutin IRQ jika salah satu beban dinyalakan program akan masuk ke
d