PENGATUR NYALA ATAU PADAM LAMPU DAN TINGKAT KECERAHAN BERBASIS MICROCONTROLLER AT89S51
PENGATUR NYALA ATAU PADAM LAMPU DAN TINGKAT KECERAHAN BERBASIS MICROCONTROLLER AT89S51 TUGAS AKHIR Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik pada
Program Studi Teknik Elektro
disusun oleh:
GREGORIUS GUNTUR WIJANARKO NIM : 995114055
ON – OFF AND LIGHT BRIGHTNESS CONTROLLER BASED ON MICROCONTROLLER AT89S51 FINAL PROJECT Presented as Partial Fulfillment of the Requirements To Obtain the SARJANA TEKNIK Degree in Electrical Engineering
by:
GREGORIUS GUNTUR WIJANARKO Student Number: 995114055
LEMBAR PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa tugas akhir yang saya tulis ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.
Yogyakarta, 26 Januari 2007 Gregorius Guntur Wijanarko
MOTO DAN PERSEMBAHAN
Lakukan sesuatu. Jika masih belum berhasil juga, lakukan sesuatu yang lain. Hanya orang gila yang bisa kehabisan ide Jim Jightower
Tidak ada yang lebih baik bagi seseorang kecuali makan dan minum dan kemudian berkata pada dirinya sendiri bahwa pekerjaanya telah dilakukan dengan baik
Amsal 2:24 Kata-kata yang baik bisa singkat dan mudah diucapkan, tetapi gemanya tak akan berakhir
Ibu Theresa Hanya mereka yang berani mengambil resiko untuk melangkah lebih jauhlah yang akan mengetahui sejauh mana dia dapat melangkah
T.S.Eliot Iman tanpa perbuatan adalah mati
Yesus
INTISARI
Pada umumnya pengatur tingkat kecerahan lampu dikendalikan oleh potensio dengan cara memutar potensio tersebut dari tingkat kecerahan terendah sampai tingkat kecerahan tertinggi. Pada penelitian ini pengaturan tingkat kecerahan lampu dikendalikan oleh tombol-tombol yang mempunyai 10 tingkat kecerahan.
Pengendalian tingkat kecerahan lampu dilakukan dengan cara mengeser waktu penyulutan triac. Pendeteksian titik nol berfungsi untuk menentukan waktu tunda penyulutan gerbang triac. Waktu tunda dipakai untuk menentukan besar prosentase penggunaan daya lampu. Penentuan kapan waktu tunda dilakukan dengan pemrograman MCS-51. Tampilan LCD yang akan menunjukan besarnya skala prosentase luasan penggunaan daya dalam 10 tingkat kecerahan. Untuk mengubah prosentase luasan penggunaan daya dilakukan dengan menekan salah satu dari 10 tombol tingkat kecerahan.
Hasil pengamatan menunjukan alat ini mampu bekerja untuk pengaturan daya dari 0% sampai 100% dengan kenaikan setiap 10%. Saat kondisi skala penggunaan daya menunjukan angka 50 dan 100 tidak terjadi penyimpangan (error), tetapi pada saat selain kondisi skala 50 dan 100 terjadi penyimpangan. Penyimpangan yang terjadi dikarenakan karena jala-jala listrik yang ada. Kata kunci: Pengaturan daya, MCS-51
ABSTRACT
Basically, light brigtness controller set up by tuning a potensio to set the brightness level from the minimum to maximum.through the research, lamp brightness level controller is using by a button that has ten level of brightness.
Light intesinty of a bulb is controlled by shifting the triac’s trigger time. Zero point detection used to set the triac’s delay trigger time. Meanwhile, by knowing the time-delay, we can count the percentage of the power consumption wich used by the lamp. To set the time-delay is using MCS-51 programming. LCD display will show the percetage wide using power in ten level of brightness. To change the percentage of the power consumption will can be change by pushing one of the light brightness button.
The observation shows that this device able to work in 0 percent to 100 percent power setting, whit 10 percent for each interval. When the power consumption scale condition refers to the number 50 and 100, there will be no error. Error only happen cause by the electrical web. Keywords: Phase control, MCS-51
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa atas berkat dan rahmatNya yang telah diberikan sehingga penulis dapat menyelesaikan Tugas Akhir dengan judul ‘Pengatur Nyala atau Padam lampu dan tingkat kecerahan Berbasis Microcontroller AT89S51’. Semoga apa yang telah penulis sampaikan lewat tugas akhir ini dapat memberikan sumbangan pemikiran untuk pengembangan ilmu pengetahuan pada umumnya dan ilmu teknik elektronika pada khususnya.
Tugas Akhir ini merupakan buah dari kerja keras, pemikiran, dan pengorbanan yang penulis peroleh sebelumnya di perkuliahan. Namun, penulis menyadari bahwa tugas akhir ini tidak akan selesai jika tidak mendapat bantuan dari banyak pihak yang telah berkenan membantu secara langsung maupun tidak langsung. Penulis juga mengharapkan adanya masukan serta kritik yang membangun dari apa yang telah disampaikan dalam penulisan ini.
Pada kesempatan yang baik ini, dengan segala kerendahan hati penulis mengucapkan banyak terima kasih kepada :
1. Bapak Martanto, S.T., M.T. selaku pembimbing I sekaligus pembimbing akademik, yang telah memberikan bantuan ide, saran, masukan, kritik, serta bimbingannya yang sangat berguna selama penulisan Tugas Akhir ini.
2. Ir. Th. Prima Ari Setyani, M.T. selaku dosen pembimbing II sekaligus Sekretaris Jurusan Teknik Elektro Fakultas Teknik Universitas Sanata Dharma Yogyakarata, yang telah memberikan arahan, semangat, dorongan, serta sumbangan pemikiran yang penulis butuhkan untuk menyelesaikan penulisan Tugas Akhir ini.
3. Bapak Augustinus Bayu Primawan, S.T., M.Eng., selaku Kepala Jurusan Teknik Elektro Fakultas Teknik Universitas Sanata Dharma Yogyakarata.
4. Para dosen-dosen Teknik Elektro, yang telah memberikan pengajaran serta
6. Bapak Aris Sukardjito, S.IP, selaku staf Sekretariat Teknik Elektro, yang telah membantu penulis untuk menyiapkan syarat-syarat akademik maupun administrasi yang dibutuhkan selama perkuliahan.
7. Bapakku Yosep Soedarko, Ibuku Maria Sri Muryani tercinta, yang telah berusaha memberikan segalanya yang penulis butuhkan secara material dan spiritual dan mendidik dengan tulus dan penuh kasih sayang.
8. Kakakku, Cony, Beny, Linda, David, Ferly yang telah banyak mengalah. Dan memberikan dukungan serta motivasi
9. Kekasihku Suci, yang telah banyak mengerti, ,banyak berkorban, dan setia menyanyangiku apa adanya.
10. Untuk bulek Markesni, bulek Sri dan Bulek Mei, serta saudaraku yang lain yang telah membantu hingga penulis dapat lulus.
11. Buat teman-temanku Cemplon, Kodok, Asep item, Kubis, Jeglek, Adri( thak’s for all), Yono, yang masih berjuang Wisnu & Lusi (semangat bro),Andre (jangan menyerah),Yuyun, Yosep 03 (thank’s for help me),Didit, Nando, Rony, Gentong, Pukis, Made, Ableh, Boim, Pabrik banyu, She boss,G Bagus,Giri, Jiwo, temenku 99 yang masih beredar Dagul,Tutus, Anci, Maya, Santi, Roni, Cienk,dan yang sudah bekerja Dini, Leo, Khutur, Syamsi, Mas Tom’s, dan buat anak-anak BARABAS tetap rame aja terus coy.
Penulis juga ingin menyampaikan banyak terima kasih kepada pihak-pihak yang tidak dapat penulis sebutkan satu per satu. Karena tanpa bantuan mereka, penulis menyadari tidak akan mampu menyelesaikan Tugas akhir ini dengan baik.
Yogyakarta, 26 Januari 2007 Penulis
Gregorius Guntur Wijanarko
DAFTAR ISI
1.4 Tujuan Penelitian
3
3
2
2
2
1
1.6 Sistematika Penulisan
1.5 Manfaat Penelitian
JUDUL i LEMBAR PENGESAHAN OLEH PEMBIMBING iii LEMBAR PENGESAHAN OLEH PENGUJI iv PERNYATAAN KEASLIAN KARYA v
MOTTO DAN PERSEMBAHAN vi
1.2 Perumusan Masalah
1.1 Latar Belakang
1
BAB I PENDAHULUAN
DAFTAR TABEL xviii
DAFTAR GAMBAR xvi
DAFTAR ISI xii
INTISARI vii ABSTRACT viii KATA PENGANTAR ix
1.3 Batasan Masalah
2.2.2 Set Intruksi
7
2.2.2.1 Set Intruksi Dalam Mikrokontroler
7
2.2.2.2 Metode Pengamatan
8
2.2.3 Port Mikrokontroler AT89S51
10
2.2.4 Timer dan Counter Mikrokontroler AT89S51
13
2.2.5 On-Chip Osilator
16
2.3 ISP (IN-System Programing)
16
2.4 Rangkaian Reset
18
2.5 Titik Nol (Zero Crossing)
19
2.6 Transistor sebagai saklar
20
2.7 Triac
22
2.7.1 Penentuan Pemicu Triac
26
2.7.2 Penentuan Tahanan Gate Triac
27
2.8 Regulator LM7805
27
2.9 Liqiud Crystal Display (LCD) dengan Kontroler HD44780U
29 BAB III RANCANGAN PENELITIAN
34
3.1. Perancangan Perangkat Keras
34
3.1.1 Interfacing Tombol Masukan
34
3.1.2 On Chip Osilator
35
3.1.3. Interfacing Zero Crossing
36
3.1.4 Interfacing Triac
39 tingkat kecerahan
3.1.7 Perancangan Waktu Tunda (Delay Time)
45
3.2 Papan Penampil
47
3.3 Perancangan Perangkat Lunak
48
3.3.1 Algoritma Program
48
3.3.2 Diagram Alir Program Utama
49
3.3.3 Subroutine Penyalaan LCD
51
3.3.4 Subroutine Scan Tombol
52
3.3.5 Subroutine dari Zero Crossing
54
3.3.6 Perancangan Waktu Tunda
55
3.3.7 Subroutine dari Timer 0 Untuk Tunda Penyulutan
57 BAB IV PENGAMATAN DAN ANALISA
60
4.1 Cara Kerja Alat Secara Umum
60
4.2. Pengamatan dan Analisa
61
4.2.1. Zero Crossing (Titik Nol)
61
4.2.2 Data Pengamatan Waktu Tunda Untuk Pemicuan Gate
62 Triac
4.2.3 Pengamatan Tegangan dan Arus Lampu AC
63
4.2.4 Contoh-Contoh Gambar Pengamatan Zero Crossing
64 dan Waktu Tunda Penyulutan Triac Dengan Osiloskop Digital
5.1. Kesimpulan
70
5.2. Saran
71 DAFTAR PUSTAKA LAMPIRAN
DAFTAR GAMBAR
21 Gambar 2.9. Rangkaian dasar triac
28 Gambar 2.15. Catudaya dengan regulator LM7805 dan kapasitor mssukan untuk melindungi osilasi dan kapasitor keluaran untuk memperbaiki tanggapan frekuensi
28 Gambar 2.14. Penggunaan IC LN7805 untuk regulasi tegangan
26 Gambar 2.13. Bentuk fisik dari IC LM7805
24 Gambar 2.12. Satu periode sinusoidal
23 Gambar 2.11. (a),(b) dan (c) Rangkaian triec sebagai pengendali fase
23 Gambar 2.10. Rangkaian sederhana triac
21 Gambar 2.8. Saklar transistor NPN dengan tegangan muka dari sebuah sumber
Gambar 2.1. Mikrokontroler AT89S5120 Gambar 2.7. Konfigurasi common emiter sebagai saklar transistor NPN
V Input dan V Output zero crossing terhadap t (ms)
20 Gambar 2.6.
18 Gambar 2.5. Letak titik nol (zero crossing) dari tegangan AC
15 Gambar 2.4. Rangkaian Power-on Reset AT89S51
14 Gambar 2.3. Keterangan Register TCON
10 Gambar 2.2. Keterangan Register TMOD
29
Gambar 3.4 Gelombang dari V masukan dan V keluaran terhadap t (ms)36 Gambar 3.5 Interfacing zero crossing dan catu daya dengan
38 Microcontroler AT89S51
Gambar 3.6 Interfacing triac dengan Microcontroler AT89S5140 Gambar 3.7 Satu periode sinusiodal
41 Gambar 3.8 Penggunaan daya 50 % dengan waktu tunda selama 5 m
46 Gambar 3.9 Interfacing LCD dengan microcontroler AT89S51
47 Gambar 3.10 Diagram alir dari Program Utama
49 Gambar 3.11 Diagram alir penyalaan LCD
51 Gambar 3.12 Diagram alir scan tombol masukan
53 Gambar 3.13 Diagram alir Eksternal 1 dari zero crossing 55
Gambar 3.14 Mode 1 – Pencacah 16-Bit55 Gambar 3.15 Proses Penundaan Pengaktifan Timer
56 Gambar 3.16 Diagram alir interupsi Timer 0 untuk tunda penyulutan
58 Gambar 4.1 Bentuk zero crossing dilihat dari osiloskop digital
61 Gambar 4.2 Grafik galat error lama waktu tunda tiap skala penggunaan
63 daya
Gambar 4.3 Penunjukan skala 1065 Gambar 4.4 Penunjukkan skala 50
66 Gambar 4.5 Penunjukkan skala 100
67 Gambar 4.6 Kondisi 10% daya
68
DAFTAR TABEL
33 Tabel 3.1 Karakteristik triac Q4004L4
62 Tabel 4.2 Data pengamatan tegangan dan arus lampu AC untuk tiap penunjukan skala penggunaan daya
59 Tabel 4.1 Data pengamatan waktu tunda pemicuan gate triac
57 Tabel 3.5 Tabel keseluruhan dari perancangan
46 Tabel 3.4 Waktu tunda dalam desimal dan heksa
45 Tabel 3.3 Perhitungan besar waktu tunda
40 Tabel 3.2 Besar sudut picu dengan luasan penggunaan daya
28 Tabel 2.6 Konfigurasi Pin LCD
Tabel 2.1. Port25 Tabel 2.5. Karakteristik regulator tegangan IC LM7805
18 Tabel 2.4. Triac yang tersedia secara komersial
12 Tabel 2.3. Keterangan Hubungan antara PC dan AT89S51 pada ISP
3
11 Tabel 2.2. Port
1
64
BAB 1 PENDAHULUAN
1.1 Latar Belakang Masalah
Di jaman sekarang ini banyak dijumpai sumber energi yang terbuang dengan percuma, sedangkan diketahui bahwa pada saat ini di mana-mana dicanangkan untuk penghematan energi, karena energi yang tersimpan pada saat ini sudah mulai habis. Salah satu energi yang sangat menjadi perhatian adalah energi listrik. Di televisi ataupun di radio banyak dijumpai iklan-iklan atau slogan yang menyampaikan tentang penghematan energi listrik yang, di perkirakan 20 tahun ke depan, akan mengalami kesulitan dalam hal pasokan energi listrik.
Terdapat banyak cara dalam menanggulangi permasalahan tersebut, diantaranya yaitu mencari sumber energi listrik alternatif. Cara yang lain yaitu dengan cara menghemat pemakaian listrik itu sendiri.
Dari hal tersebut, penulis akan membuat alat yang bisa digunakan sebagai sarana dalam menghemat listrik, yaitu alat yang dapat mengatur nyala atau padamnya sebuah lampu dan tingkat kecerahan yang diinginkan. Di sini penulis memilih penghematan pada lampu, karena saat ini banyak energi yang terbuang percuma melalui lampu. Bila sistem ini selesai dibuat dan dapat berjalan dengan
1.2 Perumusan Masalah
Perumusan masalah yang timbul dalam perancangan pengatur nyala atau padam lampu dan tingkat kecerahan lampu ini adalah :
1. Bagaimana membuat pengatur nyala atau padam lampu dan tingkat kecerahan lampu menggunakan mikrokontroler AT89S51.
2. Bagaimana kecerahan nyala lampu disesuaikan dengan kebutuhan pengguna.
1.3 Batasan Masalah
Agar permasalahan yang ada tidak berkembang menjadi luas, maka perlu adanya batasan masalah terhadap alat yang akan dibuat adalah :
1. Terdapat sepuluh tingkat pilihan dalam pengaturan kecerahan cahaya pada lampu pijar.
2. Mikrokontroler AT89S51 digunakan sebagai pengatur pulsa
3. Tingkat kecerahan di tampilkan melalui LCD
1.4 Tujuan Penelitian
Tujuan dari penilitian ini adalah supaya dapat merancang dan membuat aplikasi mikrokontroler AT89S51 terutama pembuatan alat pengatur nyala atau
1.5 Manfaat Penelitian
Berdasar tujuan diatas diaharapkan penilitian ini dapat memberikan bebrapa manfaat, yaitu:
1. Dapat menguasai mikrokontroler terutama AT89S51 secara baik dan dapat mengaplikasikan dalam pembuatan pengatur nyala atau padam lampu dan tingkat kecerahan lampu pijar.
2. Menerapkan fungsi transistor NPN sebagai saklar.
3. Dapat memahami dan mengerti cara kerja MOC sebagai penghubung antara mikrokontroler dengan rangkaian target.
1.6 Sistematika Penulisan
Sistematika penulisan proposal ini adalah :
BAB I PENDAHULUAN Bab ini berisi latar belakang, perumusan masalah, batasan masalah, tujuan, manfaat, dan sistem penulisan. BAB II DASAR TEORI Bab ini berisi dasar teori dari piranti atau komponen yang digunakan
BAB III RANCANGAN PENELITIAN Bab ini berisi bagaimana merancang perangkat keras pengatur nyala
atau padam lampu dan tingkat kecerahan lampu berbasis mikrokontroler AT89S51. Terdapat juga rancangan perangkat keras secara keseluruhan dalam bentuk diagram blok dan juga memaparkan rancangan perangkat lunak mengenai alur algoritma dari perancangan pengatur nyala atau padam lampu dan tingkat kecerahan lampu.
BAB IV HASIL PENGAMATAN DAN ANALISA Bab ini berisi cara kerja dan hasil penelitian dari alat pengatur nyala atau
padam lampu dan tingkat kecerahan lampu berbasis Microcontroller AT89S51. Selain itu akan diberikan pembahasan dari hasil pengamatan langsung dari alat tersebut dengan rumusan yang diambil penulis dari dasar teori yang mendasari perancangan dan pembuatan alat pengatur nyala atau padam lampu dan tingkat kecerahan lampu Berbasis Microcontroller AT89S51 tersebut.
BAB V KESIMPULAN DAN SARAN Bab ini berisikan kesimpulan serta saran-saran untuk pengembangan
BAB II DASAR TEORI
2.1 Prinsip Kerja
Prinsip kerja dari alat ini memberi masukkan data yang berupa pilihan tingkat kecerahan yang dimasukkan melalui tombol sesuai keinginan pengguna.
Data tersebut akan dikirim ke mikrokontroler AT89S51. Jika data yang berupa tingkat kecerahan lampu telah dimasukkan, maka mikrokontroler akan menghidupkan lampu sesuai dengan data masukan dan data masukan akan ditampilkan pada penampil LCD.
2.2 Mikrokontroler AT89S51
Mikrokontroler AT89S51 merupakan keluaran terbaru dari keluarga Mikrokontroler MCS-51 buatan Atmel yang menguasai teknologi pembuatan FPEROM (Flash Programmable and Erasable Read Only Memory). FPEROM adalah ROM (Read Only Memory) yang dapat dihapus dan ditulis kembali dengan teknologi flash.
Mikrokontroler AT89S51 merupakan sebuah mikrokontroler CMOS 8-bit dengan daya rendah (low-power) dengan flash memory sebesar 4K bytes untuk
Watchdog Timer dan Two Data Pointers, Flexible ISP Programming (Byte dan
Page Mode ).2.2.1 Memori Program Dan Memori Data
Memori program hanya bisa dibaca saja dan dapat diakses langsung hingga 64 Kbyte. Strobe (tanda) untuk akses program memori eksternal diakses melalui sinyal PSEN (Program Store Enable). Lokasi-lokasi dalam pelayanan interupsi lokasi-lokasi dengan jarak 8 byte, misalnya: 0003h untuk eksternal
interrupt 0, 000Bh untuk timer 0.
Alamat-alamat yang paling bawah dari memori program dapat berada dalam flash on-chip maupun memori eksternal. Untuk melakukan hal ini dilakukan pengkabelan pada pin EA atau External access ke Vcc (akses internal) atau GND (akses eksternal) sesuai kebutuhan. Apabila EA = GND, maka semua pengambilan instruksi langsung dilakukan pada memori eksternal, sedangkan pengaksesan instruksi pada memori internal tidak melibatkan PSEN. Alamat memori program panjangnya selalu 16 bit, walau demikian jumlah memori program yang digunakan bisa kurang dari 64 Kbyte. Eksekusi program eksternal mengorbankan dua port 8 bit (P0 dan P2), karena kedua port tersebut berfungsi sebagai jalur pengalamatan dan pengiriman instruksi dari memori eksternal. pengalamatan tak langsung (inderect addressing) dengan alamat diatas 7Fh mengakses ruang memori lain yang berbeda.
2.2.2 Set Instruksi
Semua anggota keluarga Mikrokontroler AT89S51 Atmel mengeksekusi set instruksi yang sama. Set instruksi ini telah dioptimasi untuk aplikasi kontrol 8 bit serta menyediakan berbagai macam mode pengalamatan yang cepat untuk akses RAM internal guna memfasilitasi operasi byte pada struktur data yang kecil.
Set instruksi juga menyediakan dukungan penuh untuk variabel–variabel 1-bit sebagai tipe data yang terpisah, yang memungkinkan manipulasi bit secara langsung dalam sistem–sistem kontrol dan logika yang memerlukan pemrosesan Boolean.
2.2.2.1 Set Instruksi Dalam Mikrokontroler
Secara keseluruhan mikrokontroler mempunyai 225 macam instruksi, yang dibentuk dengan mengkombinasikan instruksi dan operan. Instruksi tersebut dikelompokan sebagai berikut : a.
Kelompok Transfer Data
Kode dasar untuk kelompik ini adalah MOV, singkatan dari move yang
b. Kelompok Aritmatika
Operasi aritmatika terdiri dari : penjumlahan, penambahan satu, pengurangan satu, pengurangan, perkalian dan pembagian.
c. Kelompok Logika
Kelompok perintah ini dipakai untuk melakukan operasi logika mikrokontroler MCS51, operasi logika yang bisa dilakukan adalah AND (kode operasi ANL), OR (kode operasi ORL) dan Exclusive (kode operasi XRL).
d. Kelompok Percabangan
Urutan pelaksanaan program dapat dikendalikan oleh instruksi percabangan bersyarat maupun tidak bersyarat.
e. Kelompok Operasi Bit
Kelompok ini menangani instruksi yang banyaknya 1 bit. Register yang . dipakai adalah register carry
2.2.2.2 Mode Pengalamatan
Data atau operan bisa berada pada tempat yang berbeda sehingga dikenal beberapa cara untuk mengakses data / operan tersebut yang dinamakan sebagai mode pengalamatan (addressing mode) antara lain : alamat memori tidak disebut secara langsung tapi dititipkan ke register lain.
Contoh : MOV A, @RO.
b. Pengalamatan Langsung ( Direct Addressing )
Cara ini dipakai untuk menunjukkan data yang berada di dalam memori dengan cara mengambil alamat memori tempat data tersebut berada.
Contoh : MOV A, 3Ah.
c. Instruksi Register Cara ini digunakan untuk menunjukkan data yang berada dalam register.
Contoh : MOV A, R3.
d. Instruksi Register Khusus Beberapa instruksi hanya dikhususkan untuk suatu register tertentu.
Misalkan saja suatu instruksi yang hanya bekerja pada akumulator saja, sehingga tidak memerlukan alamat byte untuk menunjuk ke akumulator tersebut. Dalam hal ini, op-code sendiri telah mengandung penunjuk ke register yang benar. Instruksi yang mengacu akumulator sebagai A akan dikodekan dengan op-code spesifik akumulator.
e. Konstanta Segera ( Immediate Constants )
Nilai dari suatu konstanta dapat segera menyatu dengan op-code dalam
f. Pengalamatan Terindeks ( Indexed Addressing ) Memori program hanya bisa diakses melalui pengalamatan terindeks.
Mode pengalamatan ini ditujukan untuk membaca tabel tengok ( look-up
tables ) yang tersimpan dalam memori program ( data yang menyatu
dengan program ). Tipe lain dari pengalamatan terindeks digunakan dalam instruksi-instruksi ‘lompat bersyarat’. Dalam hal ini, alamat tujuan dari instruksi lompat ( jump ) dihitung sebagai jumlah dari petunjuk dasar ( base pointer ) dengan data akumulator.
2.2.3 Port Mikrokontroler AT89S51
U1 1 2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 P1.0 P1.1 P1.2 P1.3 P1.4 (MOSI)P1.5 (MISO)P1.6 (SCK)P1.7 RST (RXD)P3.0 (TXD)P3.1 (INT0)P3.2 (INT1)P3.3 (T0)P3.4 (T1)P3.5 (WR)P3.6 (RD)P3.7 XTAL2 XTAL1
P2.0(A8)
P2.0(A9)
P2.2(A10)
P2.3(A11)
P2.4(A12)
P2.5(A13)
P2.6(A14)
P2.7(A15)
PSEN
ALE/PROGEA/VPP
P0.7(AD7) P0.6(AD6) P0.5(AD5) P0.4(AD4) P0.3(AD3) P0.2(AD2) P0.1(AD1) P0.0(AD0)VCC
Mikrokontroler AT89S51 memiliki 40 pin/kaki, 32 pin diantaranya
digunakan sebagai port pararel. 32 pin tersebut dibagi menjadi 4 buah port
pararel yaitu port 0, port 1, port 2 dan port 3. Bentuk dari mikrokontroler
AT89S51 dapat dilihat pada gambar 2.1.1. Port 0 Port 0 adalah port dua arah yaitu keluaran / masukan. Jika angka ‘1’
tertulis pada pin-pin Port 0, maka pin tersebut akan dapat digunakan sebagai high-impedance inputs. Port 0 juga menerima byte kode selama proses pemrograman Flash dan output byte kode selama verifikasi program.
2. Port 1 Port 1 berfungsi sebagai I/O biasa atau menerima low order address bytes
selama pada saat flash programming. Port ini memiliki internal pull up dan berfungsi sebagai input dengan memberikan logika ‘1’. Sebagai output
port ini dapat memberikan output sink keempat buah input TTL. Untuk tabel Port 1 akan ditunjukkan pada Tabel 2.1.
Tabel 2.1 Port 1Port Pin Alternate Functions P1.5 MOSI (used for In-System Programming) P1.6 MISO (used for In-System Programming) P1.7 SCK (used for In-System Programming) 3.
Port 2 Port 2 berfungsi sebagai I/O biasa. Port ini memiliki internal pull up dan
berfungsi sebagai input dengan memberikan logika ‘1’. Sebagai output,
4. Port 3 Port 3 berfungsi sebagai I/O biasa. Port ini memiliki sifat yang sama
dengan port 1 dan port 2. Port 3 memiliki beberapa fungsi spesial seperti ditunjukkan pada Tabel 2.2.
Tabel 2.2 Port 3Port Pin Alternate Functions P3.0 RXD (serial input port) P3.1 TXD (serial output port) P3.2 INT0 (external interrupt 0) P3.3 INT1 (external interrupt 1) P3.4 T0 (timer 0 external input) P3.5 T1 (timer 1 external input) P3.6 WR (external data memory write strobe) P3.7 RD (external data memory read strobe)
5. PSEN Program Store Enable berfungsi pada saat mengeksekusi program yang terletak pada memori eksternal.
6. ALE/ PROG
Keluaran ALE (Address Latch Enable) menghasilkan pulsa-pulsa yang akan digunakan untuk mengancing byte rendah (low byte) alamat selama mengakses memori eksternal. Pin ini juga berfungsi sebagai masukan pulsa program (program pulser input) selama pemrograman flash.
8. RST
Merupakan masukan reset, apabila diberi masukan ‘1’ selama dua siklus mesin pada saat osilator bekerja maka akan mereset mikrokontroler tersebut.
9. XTAL 1 dan XTAL 2
Mikrokontroler AT89S51 telah memiliki on-chip osilator yang dapat bekerja dengan menggunakan kristal eksternal yang dihubungkan ke kaki
XTAL 1 dan XTAL 2.
10. Vcc Port yang akan dihubungkan ke suplai tegangan yaitu + 5 V DC.
11. GND Port yang akan dihubungkan ke ground.
2.2.4 Timer dan Counter Mikrokontroler AT89S51
Mikrokontroler AT89S51 dilengkapi dengan dua perangkat timer/ counter yaitu timer 0 dan timer 1. Pencacah biner timer/counter AT89S51 merupakan pencacah biner naik (count up binary counter) yang mencacah dari 0000h sampai FFFFh, saat kondisi pencacah berubah dari FFFFh kembali ke 0000h akan timbul sinyal limpahan (overflow). Register-register yang terdapat dalam timer/counter
1. TMOD (timer mode register)
Register TMOD berupa 8 bit register yang terletak pada alamat 89h dengan fungsi setiap bit adalah sebagai berikut:
- Gate : timer akan berjalan jika bit ini diset
- C/ T : 1 = counter 0 = timer
- M1 & M2
: untuk memilih mode timer
Gambar 2.2 Keterangan Register TMOD2. THx dan TLx
Merupakan register yang menunjukan nilai dari timer. Masing-masing
timer memiliki dua buah register yaitu: THx untuk timer high byte dan TLx untuk timer low byte.
3. TCON (timer control register)
Register ini hanya memiliki 4 bit saja, yaitu bit 4, bit5, bit6 dan bit7 dari register TCON. Yang memiliki fungsi yang berhubungan dengan timer.
- TF1 : timer 1 over flag yang akan set bila timer 1 overflow.
- TR1
: 1 = timer 1 aktif
Gambar 2.3 Keterangan Register TCONTimer AT89S51 memiliki empat buah mode kerja timer dimana setiap mode memiliki masing-masing fungsi. Penentuan mode kerja timer dilakukan dengan melakukan inisialisasi pada register TMOD.
1. Mode 0
Pada mode ini, timer bekerja dengan mode 13 bit timer ketika overflow terjadi saat terjadi perubahan kondisi dari ketiga belas bit yang tersimpan di register TLx dan THx (x = 0 untuk timer 0 dan x = 1 untuk timer 1) menjadi logika 0 setelah sebelumnya mencapai logika 1. Pada aplikasi sebagai counter kembali menghitung dari awal. Bit TFx akan berlogika 1 pada saat kondisi overflow terjadi.
2. Mode 1
Pada mode ini, timer berfungsi sebagai 16 bit timer yang akan menghitung naik mulai dari 0000h hingga FFFFh. Dari perhitungan tersimpan pada register TLx untuk low byte dan THx untuk high byte.
3. Mode 2
4. Mode 3
Pada Mode 3 TL0, TH0, TL1 dan TH1 dipakai untuk membentuk 3 untaian pencacah, yang pertama adalah untaian pencacah biner 16 bit tanpa fasiltas pemantau sinyal limpahan yang dibentuk dengan TL1 dan TH1. Yang kedua adalah TL0 yang dipakai sebagai pencacah biner 8 bit dengan TF0 sebagai sarana pemantau limpahan. Pencacah biner ketiga adalah TH0 yang dipakai sebagai pencacah biner 8 bit dengan TF1 sebagai sarana pemantau limpahan.
2.2.5 On-Chip Osilator
Mikrokontroler AT89S51 buatan Atmel mempunyai osilator on-chip, yang dapat digunakan sebagai sumber detak (clock) ke CPU. Cara menggunakannya adalah dengan menghubungkan sebuah resonator kristal atau keramik di antara kaki-kaki XTAL1 dan XTAL2 pada Mikrokontroler dan hubungkan kapasitornya ke ground.
2.3 ISP (In-System Programming)
Program MCS-51 ISP dirancang untuk mengisi memori program MCS-51 secara In-System Programming. Didalam perancangan ini, digunakan rangkaian digunakan sangat sederhana, hanya terdiri atas sebuah parallel port DB25 dan beberapa utas kabel.
Parallel port DB25 ini dihubungkan ke sistem target dengan melalui enam
utas kabel, yaitu 2 kabel untuk dihubungkan ke ground yang ditempatkan pada pin 24 dan pin 25 pada port paralel DB25, sedangkan 4 kabel lainnya sebagai sinyal kontrol yang berfungsi untuk mengisi memori program MCS-51. Sinyal kontrol yang pertama adalah RESET yang dipakai untuk me-reset MCS-51.
Sinyal kontrol RESET ini menempati pin 9 pada mikrokontroler AT89S51 yang nantinya akan dihubungkan pada pin 6 (D4) port paralel DB25 dalam pengisian memori program. Sinyal kontrol lainnya adalah MOSI (master out slave
in ) yang berfungsi untuk mengirimkan data dari PC ke MCS-51. Sinyal kontrol
MOSI yang terdapat pada pin 6 (P1.5) pada mikrokontroler AT89S51 yang akan dihubungkan pada pin 7 (D5) pada port paralel DB25.
Berikutnya adalah sinyal MISO (master in slave out) yang berfungsi untuk mengirimkan data dari MCS-51 ke PC, dimana MISO ini terdapat pada pin 7 (P1.6) pada mikrokontroler AT89S51 yang akan dihubungkan ke pin 10 (ACK) pada parallel port DB25. Sinyal kontrol SCK (serial clock) yang berfungsi untuk mendorong data secara seri yang terdapat pada pin 8 (P1.7) pada mikrokontroler AT89S51 yang akan dihubungkan dengan pin 8 (D6) pada parallel port DB25.
Tabel 2.3 Keterangan Hubungan Antara PC dan AT89S51 pada ISPPort Paralel (DB25) MCS-51 (AT89S51)
Pin 6 (D4) Pin 9 (RESET) Pin 7 (D5) Pin 6 (MOSI / P1.5) Pin 8 (D6) Pin 8 (SCK / P1.7) Pin 10 (ACK) Pin 7 (MISO / P1.6) Pin 20-25 (GND) Pin 20 (GND)
2.4 Rangkaian Reset
Rangkaian reset digunakan untuk me-reset program yang terdapat pada mikrokontroler pada saat catu daya dihidupkan agar pada saat start awal pin reset mendapat tegangan 5 V sesaat untuk reset. Lamanya waktu reset pada saat awal adalah waktu start up ditambah dengan dua siklus mesin. Vcc 5 V R C RST
Vcc AT89S51 GND
Gambar 2.4 Rangkaian Power-on Reset AT89S51Pada rangakaian reset (gambar 2.4) sebenarnya hanya merupakan rangkaian sedangkan V R (tegangan antara pin RST dengan ground) akan mengecil. Yang perlu diperhatikan untuk rangkaian ini adalah nilai R dan C agar selama minimal 2 siklus mesin (2µd) masih berlogika 1. Dari data sheet AT89S51, tegangan masukan untuk logika 1 pin RST memiliki batas bawah (V
IH1(min) adalah 0,7 Vcc.
Untuk menghitung besarnya nilai R dan C dapat menggunakan persamaan
V R sebagai berikut:
Vcc – Vc
≥ 0,7 Vcc
− t / RC
1 –
Vcc Vcc − e ( ) ≥ 0,7 Vcc − t / RC
{1– 1 }
Vcc − e ( ) ≥ 0,7 Vcc
− t / RC
− e ≥ 0,7 Vcc
− t / RC
- – ln
e
≥ ln0,7 Vcc
t ⎛ − ⎞
- – RC
≥ ln0,7 Vcc
⎜ ⎟
⎝ ⎠ t
≥ ln0,7 Vcc
RC t
≥ RC ln , 7 -6
2.10 ≥ RC ln0,7
- 5,607 µs
≥ RC
RC ≥ 5 , 607 µ s ................................ (2.2)
2.5 Titik Nol (Zero Crossing)
Titik nol berfungsi untuk menentukan di titik mana (pada 1 periode
Gambar 2.5 Letak titik nol (zero crossing) dari tegangan ACDengan menggunakan fungsi transistor sebagai saklar, akan diperoleh bentuk tegangan masukan dan tegangan keluaran. Contoh bentuk gelombang dengan tegangan masukan (misal : 5 volt) dan bentuk tegangan keluaran terhadap waktu periode (= t, dengan satuan millisekon) dapat dilihat dalam gambar 2.6
Gambar 2.6 V Input dan V Output zero crossing terhadap t(ms)2.6 Transistor sebagai saklar
Gambar 2.7 Konfigurasi common emitter sebagai saklar transistor NPNPada umumnya saklar transistor menggunakan konfigurasi common emitor seperti ditunjukkan pada Gambar 2.7 Saat transistor berada pada kondisi jenuh (saturation) tegangan kolektor-emitor (Vce) mendekati nol dan menyebabkan arus kolektor (Ic) mengalir dari kolektor ke emitor, kondisi ini dianalogikan seperti saklar dalam keadaan tertutup atau on. Pada kondisi menyumbat (cut-off) Vce mendekati tegangan suplai (Vcc), sehingga Ic tidak dapat mengalir dari kolektor ke emitor, kondisi ini dianalogikan seperti saklar yang terbuka atau off.
- +V Rb Rc
2 ke beban
1
3 Gambar 2.8 Saklar transistor NPN dengan tegangan muka dari sebuah Rc dan tahanan basis Rb yang berfungsi untuk mengaktifkan transistor bekerja pada daerah yang diinginkan dan memberikan efek seperti saklar, yaitu pada daerah jenuh (saturation) dan daerah sumbat (cut-off). Nilai tahanan kolektor Rc dan tahanan basis Rb dihitung dengan persamaan sebagai berikut :
Vb − Vbe
R B = ......................................................................(2.3.a)
Ib
( )
Vcc − Vce sat
R C = .............................................................(2.3.b)
Ic ( sat )
Vb merupakan tegangan basis yang harus diberikan untuk membuat transistor dalam keadaan jenuh (saturation) sehingga Vb harus setinggi :
- Vb = . Ib Rb Vbe ..................................................................(2.3.c) Vbe adalah tegangan basis-emitor atau break down voltage yang harus diberikan ke basis–emitor agar transistor mencapai kondisi jenuh (saturation). I B diperoleh dari persamaan :
Ic
I B = ...............................................................................(2.3.d)
dc
β Faktor ßdc dapat dilihat dari lembar data transistor yang digunakan atau dihitung dari perbandingan antara Ic dan Ib. Dalam kondisi menyumbat (cut-off) tegangan kolektor-emitor Vce ≈ Vcc dan dalam kondisi jenuh Vce ≈ 0. saklar, seperti pada gambar 2.9 (B). Oleh karena itu, triac dapat mengendalikan arus pada kedua arah. Tegangan penyalaan biasanya tinggi, sehingga cara yang normal untuk menyalakan triac adalah dengan menerapkan pemicu berprategangan maju. Lembaran data untuk triac selalu mencantumkan tegangan pemicu dan arus pemicu ini.
- + + +
V V
V GATE -
- - - (B) (C) (A)
Apabila tegangan V mempunyai polaritas seperti yang tampak pada
gambar 2.9 (A), maka harus menerapkan pemicu positif, yang akan menutup saklar di sebelah kiri. Bila tegangan V mempunyai polaritas yang berlawanandibutuhkan pemicu negatif yang akan menutup saklar di sebelah kanan. Gambar 2.9 (C) merupakan lambang skematik dari sebuah triac.
Rangkaian sederhana pemakaian triac terlihat dalam gambar 2.10 Kaki MT1 dan MT2 merupakan saklar yang mengatur aliran arus beban yang berasal dari sumber tegangan bolak-balik (AC). Dalam keadaan normal kaki MT1 dan MT2 tidak terhubung, sehingga tidak ada arus beban yang mengalir. Saat ada arus gate mengalir, MT1 akan terhubung ke MT2 dan mengalirkan arus beban.
Arus gate hanya diperlukan untuk menghubungkan MT1 dan MT2, setelah itu MT1 akan tetap terhubung ke MT2 meskipun sudah tidak ada arus gate lagi.
Pemberian arus gate sesaat untuk menghubungkan MT1 dan MT2 dikatakan sebagai menyulut (men-trigger) triac. MT1 terhubung terus ke MT2 selama arus beban yang mengalir lebih besar dari arus minimum (holding current).
Gambar 2.11 (a) merupakan contoh lain dari rangkaian triac sebagai pengendali fase. Rangkaian RC yang memvariasikan sudut fase tegangan gerbangtriac. Rangkaian tersebut dapat mengatur arus melalui sebuah beban yang besar.
Gambar 2.11 (b) dan 2.11 (c) menunjukkan tegangan catu dan tegangan gerbang yang tertinggal. Saat tegangan kapasitor cukup besar untuk mencatu arus pemicu,triac akan menghantar. Sekali menghantar, triac akan terus menghantar sampai tegangan catu kembali nol.
Gambar 2.11 (b) dan (c) Triac sebagai pengendali faseTabel 2.4. menunjukkan triac yang tersedia secara komersial. Terlihat, tegangan pemicu gerbang pada tabel adalah dari 2 sampai 2,5V dan arus pemicugerbang dari 10 mA sampai 50 mA. Arus maksimum anoda dari 1A sampai dengan 15 A.
Tabel 2.4. Triac yang tersedia secara komersialSeri Piranti
V GT’ (V) I GT’ (mA) I max’ (A) V max’ (V) Q201E3 Q4004L4 Q5010R5 Q6015R5
2 2,5 2,5 2,5
10
25
50
50
1
4
10
15 200 400 500 600
2.7.1 Penentuan Pemicuan Triac
Gambar 2.12. Satu periode sinusoidalGambar 2.12 menunjukkan 1 periode gelombang sinusoidal dengan frekuensi 50 Hz. Apabila diambil setengah periodenya, maka didapatkan waktusetengah periodenya 10 ms. Luasan yang diarsir merupakan luasan penggunaan daya yang diterima triac. Untuk menghitung luasan yang diarsir tersebut dapat dicari dengan rumus :
180 x ∫ Sin x dx = - Cos 180° – ( - Cos x ) ...........................................(2.4.a)
Misal penggunaan daya 100% (daerah yang diarsir pada gambar 2.13) maka dapat dilakukan perhitungan luasan daya selama setengah siklus gelombang sinusoidal (AC).
2.7.2. Penentuan Tahanan Gate Triac
Untuk menentukan Rgate dapat dihitung dengan rumus : Vgate = Igate . Rgate
Vgate
Rgate = ......................................................................(2.4.b)
Igate
2.8 Regulator LM7805
Regulator LM7805 ini adalah IC regulator yang dapat menstabilkan
tegangan searah positif dengan masukan 8 Volt sampai 20 Volt. LM7805 dapat mengeluarkan tegangan maksimum 5,35 V apabila dilengkapi peredam pada heat yang memadai dan pada daya kurang atau sama dengan 15 Watt. IC regulator
sink
seri LM7805 mempunyai karakteristik sebagai berikut :
a. Menstabilkan tegangan searah positif dengan masukan tegangan dari 8 Volt sampai 20 Volt DC.
b. Tegangan keluaran dapat mencapai 5,35 V.
c. Tidak memerlukan tambahan komponen ekstern.
d. Pembatas arus hubungan singkat intern.
Seri LM7805 dapat diperoleh dalam kemasan TO-22C plastik dan logam. Pada gambar 2.13 ditunjukkan bentuk fisik dari IC LM7805 yang digunakan, dan
Gambar 2.13. Bentuk fisik dari IC LM7805.Tabel 2.5. Karakteristik regulator tegangan IC LM7805I out (Ampere) Vin (Volt) Tipe
V out (Volt) 78xxC 78Lxx 78Mxx Min Max 7805 5 1 0,1 0,5 7,5 20
Penggunaan IC LM7805 untuk regulasi tegangan ditunjukkan dalam gambar 2.14. LM7805 VIN 1 GN
D
3
VOUT 2 Gambar 2.14 Penggunaan IC LM7805 untuk regulasi teganganC2 2 VOUT
LM7805
3 GN D VIN 10,1 uF 22 uF
C1Gambar 2.15.
Catudaya dengan regulator LM7805 dan kapasitor masukan untuk melindungi osilasi dan kapasitor keluaran untuk memperbaiki tanggapan frekuensi.
Fungsi kapasitor masukan dan keluaran terhadap regulator LM7805 terlihat dalam
gambar 2.15. Untuk memperbaiki respon transient (tanggapan frekuensi) pada tegangan keluaran teregulasi, kapasitor bypass C sering digunakan pada pin 2.2 Nilai yang sering digunakan adalah dari 0,1 µF sampai 1 µF. Data sheet IC