DESAIN PENGATURAN OTOMATIS POMPA AIR LISTRIK BERBASIS MIKROKONTROLLER MIKROKONTROLLER AT89S51 HALAMAN JUDUL
SKRIPSI
Untuk memenuhi sebagian persyaratan Mencapai derajat Sarjana S-1
Diajukan oleh : MARSUDI 06519038
PROGRAM STUDI TEKNIK ELEKTRO FAKULTAS TEKNIK DAN ILMU KOMPUTER UNIVERSITAS MERCU BUANA YOGYAKARTA 2009
i
HALAMANPERSETUJUAN
Skripsi Desain Pengaturan Otomatis Pompa Air Listrik Berbasis Mikrokontroller Mi krokontroller AT89S51 Dipersiapkan dan disusun oleh Marsudi (06519038)
Telah dipertahankan di depan tim Penguji Pada tanggal
Juni 2009
Susunan Tim Penguji Dosen Pembimbing I
Dosen Pembimbing II
Supatman, S.T., M.T.
Yudianingsih, S.T., M.T. Penguji
Nama Penguji Skripsi ini telah diterima sebagai salah satu persyaratan Untuk memperoleh gelar Sarjana Teknik
Dekan Fakultas Teknik dan Ilmu Komputer,
Dr. Ir. Sasongko Pramono Hadi, DEA.
ii
HALAMAN PERSEMBAHAN
Persembahanku… Aku Bersembah sujud hanya kepada-Mu Hanya Engkau yang patut disembah… Allah SWT Allah SWT
Untukmu… Ayah dan Ibunda tercinta...yang selalu mengasihi dan menyanyangiku
iii
HALAMAN MOTO
Tingkatan ilmu seseorang Dapat dilihat dari perilakunya Bukan dari kata-katanya
Bangkit dan lakukanlah Karena kewajiban kita adalah tanggungjawab kita Bukan orang lain
Dimana ada usaha Di situ pasti ada jalan Hambatan bukanlah sesuatu yang harus kita hindari Melainkan tantangan yang harus kita hadapi
iv
INTI SARI
Kemajuan ilmu pengetahuan dan teknologi berperan mewujudkan kehidupan yang lebih baik. Teknologi elektronika merupakan salah satu teknologi yang telah melekat di dalam kehidupan manusia, berbagai alat elektronika praktis dan fleksibel telah banyak diciptakan sehingga membantu memudahkan manusia dalam memenuhi kebutuhannya. Berbagai macam peralatan dengan sistem pengoperasian secara manual semakin ditinggalkan beralih pada peralatan yang serba otomatis, sehingga peralatan otomatis lebih mendominasi dalam kehidupan manusia. Alat bantu Desain Pengaturan Otomatis Pompa Air Listrik Berbasis Mikrokontroller AT89S51didesain dengan operasional yang sederhana sehingga mudah pengoperasiannya Setelah kabel konektor AC dihubungkan ke jala-jala listrik 220Volt AC maka alat ini akan bekerja yaitu mengendalikan secara otomatis mesin listrik pompa air. Alat ini berfungsi untuk menghidupkan atau mematikan mesin listrik pompa air, jika air pada bak penampung kosong maka alat ini akan menghidupkan mesin listrik pompa air dan jika air pada bak penampung airnya penuh maka alat ini akan mematikan mesin listrik pompa air. Dengan alat yang merupakan Desain Pengaturan Otomatis Pompa Air Listrik Berbasis Mikrokontroller AT89S51diharapkan mesin listrik pompa air dapat bekerja secara otomatis. Alat ini dilengkapi dengan saklar Full Half , jika saklar pada posisi Full maka mesin listrik pompa air akan mengisi air sampai bak penampung penuh, jika saklar pada posisi Half maka mesin listrik pompa air akan mengisi bak penampung air 50% saja, hal ini diperlukan pada saat musim kemarau yang biasanya debit air menurun.
Kata Kunci : mikrokontroller, otomatis, pompa air
v
KATA PENGANTAR
Alhamdulillah, puji syukur penulis panjatkan ke hadirat Allah SWT yang telah
melimpahkan
Rahmat
dan
Karunia-Nya
sehingga
penulis
dapat
melaksanakan dan menyusun laporan Tugas Akhir Skripsi dengan judul “ Desain Pengaturan Otomatis Pompa Air Listrik Berbasis Mikrokontroller AT89S51” dengan baik. Skripsi ini merupakan salah satu syarat untuk menyelesaikan pendidikan program S-1 di Fakultas Teknik dan Ilmu Komputer Universitas Mercu Buana Yogyakarta. Dalam penulisan laporan proyek akhir ini, penulis mendapatkan banyak bantuan dan bimbingan serta saran dari berbagai pihak, maka pada kesempatan ini penulis mengucapkan banyak terima kasih kepada : 1. Bapak Prof. Dr. Djoko Wahyono, M.Si., Apt., selaku Rektor Universitas Mercu Buana Yogyakarta. 2. Bapak Dr. Ir.Sasongko Pramono Hadi, DEA., selaku Dekan Fakultas Teknik dan Ilmu Komputer Universitas Mercu Buana Yogyakarta. 3. Bapak Supatman, S.T., M.T. selaku dosen pembimbing utama Fakultas Teknik dan Ilmu Komputer Universitas Mercu Buana Yogyakarta. 4. Ibu Yudianingsih, ST., MT. selaku dosen pembimbing pendamping Fakultas Teknik dan Ilmu Komputer Universitas Mercu Buana Yogyakarta.
vi
5. Seluruh Dosen dan karyawan pada Fakultas Teknik dan Ilmu Komputer Universitas Mercu Buana Yogyakarta. 6. Dan tidak lupa semua rekan mahasiswa pada Fakultas Teknik dan Ilmu Komputer Universitas Mercu Buana Yogyakarta, yang telah memberikan dukungan dan motivasi kepada penulis. 7. Semua pihak yang tidak mampu penulis sebutkan, yang telah membantu dalam penelitian dan dalam penyusunan skripsi. Penulis menyadari bahwa dalam penyusunan laporan ini tidak lepas dari kesalahan dan kekurangsempurnaan, maka kritik dan saran yang konstruktif dari semua pihak, akan penulis terima dengan senang hati untuk kesempurnaan laporan ini. Akhirnya penulis berharap semoga laporan ini bermanfaat bagi penulis dan semua pihak yang membutuhkan serta dapat menjadi amal ibadah yang diterima di sisi-Nya. Amien. Yogyakarta, Mei 2009
Penulis
vii
DAFTAR ISI
HALAMAN JUDUL ................................................................................................ i HALAMAN PERSETUJUAN ................................................................................ ii HALAMAN PERSEMBAHAN ............................................................................. iii HALAMAN MOTO ............................................................................................... iv INTI SARI ............................................................................................................... v KATA PENGANTAR............................................................................................ vi DAFTAR ISI ........................................................................................................ viii DAFTAR GAMBAR ............................................................................................. xi DAFTAR TABEL ................................................................................................. xii DAFTAR LAMPIRAN ........................................................................................ xiii BAB I PENDAHULUAN ....................................................................................... 1 1.1.
Latar Belakang Masalah................................................................. 1
1.1.1. Permasalahan ................................................................................... 2 1.1.2. Keaslian Penelitian .......................................................................... 2 1.2.
Batasan Masalah ............................................................................ 3
1.3.
Manfaat yang Diharapkan .............................................................. 3
1.4.
Tujuan Penelitian ........................................................................... 4
1.5.
Sistematika Penulisan .................................................................... 4
BAB II TINJAUAN PUSTAKA ............................................................................ 6 2.1.
Tinjauan Pustaka ............................................................................ 6
2.2.
Landasan Teori ............................................................................... 7
2.2.1. Mikrokontroller ...............................................................................7 2.2.1.1.
Hardware Mikrokontroller ....................................................... 8
2.2.1.2.
Instruksi MCS-51.................................................................... 11
2.2.1.3.
Sistem Interupsi AT89S51...................................................... 14
2.2.1.4.
Sistem Timer AT89S51 .......................................................... 15
2.2.2. Saklar dan Rile .............................................................................. 20
viii
2.2.2.1.
Saklar ...................................................................................... 20
2.2.2.2.
Rile
...................................................................................... 21
2.2.3. LED ............................................................................................... 24 2.2.4. Transistor Sebagai Saklar .............................................................. 25 2.2.5. Flow Chart ..................................................................................... 27 2.3.
Hipotesis....................................................................................... 28
BAB III METODOLOGI PENELITIAN............................................................. 29 3.1.
Bahan dan Alat Penelitian ............................................................ 29
3.1.1. Bahan Penelitian ............................................................................ 29 3.1.1.1.
Sistem Minimum Mikrokontroller AT89S51 ......................... 29
3.1.1.2.
Transistor ................................................................................ 29
3.1.1.3.
Saklar ...................................................................................... 29
3.1.1.4.
Rile
3.1.1.5.
Pompa Air ............................................................................... 30
3.1.1.6.
Catu Daya Teregulasi ............................................................. 30
...................................................................................... 30
3.1.2. Alat Penelitian ............................................................................... 30 3.1.2.1.
Komputer ................................................................................ 30
3.1.2.2.
Kabel ISP Programmer ........................................................... 31
3.1.2.3.
Multimeter .............................................................................. 31
3.2.
Langkah Penelitian ....................................................................... 32
3.2.1. Perancangan Alat ........................................................................... 32 3.2.1.1.
Perancangan Hardware .......................................................... 32
3.2.1.2.
Perancangan Software ............................................................. 40
3.2.2. Realisasi Sistem ............................................................................. 44 BAB IV PENGUJIAN DAN PEMBAHASAN .................................................... 45 4.1.
Hasil Pengujian ............................................................................ 45
4.1.1.
Sistem Minimum AT89S51 dan Output Rile ......................... 45
4.1.2.
Water level Sensor .................................................................. 46
4.1.3.
Saklar Mode ............................................................................ 46
4.1.4.
Pengujian Sistem .................................................................... 47
4.2.
Pembahasan .................................................................................. 48
ix
4.2.1. Analisis Perangkat Keras ............................................................... 48 4.2.1.1.
Sistem Minimum dan Output Rile .......................................... 48
4.2.1.2.
Water Level Sensor dan Saklar Mode..................................... 48
4.2.2. Analisis Program ........................................................................... 49 4.2.3. Analisis Sistem Keseluruhan ......................................................... 53 BAB V KESIMPULAN ........................................................................................ 55 5.1.
Kesimpulan .................................................................................. 55
5.2.
Saran............................................................................................. 55
DAFTAR PUSTAKA ........................................................................................... 56
x
DAFTAR GAMBAR
Gambar 2.1. Diagram Blok Mikrokontroller AT89S51 .......................................... 9 Gambar 2.2. Konfigurasi Pena AT89S51 (40-lead PDIP) .................................... 10 Gambar 2.3. Denah susunan bit dalam register TMOD ........................................ 18 Gambar 2.4. Denah susunan bit dalam register TCON......................................... 19 Gambar 2.5. (a) Simbol push button saat OFF dan (b) Simbol push button saat OFF ON ........................................................................................... 20
Gambar 2.6. Bentuk fisik salah satu saklar push button ....................................... 21 Gambar 2.7. Simbol Saklar ................................................................................... 21 Gambar 2.8. Bentuk fisik salah satu Saklar .......................................................... 21 Gambar 2.9. Simbol dan Prinsip Kerja Rile SPDT .............................................. 23 Gambar 2.10. Simbol dan Prinsip Kerja Rile DPDT ............................................ 23 Gambar 2.11. Bentuk fisik dan simbol lampu LED .............................................. 24 Gambar 2.12. (a) Transistor pada daerah saturasi. (b) Ekuivalen transistor sebagai saklar on
(Malvino, 1985: 123) ..................................... 26
Gambar 2.13. Transistor pada daerah cut off (Malvino, 1985:124) ...................... 26 Gambar 2.14. Simbol-simbol Flow Chart ............................................................ 27 Gambar 3.1. Diagram Blok Pemanfaatan Mikrokontroller AT89S51 ................. 32 Gambar 3.2. Rangkaian regulator Catu Daya +12V dan +5V ............................. 33 Gambar 3.3. Water level Sensor........................................................................... 34 Gambar 3.4. Saklar Mode Pengisian ( Full / Half ) ............................................... 35 Gambar 3.5. Rangkaian Output Rile .................................................................... 35 Gambar 3.6. Rangkaian reset ............................................................................... 37 Gambar 3.7. Sistem Minimum AT89S51 ........................................................... 37 Gambar 3.8. Sistem Kontrol Pemanfaatan Mikrokontrol AT89S51 Sebagai Pengendali Otomatis Mesin Listrik Pompa Air ............................ 39 Gambar 3.9. Bentuk Program Assembler ........................................................... 41 Gambar 3.10. Flow Chart Program Pengatur Otomatis Pompa Air Listrik Berbasis Mikrokontroller AT89S51 .............................................. 42 xi
DAFTAR TABEL
Tabel 4.1. Titik Kerja Transistor Sensor 1 Q1 ...................................................... 46 Tabel 4.2. Titik Kerja Transistor Sensor 2 Q2 ...................................................... 46 Tabel 4.3. Titik Kerja Transistor Sensor 3 Q3 ...................................................... 46 Tabel 4.4. Kebenaran Kontrol Pompa Air Otomatis { f(input) = output } ............ 49
xii
DAFTAR LAMPIRAN
Lampiran 1. Gambar Rangkaian Sistem Kontrol ................................................ 57 Lampiran 2. Lay out Komponen dan PCB Sistem Kontrol ................................. 58 Lampiran 3. Source Code Program Assembly Mikrokontroller AT89S51 ......... 59 Lampiran 5. Datasheet AT89S51 ........................................................................ 60
xiii
BAB I PENDAHULUAN
1.1. Latar Belakang Masalah
Kebutuhan teknologi tepat guna dan sepadan tidak hanya di industri., tetapi juga pada alat-alat rumah tangga. Pada implementasinya teknologi yang sederhana sudah banyak merambah pada alat-alat rumah tangga, alat bantu dalam rumah tangga biasanya sangat sederhana, dengan sentuhan teknologi sedikit alat yang sangat sederhana bisa mempunyai kemampuan yang sangat besar, misalnya dengan menambahkan sistem otomasi pada alat tersebut. Pada mesin listrik pompa air yang digunakan untuk mengambil air tanah dalam sumur, biasanya dioperasikan secara manual, dengan menghidupkan dan mematikan saklar manual. Proses ini tentu cukup merepotkan disamping memerlukan tenaga juga membutuhkan waktu, kemungkinan air yang dimasukkan dalam bak penampung dapat tumpah karena melebihi kapasitas. Mesin listrik pompa air ini sebenarnya bisa dioperasikan secara otomatis dengan sedikit sentuhan teknologi, dengan menggunakan peralatan yang otomatis dan sederhana dalam mengoperasikan, sehingga dapat meringankan tenaga dan menghemat waktu untuk memenuhi kebutuhan air dalam rumah tangga. Kebutuhan peralatan yang dapat dioperasikan secara otomatis sangat diperlukan dalam rumah tangga, seiring dengan kemajuan teknologi, maka perlu diusahakan suatu alat Penerapan Mikrokontroller AT89S51 sebagai pengendali otomatis mesin listrik pompa air. 1
2
1.1.1. Permasalahan
Berdasarkan latar belakang di atas permasalahan yang dapat dirumuskan adalah : 1. Kebanyakan mesin listrik pompa air yang ada di pasaran dioperasikan secara manual. 2. Mesin listrik pompa air yang dioperasikan secara manual untuk mengambil air tanah, dalam memenuhi kebutuhan rumah tangga kadang-kadang pada saat dibuka kran air tidak mengalir. Hal ini dikarenakan bak penampungan air kosong, sehingga harus menghidupkan mesin listrik pompa air terlebih dahulu sebelum menggunakan air. Untuk keperluan tersebut diperlukan waktu dan tenaga. 3. Mesin listrik pompa air yang dioperasikan secara manual jika dihidupkan akan mengisi bak penampung air secara terus menerus. Jika bak penampung sudah tidak mempu menampung air dan mesin tidak segera dimatikan maka air akan meluap, hal ini termasuk dalam kategori pemborosan. 4. Di pasaran belum ada alat yang menerapkan mikrokontroller AT89S51 sebagai pengendali otomatis pompa air.
1.1.2. Keaslian Penelitian
Desain Pengaturan Otomatis Pompa Air Listrik Berbasis Mikrokontroller AT89S51yang akan dilaksanakan belum pernah dilakukan, kecuali sumber lain yang digunakan sebagai referensi terdapat dalam daftar pustaka.
3
1.2. Batasan Masalah
Batasan masalah dari penelitian ini adalah : 1. Perancangan perangkat keras pada penerapan mikrokontroller AT89S51 sebagai pengendali otomatis mesin listrik pompa air 2. Perancangan perangkat lunak pada penerapan mikrokontroller AT89S51 sebagai pengendali otomatis mesin listrik pompa air
1.3. Manfaat yang Diharapkan
Jika penelitian ini berhasil dengan baik dan dikembangkan, manfaat yang bias diharapkan adalah sebagai berikut : 1. Untuk ilmu pengetahuan dan teknologi, keberhasilan penelitian Penerapan Mikrokontroller AT89S51 sebagai pengendali otomatis mesin listrik pompa air, dapat digunakan sebagai salah satu bahan referensi dalam perancangan peralatan otomatis berbasis mikrokontrol, untuk alat bantu rumah tangga dan industri kecil. 2. Untuk pembangunan negara,
Penerapan Mikrokontroller AT89S51
sebagai pengendali otomatis mesin listrik pompa air, dapat digunakan sebagai salah satu bahan pembelajaran bagi para mahasiswa dan siswa dalam perancangan peralatan otomatis berbasis mikrokontrol untuk industri kecil, menengah dan industri rumah tangga.
4
1.4. Tujuan Penelitian
Penelitian ini bertujuan untuk : 1. Mengetahui unjuk kerja
proses pengoperasian mesin listrik pompa air
secara manual. 2. Mengetahui proses pengoperasian mesin listrik pompa air menggunakan peralatan yang otomatis akan berpengaruh terhadap penyediaan kebutuhan air dalam rumah tangga.
1.5. Sistematika Penulisan
Pembahasan skripsi ini menggunakan sistematika penulisan sebagai berikut : BAB I : PENDAHULUAN Pada bagian ini membahas, latar belakang, permasalahan, keaslian penelitian, faedah yang dapat diharapkan, tujuan penelitian, batasan masalah, metodologi, dan sistematika penulisan.
BAB II : TINJAUAN PUSTAKA Pada bagian ini membahas, teori penunjang yang berkaitan dengan pembuatan alat dan teori mikrokontrol AT89S51.
BAB III : PERENCANAAN DAN PEMBUATAN ALAT Pada bagian ini membahas, pembuatan perangkat keras dan pembuatan perangkat lunak.
5
BAB IV : PENGUJIAN DAN ANALISA Pada bagian ini membahas, pengujian alat secara keseluruhan yang meliputi perangkat keras, perangkat lunak dan menganalisa data pengujian alat.
BAB V : KESIMPULAN DAN SARAN Pada bagian ini membahas berdasarkan hasil pengujian dan analisa data kemudian diambil kesimpulan dari kinerja alat tersebut.
BAB II TINJAUAN PUSTAKA
2.1. Tinjauan Pustaka
Penelitian yang dilakukan oleh Djunanda Mieke pada tahun 2003 dengan judul
Sistem
Pengendalian
Aquarium
Berbasis
Mikrokontroler
Dengan
Menggunakan SMS dari Hand Phone. Memelihara ikan dalam aquarium merupakan hal yang biasa dan mudah, tetapi akan memerlukan waktu khususnya bagi orang yang sibuk tetapi mempunyai hobi memelihara ikan terutama dalam proses perawatan ikan mulai dari pemberian makan, mengganti air, menjaga suhu air dan lain-lain. Oleh karena itu dikembangkan metode pemeliharaan ikan dalam aquarium dari jarak jauh yang dapat dikontrol melalui SMS dari Hand Phone. Sistem ini memberi keuntungan bagi mereka yang sibuk bekerja namun senang memelihara ikan dalam aquarium. Penelitian yang dilakukan oleh Samsu Rizal pada tahun 2005 dengan judul Pemanfaatan Mikrokontroler AT89C51 Sebagai PLC (Programable Logic Controller) salah satu aplikasi yang merupakan perpaduan antara perangkat keras dan parangkat lunak. Rangkaian elektronik yang berbasis mikrokontroler adalah perangkat kerasnya, sedang Bahasa Pemrograman Assembler sebagai perangkat lunaknya. Penelitian yang dilakukan oleh Imron Muhammad pada tahun 2007 dengan judul Sistem Pengamanan Tambak Ikan Berbasis Mikrokontroler merupakan suatu peralatan pengamanan yang digunakan untuk mengamankan 6
7
tambak ikan. Peralatan sistem ini terdiri dari detektor atau sensor, Rile dan alarm yang dihubungkan ke mikrokontroler. LDR yang merupakan komponen detektor cahaya ditempatkan di sekeliling tambak, jika ada obyek yang melewati detektor pada waktu tertentu maka mikrokontroler akan mengaktifkan rile yang dihubungkan ke lampu dan alarm sehingga lampu akan menyala dan alarm akan berbunyi. Mikrokontroler yang merupakan rangkaian utama pada alat ini dihubungkan ke telepon seluler yang akan mengirim teks singkat kepada pemilik tambak. Hasil yang didapat menunjukkan bahwa alat ini dapat bekerja dengan baik, sehingga alat ini dapat menjadi sistem pengamanan yang efektif
2.2. Landasan Teori
Untuk membuat suatu sistem pemanfaatan mikrokontroller AT89S51 sebagai pengendali otomatis mesin listrik pompa air, diperlukan beberapa komponen elektronika seperti LED, transistor, saklar, rile dan mikrokontroler. Berikut ini merupakan teori dasar dari masing-masing komponen yang diperlukan.
2.2.1. Mikrokontroller
Mikrokontroller merupakan perkembangan dari mikroprosesor. Dalam sebuah chip mikrokontroller telah terintegrasi memori, CPU dan I/O. Hal tersebut membuat mikrokontroller dapat langsung dibuat sistem dengan menambahkan sedikit peripheral
lain.
Sifat
mikrokontroller
yang
mampu
diprogram
( programmable) menyebabkan mikrokontroller mempunyai kemampuan aplikasi yang sangat luas.
8
2.2.1.1. Hardware Mikrokontroller
2.2.1.1.1. Spesifikasi
AT89S51 adalah salah satu jenis mikrokontroller buatan Atmel dan merupakan keluarga MCS-51. AT89S51 merupakan mikrokontroller 8-bit dengan spesifikasi sebagai berikut : 1)
Kompatibel dengan produk MCS-51
2)
8 Kbytes memori flash internal yang dapat diprogram ulang sampai 1000 kali tulis/hapus.
3)
Cakupan tegangan operasi 4,0Volt – 5,5Volt
4)
Beroperasi secara penuh pada frekuensi 0 sampai 33 MHz
5)
Memiliki tiga tahap penguncian program.
6)
256 X 8-bit RAM internal.
7)
Memiliki jalur I/O 32 bit yang dapat diprogram.
8)
Dua buah 16 bit Timer/Couters.
9)
Memiliki delapan sumber interupsi.
10) Memiliki serial UART yang dapat diprogram. 11) Pengembalian interupt dari mode daya rendah 12) Memiliki Watchdog Timer. 13) Mempunyai 2 data pointer 14) Power-Off flag
15) Pemrograman yang cepat
9
Gambar 2.1. Diagram Blok Mikrokontroller AT89S51 (http://www.atmel.com)
10
2.2.1.1.2. Konfigurasi Pin
Gambar 2.2. Konfigurasi Pena AT89S51 (40-lead PDIP) (http://www.atmel.com) 1) Port 0.0/AD0 – port 0.7/AD7 (kaki 32-39). Pada perancangan komponen minimum, port ini dapat digunakan untuk port I/O tujuan umum. Untuk perancangan yang lebih besar (dengan memori luar), port ini menjadi bus data dan alamat multipleks. 2) Port 1 (kaki 1-8). Port ini dipakai untuk port I/O. Pin-pin ini dirancang sebagai P1.0 - P1.7 untuk antarmuka dengan peralatan luar dan jalur Flash-Programer pada P1.5 (MOSI), P1.6 (MISO), dan P1.7 (SCK). 3) Port 2.0/A8 – port 2.7/A15 (kaki 21-28). Port ini dipakai untuk I/O atau sebagai bus byte tinggi alamat untuk rancangan dengan memori luar. 4) Port 3 (kaki 10-17). Port ini dipakai untuk I/O tujuan umum atau untuk fungsi khusus.
11
5) PSEN (Program store enable, kaki 29). PSEN merupakan keluaran untuk sinyal kendali yang mengijinkan memori program (kode) luar dan biasanya dihubungkan dengan kaki ( Output Enable) EPROM yang mengijinkan pembacaan byte-byte program. 6) ALE ( Address Latch Enable, kaki 30). Sinyal keluaran ALE untuk demultiplexing bus data dan alamat. Jika port 0 digunakan sebagai bus
data dan bus byte rendah alamat, ALE mengunci alamat ke register luar selama setengah pertama siklus memori. Selanjutnya selama setengah kedua siklus memori, jalur-jalur port 0 disediakan untuk data masukan atau keluaran ketika perpindahan data sedang dilakukan. 7) EA ( External Access, kaki 31). Untuk eksekusi program dari memori luar maka kaki ini harus diberi tegangan rendah. 8) RST ( Reset , kaki 9). Jika diberikan tegangan tinggi selama paling sedikit 2 siklus mesin, maka register internal akan diisi dengan harga tertentu untuk kondisi awal sistem.
2.2.1.2. Instruksi MCS-51
Seperti pada mikrokontroller pada umumnya, AT89S51 mempunyai instruksi MCS-51 dan beberapa fasilitas yang berguna untuk pemrograman. Secara keseluruhan MCS-51 memiliki 255 macam instruksi yang dibagi menjadi 5 kelompok meliputi: instruksi aritmatika, instruksi logika, instruksi transfer data, instruksi manipulasi bit variabel dan instruksi percabangan. Masing-masing kelompok akan dijelaskan sebagai berikut:
12
2.2.1.2.1. Kelompok Instruksi Aritmatika
Kelompok perintah ini dipakai untuk melakukan operasi aritmatika yang meliputi penjumlahan (kode operasi ADD), penjumlahan dengan menyertai sisa/ carry (kode operasi ADDC), pejumlahan satu (kode operasi INC), pengurangan dengan menyertai pinjaman/ borrow
(kode operasi SUBB),
pengurangan satu (kode operasi DEC), penyetelan desimal pada akumulator (kode operasi DA), perkalian (kode operasi MUL) dan pembagian (kode operasi DIV).
2.2.1.2.2. Kelompok Instruksi Logika
Kelompok perintah ini dipakai untuk melakukan operasi logika. Operasi logika yang dapat dilakukan adalah operasi OR (kode operasi ORL), operasi AND (kode operasi ANDL), operasi Exclusive OR (kode operasi XRL), menghapus akumulator (kode operasi CLR), negasi akumulator (kode operasi CPL), pergeseran bit akumulator (kode operasi RL, RLC, RR, RRC dan SWAP).
2.2.1.2.3. Kelompok Instruksi Transfer Data
Kelompok perintah ini dipakai untuk memindahkan dan penukaran (exchange ) data. Operasi pemindahan data yang dapat dilakukan adalah pemindahan data antara register dengan register (kode operasi MOV), memori dengan memori (kode operasi MOV), register dengan memori (kode operasi MOV), memori eksternal dengan akumulator (kode operasi MOVX) dan pemindahan data langsung ( direct byte) ke stack /tumpukan (PUSH dan POP). Operasi penukaran data yang dapat dilakukan adalah penukaran data antara akumulator dengan register (kode operasi XCH) , antara akumulator dengan
13
internal RAM (kode operasi XCH), nible rendah (D0 – D3) D3) akumulator dengan nible rendah (D0 – D3) D3) internal RAM (kode operasi XCHD).
2.2.1.2.4. Kelompok Instruksi Manipulasi Bit
Operasi manipulasi bit yang dapat dilakukan adalah menghapus carry dan bit (kode operasi CLR), mengeset carry dan bit (kode operasi SETB), mengkomplemen carry dan bit (kode operasi CPL), operasi AND antara carry dan bit (kode operasi ANL), operasi OR antara carry dan bit (kode operasi ORL), dan memindahkan data dari bit ke carry atau sebaliknya (kode operasi MOV).
2.2.1.2.5. Kelompok Intruksi Percabangan
Instruksi ini dapat digunakan saat program yang sedang dilaksanakan akan melompat ke suatu alamat tertentu. Instruksi percabangan dapat dibedakan atas percabangan percabangan bersyarat dan percabangan tanpa syarat. 1) Instruksi percabangan bersyarat, yang termasuk kelompok ini adalah: CJNE @R n,#data,alamat ,#data,alamat kode CJNE A,#data,alamat kode CJNE A,alamat data,alamat kode CJNE R n,#data,alamat kode DJNZ R n,alamat kode DJNZ alamat data,alamat kode JB alamat bit,alamat kode JNB alamat bit,alamat kode JBC alamat bit,alamat kode JC alamat kode JNC alamat kode JZ alamat kode JNZ alamat kode
2) Instruksi percabangan tanpa syarat, yang termasuk kelompok ini adalah: ACALL alamat kode LCALL alamat kode SJMP alamat kode AJMP alamat kode LJMP alamat kode JMP @A+DPTR RET RETI
14
2.2.1.3. Sistem Interupsi AT89S51
Setiap mikrokontroller biasanya memiliki saluran interupsi. Interupsi adalah peristiwa perangkat keras yang dipakai untuk mengatur kerja dari perangkat lunak mikrokontroller. AT89S51 mempunyai 8 sumber interupsi, yakni Interupsi Eksternal ( External Interrupt ) yang berasal dari kaki INT0, INT1 dan T2 Ext, Interupsi Pewaktu (Timer Interrupt ) yang berasal dari Timer 0 , Timer 1, maupun Timer 2, Interupsi Port Seri (Serial Port Interrupt) yang berasal dari bagian penerima dan bagian pengirim Port Seri. Semua sumber permintaan interupsi yang dibahas di atas, masing-masing bisa diaktifkan atau di-nonaktifkan secara tersendiri lewat bit-bit yang ada dalam register IE ( Interrupt Enable Register ). ). Bit EX0 dan EX1 untuk mengatur interupsi eksternal INT0 dan INT1, sedangkan bit ET0 dan ET1 untuk mengatur interupsi timer 0 dan timer 1, bit ES untuk mengatur interupsi port seri. Di samping itu ada pula bit EA yang bisa dipakai untuk mengatur semua sumber interupsi sekaligus. Setelah reset, semua bit dalam register IE bernilai “0”, artinya artinya sistem interupsi dalam keadaan non-aktif. Untuk mengaktifkan salah satu sistem interupsi, bit pengatur interupsi bersangkutan diaktifkan dan juga EA yang mengatur semua sumber interupsi. Misalnya instruksi yang dipakai untuk mengaktifkan interupsi ekternal INT0 INT0 adalah SETB EX0 disusul dengan dengan SETB EA. Saat AT89S51 menanggapi permintaan interupsi, Program Counter diisi dengan sebuah nilai yang dinamakan sebagai vektor interupsi. Vektor interupsi
15
merupakan nomor awal dari memori-program yang menampung ISR ( Interrupt Service Routine ) untuk melayani permintaan interupsi tersebut. Vektor interupsi
itu dipakai untuk melaksanakan instruksi LCALL, ACALL, AJMP atau LJMP yang diaktifkan secara perangkat keras. Vektor interupsi untuk interupsi eksternal INT0 adalah 0003H, untuk interupsi timer 0 adalah 000BH, untuk interupsi ekternal INT1 adalah 0013H, untuk interupsi timer 1 adalah 001BH dan untuk interupsi port seri adalah 0023H. Jarak vektor interupsi satu dengan lainnya sebesar 8, atau hanya tersedia 8 byte untuk setiap ISR. Jika sebuah ISR memang hanya pendek saja, tidak lebih dari 8 byte, maka ISR tersebut bisa langsung ditulis pada memori-program yang disediakan untuknya. untuknya. ISR yang lebih panjang dari 8 byte ditulis ditempat lain, tapi t api pada memori-program yang ditunjuk oleh vektor interupsi diisikan instruksi JUMP ke arah ISR bersangkutan.
2.2.1.4. Sistem Timer AT89S51 Timer 0 dibentuk dengan register TL0 ( timer 0 low byte , alamatnya pada
RAM internal adalah 6AH) dan register TH0 ( timer 0 high byte , alamatnya 6BH). Sedangkan timer 1 dibentuk dengan register TL1 ( timer 1 low byte , alamatnya 6CH) dan register TH1 (timer 1 high byte, alamatnya 6DH). Untuk mengatur kerja timer/counter dipakai 2 register tambahan yang dipakai bersama oleh timer 0 dan timer 1. Register tambahan tersebut adalah register TCON (timer control register , alamatnya 88H dan bisa dialamat secara timer mode register , alamatnya adalah 89H). bit) dan register TMOD (timer mode
16
TLO, THO, TL1 dan TH1 merupakan SFR ( Special Function Register ) yang dipakai untuk membentuk pencacah biner Timer 0 dan Timer 1. Kapasitas keempat register tersebut masing-masing 8 bit, bisa disusun menjadi 4 macam mode (mode 0, mode 1, mode 2 dan mode3) pencacah biner. Pada Mode 0, Mode 1 dan Mode 2 Timer 0 dan Timer 1 masing-masing bekerja sendiri, artinya bisa dibuat Timer 0 bekerja pada Mode I dan Timer 1 bekerja pada Mode 2, atau kombinasi mode lainnya sesuai dengan keperluan. Pada Mode 3 TLO, THO, TL1 dan TH1 dipakai bersama-sama untuk menyusun sistem timer yang tidak bisa dikombinasi lain. Susunan TLO, THO, TL1 dan TH1 pada masing-masing mode sebagai berikut:
2.2.1.4.1. Mode 0 Pencacah Biner 13 bit
Pencacah biner dibentuk dengan TLX (maksudnya bisa TLO atau TL1) sebagai pencacah biner 5 bit (meskipun kapasitas sesungguhnya 8 bit), limpahan dan pencacah biner 5 bit ini dihubungkan ke THx (maksudnya bisa THO atau TH1) membentuk sebuah untaian pencacah biner 13 bit, limpahan dan pencacah 13 bit ini ditampung di flip-flop TFX (maksudnya bisa TFO atau TF1 ) yang berada di dalam register TCON. Mode ini meneruskan sarana timer yang ada pada mikrokontroller MCS48 (mikrokontroller pendahulu MCS51), dengan maksud rancangan alat yang dibuat dengan MCS48 bisa dengan mudah diadaptasikan ke MCS5 1. Mode ini tidak banyak dipakai lagi.
17
2.2.1.4.2. Mode 1 Pencacah Biner 16 bit
Mode ini sama dengan Mode 0, hanya saja register TLX dipakai sepenuhnya sebagai pencacah biner 8 bit, sehingga kapasitas pencacah biner yang tersbentuk adalah 16 bit. Seiring dengan sinyal denyut, kedudukan pencacah biner 16 bit ini akan bergerak dari 0000H (biner 0000 0000 0000 0000), 0001H, 0002H ... sampai FFFFH (biner 1111 1111 1111 1111), kemudian melimpah kembali menjadi 0000H.
2.2.1.4.3. Mode 2 Pencacah Biner 8 bit dengan isi ulang
TLx dipakai sebagai pencacah biner 8 bit, sedangkan THx dipakai untuk menyimpan nilai yang diisikan ulang ke TLx setiap kali kedudukan TLx melimpah (berubah dan FFH menjadi 00H). Dengan cara ini bisa didapatkan sinyal limpahan yang frekuensinya ditentukan oleh nilai yang disimpan dalam TH0.
2.2.1.4.4. Mode 3 Gabungan Pencacah Biner 16 bit dan 8 bit
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.
18
Register TMOD dan register TCON merupakan register pembantu untuk mengatur kerja Timer 0 dan Timer 1, kedua register ini dipakai bersama oleh Timer 0 dan Timer 1.
a. TMOD (Timer Mode Register ) Register TMOD dibagi menjadi 2 bagian secara simetris, bit 0 sampai 3 register TMOD (TMOD bit 0 s.d. TMOD bit 3) dipakai untuk mengatur Timer 0, bit 4 sampai 7 register TMOD (TMOD bit 4 s.d. TMOD bit 7) dipakai untuk mengatur Timer 1.
Gambar 2.3. Denah susunan bit dalam register TMOD (http://alds-stts.edu/digital/timer.htm) Pemakaian dari register TMOD adalah: 1) Bit M0/M1 dipakai untuk menentukan Mode timer seperti yang terlihat dalam tabel. 2) Bit C/T* dipakai untuk mengatur sumber sinyal denyut yang diumpankan ke pencacah biner. Jika C/T* = 0 sinyal denyut diperoleh dari osilator kristal yang frekuensinya sudah dibagi 12, sedangkan jika C/T* = 1 maka sinyal denyut diperoleh dari kaki T0 (untuk Timer 0) atau kaki T1 (untuk Timer 1). 3) Bit GATE merupakan bit pengatur saluran sinyal denyut. Bila bit GATE = 0 saluran sinyal denyut hanya diatur oleh bit TRx (maksudnya adalah TR0 atau TR1 pada register TCON). Bila bit
19
GATE = 1 kaki INT0 (untuk Timer 0) atau kaki INTl (untuk Timer 1) dipakai juga untuk mengatur saluran sinyal denyut. b. TCON (Timer Control Register ) Register TCON dibagi menjadi 2 bagian, 4 bit pertama (bit 0 s.d. bit 3) dipakai untuk keperluan mengatur kaki INT0 dan INT1.
Gambar 2.4. Denah susunan bit dalam register TCON (http://alds-stts.edu/digital/timer.htm) Sisa 4 bit dari register TCON (bit 4 s.d. bit 7) dibagi menjadi 2 bagian secara simetris yang dipakai untuk mengatur Timer 0 dan Timer 1, sebagai berikut:
1) Bit TFx (maksudnya adalah TF0 atau TF1) merupakan bit penampung limpahan, TFx akan menjadi „1‟ setiap kali pencacah biner yang terhubung padanya melimpah (kedudukan pencacah berubah dari FFFFH kembali menjadi 0000H). Bit TFx dinolkan dengan instruksi CLR TFO atau CLR TF1. Jika sarana interupsi dari interupsi dari Timer 0/Timer 1 dipakai, TRx dinolkan saat MCS51 menjalankan rutin layanan interupsi (ISR – Interupt Service Routine).
2) Bit TRx (maksudnya adalah TR0 atau TR1) merupakan bit pengatur saluran sinyal denyut, bila bit ini = 0 sinyal denyut tidak disalurkan ke pencacah biner sehingga pencacah berhenti
20
mencacah. Bila bit GATE pada register TMOD = 1, maka saluran sinyal denyut ini diatur bersama oleh TRx dan sinyal pada kaki INT0/INTl.
2.2.2. Saklar dan Rile
2.2.2.1. Saklar
Saklar adalah piranti elektronika yang berfungsi untuk menghidupkan atau mematikan sumber (ON/OFF ) dengan efek mekanik, didalam ilmu elektronika, 2 macam jenis saklar push button , antara lain : 1. Push On
Saklar ini apabila ditekan maka akan menghasilkan pulsa 1, dan kemudian apabila dilepaskan maka akan kembali nol. 2. Push Off
Saklar ini apabila ditekan maka akan menghasilkan pulsa 0, dan kemudian apabila di lepaskan maka akan kembali 1. Konstruksi dari saklar ini adalah dengan menghubungkan pegas yang terdapat didalam saklar tersebut. Pegas tersebut apabila dilepaskan maka akan kembali ke posisi semula.
(a) (b) Gambar 2.5. (a) Simbol push button saat OFF dan (b) Simbol push button saat OFF ON
21
Gambar 2.6. Bentuk fisik salah satu saklar push button
Selain saklar di atas juga masih ada lagi skalar ON/OFF berbentuk switch. Prinsip dari saklar ini adalah saklar yang jika ditekan akan berubah keadaan dari OFF menjadi ON , dan untuk mengembalikan keadaan menjadi OFF lagi perlu dilakukan penekanan lagi.
Gambar 2.7. Simbol Saklar
Gambar 2.8. Bentuk fisik salah satu Saklar
2.2.2.2. Rile Rile adalah saklar magnetis yang dapat menghubungkan rangkaian
beban ON dan OFF dengan memberi energi elektromagnetis, yang akan membuka atau menutup kontak pada rangkaian, rile mempunyai variasi aplikasi yang luas baik pada rangkaian listrik maupun elektronis. (Frank D Petruzella 2001:371). Sewaktu arus kontrol melewati kumparan, inti besi lunak akan dimagnetisasi.
22
Armature ditarik oleh inti yang dimagnetisasi. Gerakan armature ini akan
menutup kontak 3 dan 4 dan akan membuka kontak 3 dan 5. dengan kata lain gerakan armature tadi telah mengubah posisi kontak 3 (lihat gambar 2.9 – kontak ini dapat digunakan mengontrol arus yang lebih besar dibawah). Kontak dalam rangkaian. Pada pengoperasian dari rile ini tidak membutuhkan tegangan dan arus yang besar apabila tidak disertai beban. Fungsi utama rile adalah mengontrol arus yang lebih besar dalam rangkaian dengan arus kecil yang melewati kumparan. Simbol rile terdiri atas sebuah kumparan dan 2 set kontak, dalam rile mempunyai 2 keadaan yaitu pada saat terbuka ( Normally Open atau NO) dan tertutup ( Normally Close atau NC). Sewaktu arus lewat kumparan, kontak NO tertutup, sebaliknya kontak NC terbuka. ( Frank D Petruzella 2001:372). Rile terdiri dari kawat penghantar yang digulung pada silinder berinti.
Jangkar atau armatur bertumpu pada sebuah batang yang ujungnya tajam dan dengan bantuan sebuah pegas ringan dan baut, sehingga jangkar dapat bertahan pada tumpuannya. Apabila kumparan dialiri arus maka akan menimbulkan medan magnet. Gaya magnetis akan menarik jangkar untuk mendekati inti. Ujung jangkar yang lain akan mendorong pegas kontak sehingga kontak terhubung. Bila kemudian arus menghilang dari kumparan, jangkar akan dilepas dan kontak terputus. Terdapat beberapa variasi rile baik bentuk, ukuran maupun konfigurasi pensaklaran (kontak). Penggunaan rile disesuaikan dengan keperluan. Konfigurasi atau tipe pensaklaran diidentifikasi sesuai jumlah kutub (p, pole) dan banyaknya
23
posisi saklar (T, throw). Jumlah kutub dan posisi ini dapat didahului dengan huruf (S, untuk single dan D untuk double) atau dengan angka. Secara umum ada dua buah konfigurasi rile yaitu : 1. SPDT (satu kutub dua posisi) yaitu rile yang mempunyai dua posisi kontak. Tipe ini mempunyai hubungan kontak kaki 3 dengan kaki 5 dan ketika kumparan diberi arus, hubungan kontak akan berpindah ke kaki 3 dengan kaki 4.
Gambar 2.9. Simbol dan Prinsip Kerja Rile SPDT
2. DPDT (dua kutub dua posisi) yaitu tipe rile yang mempunyai dua kontak terpisah dari tipe pemindah hubungan (kontak), dan digerakkan oleh jangkar melalui batang isolator.
Gambar 2.10. Simbol dan Prinsip Kerja Rile DPDT Tegangan kerja kumparan rile biasanya 6V, 12V, 24V. Tegangan tersebut menunjukkan kerja yang diperlukan untuk menggerakkan rile.
24
2.2.3. LED
LED ( Light Emitting Diode) merupakan sebuah lampu yang mempunyai daya kecil dan biasanya digunakan sebagai lampu indikator. Daya yang kecil inilah yang menjadi alasan mengapa LED digunakan sebagai lampu indikator pada modul mikrokontroller. LED ini digunakan sebagai indikator keluaran pada pemrograman mikrokontroller. Sebenarnya keluaran juga bisa dilihat pada simulator ketika melakukan simulasi program, tetapi kelemahan simulator adalah tidak bisa dilihat secara langsung hasilnya, karena antara hasil praktik dengan teori jauh berbeda. Artinya bahwa program belum tentu jalan ketika dimasukan ke dalam memori mikrokontroller walaupun telah disimulasikan dengan baik, hal ini bisa juga disebabkan karena hardware yang dibuat ada kesalahan.
Gambar 2.11. Bentuk fisik dan simbol lampu LED
Bentuk-bentuk lampu LED bermacam-macam warnanya dan ukurannya. Tujuannya adalah untuk memenuhi kebutuhan baik mengenai warna, ukurannya maupun dayanya. Bahkan sekarang ini telah muncul beberapa lampu LED yang dapat menampilkan nyala yang berwarna-warni. Warna ini disebabkan oleh bahan pembuatnya.
25
Untuk menyalakan LED diperlukan arus yang cukup. Besarnya arus yang melewati LED menentukan intensitasnya. Umumnya arus yang mengalir pada LED sebesar 2 sampai 20 mA. Sedangkan penurunan tegangan LED sebesar 1,2 V sampai 2,4 V. Di bawah ini adalah rumus untuk menentukan peggunaan resistor sebagai pembatas tegangan. R =
Vcc V led I led
(Persamaan 2. 1)
Dimana : VCC
= Sumber tegangan
VLed
= Tegangan kerja LED
ILed
= Arus kerja Led
R
= Nilai resistansi
2.2.4. Transistor Sebagai Saklar
Transistor adalah salah satu komponen yang dapat digunakan sebagai saklar elektronik. Komponen ini memiliki impedansi yang tinggi saat bersifat sebagai penghantar. Transistor ini bekerja pada daerah jenuh ( saturasi) sebagai saklar tertutup (on) dan daerah mati ( cut off ) sebagai sklar terbuka (off ). Pada daerah saturasi arus mengalir tanpa halangan dari terminal kolektor menuju emitor (VCE = 0) dan arus kolektor jenuh I C sat = VCC / RC.. Kondisi seperti ini menyerupai saklar mekanik dalam keadaan tertutup ( on). Untuk membuat transistor induksi diperlukan arus basis yang minimal besarnya I B > IC / .
26
(a) (b) Gambar 2.12. (a) Transistor pada daerah saturasi. (b) Ekuivalen transistor sebagai saklar on (Malvino, 1985: 123)
pada saat transistor bersifat bukan penghantar ( cut off ) berlaku ketentuan VCE = VCC, IC = 0. dalam hal ini transistor menyerupai saklar mekanik dalam keadaan terbuka ( off ). Kondisi demikian dapat direalisasikan dengan memberikan bias basis IB = 0 atau pada terminal basis diberi tegangan mundur terhadap emitor.
Gambar 2.13. Transistor pada daerah cut off (Malvino, 1985:124)
Analisis perhitungan untuk kondisi saklar secara teori adalah sebagai berikut :
Kondisi cut off VCE = VCC – IC . RC karena IC = 0
(Persamaan 2. 2)
Maka VVE = VCC Besar arus basis I B adalah : IB = IC / karena IC = 0, maka IB = 0 A
27
Kondisi saturasi (jenuh) VCE = VCC – IC . RC
(Persamaan 2. 3)
karena VCE = 0, maka IC = VCC / RC
(Persamaan 2. 4)
Besar tahanan basis R B untuk mendapatkan arus basis I B pada kondisi benarbenar saturasi adalah : RB = (VBB – VBE) / IB sat
(Persamaan 2. 5)
adalah . IB > IC atau IB sat > IC /
2.2.5. Flow Chart Flow Chart atau diagram alir adalah suatu cara yang sangat sederhana
untuk mensistemkan aliran proses sebuah program. Untuk menyajikan jenis operasi sebuah program digunakan simbol-simbol. Ada delapan simbol yang sering digunakan untuk menyusun Flow Chart . PROSES
INPUT
SUB ROUTIN
START
KEPUTUSAN
TERMINAL
KONEKTOR
KONEKTOR AKHIR HALAMAN
Gambar 2.14. Simbol-simbol Flow Chart
28
2.3. Hipotesis
Berdasarkan tinjauan pustaka dan landasan teori, maka pemanfaatan mikrokontroller AT89S51 sebagai pengendali otomatis mesin pompa air dapat diambil hipotesis sebagai berikut : 1. Mikrokontroller dapat digunakan sebagai pengendali otomatis mesin listrik pompa air. 2. Penggunaan peralatan yang otomatis akan memudahkan manusia terhadap proses pengisian tangki air.
BAB III METODOLOGI PENELITIAN
3.1. Bahan dan Alat Penelitian
Pada penelitian yang berjudul Pemanfaatan Mikrokontroller AT89S51 Sebagai Pengendali Otomatis Mesin Listrik Pompa Air ini memerlukan beberapa bahan dan alat pendukung yang digunakan, antara lain :
3.1.1. Bahan Penelitian
3.1.1.1. Sistem Minimum Mikrokontroller AT89S51
Sistem minimum Mikrokontroller AT89S51 digunakan untuk pengendali utama dari alat ini. Fungsi utama adalah mengolah data dari hasil pembacaan water level sensor untuk mengatur rile.
3.1.1.2. Transistor
Transistor
pada
rangkaian
ini
digunakan
sebagai
saklar
untuk
mengendalikan rile dan sensor water level. Transistor yang digunakan adalah transistor D400 berjenis NPN.
3.1.1.3. Saklar
Saklar digunakan untuk pemilihan mode pengisian, yaitu mode full dan half . Saklar yang digunakan adalah saklar dip switch.
29
30
3.1.1.4. Rile
Rile SPDT (satu kutub dua posisi) DC 12 Volt berfungsi sebagai penghubung atau pemutus tegangan 220V AC dengan mesin listrik pompa air.
3.1.1.5. Pompa Air
Pompa air aquarium AC 220V digunakan untuk memompa air ke dalam tangki penampungan air. Pompa air inilah yang dikendalikan secara otomatis oleh alat yang dibuat.
3.1.1.6. Catu Daya Teregulasi
Catu daya teregulasi digunakan sebagi sumber tegangan untuk mencatu rangkaian. Tegangan yang diperlukan adalah +5V dan +12V, digunakan catu daya teregulasi menggunakan IC LM7805 dan LM7812 sehingga diperoleh tegangan yang stabil.
3.1.2. Alat Penelitian
3.1.2.1. Komputer
Komputer digunakan untuk perancangan sistem meliputi desain rangkaian, PCB, dan Program Pemanfaatan Mikrokontroller AT89S51 Sebagai Pengendali Otomatis Mesin Pompa Air.
Spesifikasi : a.
Processor AMD Athlon X2
b.
RAM ( Random Acces Memory ) 1 Gbyte
c.
Harddisk 80 Gbyte
31
d.
Sistem Operasi Windows XP
e.
Tersedia DB-25 Parallel Port
Text Editor Text editor berfungsi sebagai media penulisan teks program yang akan
dimasukkan ke dalam mikrokontroller AT89S51. Text editor ini telah tersedia pada fasilitas yang disediakan Windows berupa notepad.
Compiller Assembler kompatible ASM51 Compiller Assembler adalah software untuk mengubah set instruksi dalam
bahasa assembly ( *.asm ) menjadi bahasa mesin ( *.hex ). Software yang digunakan adalah MCS51.
Program Downloader Program downloader adalah Software untuk mentransfer program dalam bahasa mesin ( *.hex ) dari komputer ke mikrokontroller. Software yang digunakan adalah Aec_ISP.
3.1.2.2. Kabel ISP Programmer
Kabel programmer
digunakan untuk menghubungkan antara komputer
dan rangkaian Mikrokontroller AT89S51. Mikrokontroller diprogram secara in system programming sehingga
program dapat langsung di download pada
rangkaian tanpa menggunakan programmer.
3.1.2.3. Multimeter
Multimeter Sanwa YX-360TRE digunakan untuk menguji komponen dan mengukur tegangan dari rangkaian baik catu daya maupun rangkaian pengendali.
32
3.2. Langkah Penelitian
Penelitian terdiri dari perancangan alat, realisasi sistem, dan pengujian. Secara prinsip alat Pemanfaatan Mikrokontroller AT89S51 Sebagai Pengendali Otomatis Mesin Pompa Air dapat dipisahkan menjadi beberapa bagian yaitu : Rangkaian input berupa water level sensor dan switch mode pengisian, rangkaian kontrol utama berupa mikrokontroller AT89S51, dan rangkaian output berupa rile untuk mengatur hidup dan matinya pompa air. Untuk lebih jelasnya dapat dilihat pada diagram blok dibawah ini.
AC 220V Pompa Air
Water level Sensor
Sistem Minimum
Output Relay
M
AT89S51 (Kontrol Utama) Mode Pengisian
Catu Daya Teregulasi
Gambar 3.1. Diagram Blok Pemanfaatan Mikrokontroller AT89S51 Sebagai Pengendali Otomatis Mesin Pompa Air
3.2.1. Perancangan Alat
3.2.1.1. Perancangan Hardware
Perancangan hardware adalah penentuan rangkaian yang akan digunakan dalam alat Pemanfaatan Mikrokontroller AT89S51 Sebagai Pengendali Otomatis Mesin Listrik Pompa Air. Perancangan sesuai dengan diagram blok pada Gambar.3.1.
33
3.2.1.1.1. Catu Daya Teregulasi
Rangkaian Pemanfaatan Mikrokontrol AT89S51 sebagai Pengendali Otomatis Mesin Listrik Pompa Air ini tentu saja membutuhkan sumber tegangan. Untuk menghasilkan tegangan yang stabil, maka catu daya-nya menggunakan IC regulator seri LM 7812 dan LM 7805. IC LM 7812 berfungsi untuk menghasilkan tegangan output sebesar 12 Volt untuk mencatu rile sehingga dapat bekerja. IC LM 7805 berfungsi untuk menghasilkan tegangan output sebesar 5V hal ini dikarenakan pada sistem mikrokontroller membutuhkan tegangan kerja antara 4V – 5,5 V. Agar tidak terjadi perubahan tegangan yang dapat merugikan mikrokontroller AT89S51. Untuk lebih jelasnya dapat dilihat pada rangkaian dibawah ini :
Gambar 3.2. Rangkaian regulator Catu Daya +12V dan +5V
Sebelum tegangan AC 220V AC masuk ke rangkaian regulator, terlebih dahulu tegangan AC 220V AC diturunkan menjadi 12 V dengan menggunakan transformator step down kemudian disearahkan dengan menggunakan dioda bridge (jembatan), tegangan ripple akan
kapasitor polar (2200uF/25V).
diratakan dengan menggunakan
34
U2 LM 7812 adalah IC regulator tegangan 12V DC dan U3 LM 7805 adalah IC regulator (penstabil) tegangan 5 VDC tegangan kerja yang dibutuhkan oleh mikrokontroller.
3.2.1.1.2. Water level Sensor Water level sensor adalah rangkaian untuk mendeteksi ketinggian air
dalam tangki. Sensor didesain untuk mendeteksi tiga level ketinggian air yaitu kosong (empty), setengah (half ), dan penuh ( full) sehingga diperlukan tiga buah sensor. Sensor water level tersusun dari tiga buah transistor yang difungsikan sebagai saklar. Pada dasar air diberi tegangan +12V DC sebagai tegangan sumber, sedangkan basis dari masing-masing diletakan pada titik – titik tertentu (dasar, tengah dan atas) pada tangki.
Gambar 3.3. Water level Sensor
35
Output sensor satu dihubungkan ke Port 1.0 sebagai sensor level atas
( full). Output sensor dua dihubungkan dengan Port 1.1 sebagai sensor level tengah (half ). Output sensor tiga dihubungkan dengan Port 1.2 sebagai sensor dasar tangki (empty).
3.2.1.1.3. Saklar Mode Pengisian
Saklar mode pengisian, berfungsi untuk mengatur jika diinginkan pengisian setengah tangki atau penuh. Saklar dihubungkan ke Port 1.3.
Gambar 3.4. Saklar Mode Pengisian ( Full / Half )
3.2.1.1.4. Output Rile
Rangkaian output rile berfungsi sebagai saklar pompa air. Menggunakan prinsip transistor sebagai saklar dihubungkan dengan P0.0.
Gambar 3.5. Rangkaian Output Rile
36
3.2.1.1.5. Sistem Minimum AT89S51
Mikrokontroller AT89S51 digunakan sebagai pengendali utama motor listrik pompa air. Penggunaan AT89S51 pada sistem ini karena mikrokontroller jenis ini banyak beredar di pasaran dan harganya relatif lebih murah dari mikrokontroller jenis lainnya. Hal ini sesuai dengan hukum ekonomi, dimana semakin banyak barang yang beredar di pasar, maka semakin murah harga barang tersebut. Selain hal tersebut juga dikarenakan pemrogramannya mudah serta tersedianya alat (emulator ) yang digunakan untuk mengisikan ( up-load ) program ke dalam flash memori-nya. Sistem minimum mikrokontroller AT89S51 mempunyai 4 buah port yang dapat digunakan sebagai masukan atau keluaran. Agar dapat bekerja, AT89S51 membutuhkan sinyal detak ( clock ) yang dalam rangkaian ini memanfaatkan osilator internal. Rangkaian ini dapat menggunakan kristal 0 MHz – 33 MHz dan 2 buah kapasitor
30 pF. Untuk perancangan sistem ini menggunakan kristal
11,0592 MHz dan 2 buah kapasitor 30 pF yang terhubung ke pin 18 (XTAL2) dan pin 19 (XTAL1). Untuk rangkaian power on reset ini diperlukannya 1 buah resistor 10 kΩ, 1 buah kapasitor 10 µF elektrolit dan tombol berupa mikro switch yang dipasang paralel dengan kapasitornya dan Vcc. Tombol reset ini dihubungkan ke kaki RST ( pin 9 ). Untuk menanggapi reset tersebut, pada pin 9 menerima pulsa transisi dari rendah ke tinggi, sehingga jika saklar ditekan maka rangkaian akan memberi interupsi reset untuk kembali ke keadaan awal.
37
VCC
Vc +
10 uF
T E S E R
Vrst R1 10 K
Reset
Gambar 3.6. Rangkaian reset Tegangan reset minimal adalah sebesar 0,7 Vcc atau sebesar 3,5 Volt, sehingga diperoleh besarnya waktu reset, yaitu : Vcc 5V Vc
= Vc + Vrst = Vc + 3,5 V = 1,5 V
Vc
= v 1 e
1,5
= 51 e
1,5
= 5 1 e
t / RC
t / 104.105
10 t
1,5 5e e
10t
10t
-10 t -10 t t
= 5 5e10 = 3,5
t
= = = =
0,7 ln 0,7 -0,35667 35,667 ms
Jadi waktu tunda yang dibutuhkan untuk pengosongan kapasitor adalah sebesar 35,667 ms.
Gambar 3.7. Sistem Minimum AT89S51
38
Perancangan sistem ini menggunakan 3 buah port , yaitu : a. Port 0 digunakan untuk output rile terhubung dengan P0.0 b. Port 1 digunakan untuk input water level sensor dan saklar mode pengisian. P1.0 dihubungkan dengan ouput sensor 1, P1.1 dihubungkan dengan ouput sensor 2 , P1.2 dihubungkan dengan ouput sensor 3, dan P1.3 dihubungkan dengan saklar mode pemilih.
3.2.1.1.6. Sistem Keseluruhan
Dari semua bagian diatas disusun menjadi dua buah rangkaian, yaitu : Rangkaian kontrol utama dan rangkaian catu daya teregulasi. Gambar 3.8 menunjukkan
rangkaian
keseluruhan
dari
sistem
kontrol
pemanfaatan
mikrokontrol AT89S51 sebagai pengendali otomatis mesin listrik pompa air.
39
Gambar 3.8. Sistem Kontrol Pemanfaatan Mikrokontrol AT89S51 Sebagai Pengendali Otomatis Mesin Listrik Pompa Air
40
3.2.1.2. Perancangan Software
Perangkat lunak adalah program yang diperlukan untuk mengatur sistem kerja dari perangkat keras ( Hardware). Program merupakan urutan instruksi untuk melaksanakan
tugas
tertentu.
Dalam
pembuatan
program
pemanfaatan
mikrokontrol AT89S51 sebagai kendali otomatis mesin listrik pompa air ini menggunakan metode Douglas, yaitu menggunakan empat langkah sbb : a.
Pendefinisian permasalahan Langkah pertama yang harus dilakukan adalah memikirkan secara cermat permasalahan yang ingin diselesaikan menggunakan program. Dalam hal ini permasalahan yang akan diselesaikan adalah membuat program untuk mengendalikan mesin listrik pompa air sehingga dapat digunakan untuk mengisi tangki air secara otomatis.
b.
Representasi kerja program Sekuen atau formula kerja yang digunakan untuk mengendalikan mesin listrik pompa air sehingga dapat digunakan untuk mengisi tangki air secara otomatis ini disebut Algoritma program. Algoritma berisi urutan-urutan pekerjaan yang harus dijalankan sehingga tujuan dari pembuatan program dapat tercapai dengan baik. Flow Chart atau diagram alir adalah cara yang sangat sederhana untuk
menunjukkan aliran proses sebuah program. urutan proses yang dijalankan dituliskan dalam bentuk-bentuk grafis sehingga lebih mudah dalam melihat urutan proses yang harus dijalankan. c.
Penemuan instruksi – instruksi yang benar
41
d.
Penulisan program Program yang dimengerti oleh mikrokontroller dan dieksekusi secara
langsung adalah program bahasa mesin. Instruksi ditulis dalam bahasa assembly MCS-51. Instruksi tersebut di-compile kedalam bentuk bilangan hexa-decimal yang disebut op-code (operation code).
Gambar 3.9. Bentuk Program Assembler
Mikrokontroller memiliki bahasa assembler khusus, dengan bentuk umum semua instruksinya adalah : 1. Label, merupakan suatu simbol dapat berupa suatu tanda yang mensistemkan nama dari suatu alamat. 2. Mnemonic, merupakan simbol operasi dari suatu instruksi. 3. Operand, merupakan penyedia informasi yang dibutuhkan operasi untuk melakukan fungsinya. 4. Comment, merupakan pemberi keterangan pada instruksi program.
Program
pada
perancangan
rangkaian
Pemanfaatan
mikrokontrol
AT89S51 sebagai pengendali otomatis mesin listrik pompa air merupakan program yang menjalankan fungsi mikrokontroller AT89S51 sebagai pengendali utama. Alur berpikirnya adalah sebagai berikut :
42
a. Algoritma Step 1. Start Step 2. Seting kondisi awal (default) Step 3. Baca Water level Sensor dan Saklar Mode Pengisian Step 4. Apakah semua sensor tidak terendam Step 5. Jika ya lompat ke step 13 Step 6. Apakah Mode Half, dan semua sensor tidak terendam Step 7. Jika ya, lompat ke step 13 Step 8. Apakah semua sensor terendam Step 9. Jika ya lompat ke step 15 Step 10. Apakah Mode Half, dan sensor bawah dan sensor tengah terendam Step 11. Jika ya, Lompat ke step 15 Step 12. Kembali ke step 3 Step 13. Hidupkan Pompa Air Step 14. Kembali ke step 3 Step 15. Matikan Pompa Air Step 16. Stop b. Flow Chart START
P 0.0 = RELAY
BACA P1 SIMPAN DI REG A AND KAN DENGAN 00001111
Y
Y A ≠ 00001111
N
HIDUPKAN RELAY
A ≠ 00000111
Y A ≠ 00001001
N
Y A ≠ 00000000
N
N
MATIKAN RELAY
STOP
Gambar 3.10. Flow Chart Program Pengatur Otomatis Pompa Air Listrik Berbasis Mikrokontroller AT89S51
43
c. Source Code ;===================================================== ; PEMANFAATAN MIKROKONTROLLER AT89S51 ; SEBAGAI PENGENDALI OTOMATIS MESIN LISTRIK POMPA AIR ; OLEH : MARSUDI ;===================================================== ;----------------------------------------------------; INISIALISASI PIN - PIN IC ;----------------------------------------------------RILE BIT P0.0 ; AKTIF HIGH ;----------------------------------------------------;SETING KONDISI AWAL (DEFAULT) ;----------------------------------------------------ORG 00H MATIKAN: CLR RILE ; MATIKAN RILE ;-----------------------------------------------------;PROGRAM UTAMA ;-----------------------------------------------------START: MOV A,P1 ANL A,#00001111B CEK1: CJNE A, #00001111B, CEK2 SJMP HIDUPKAN CEK2: CJNE A, #00000111B, CEK3 SJMP HIDUPKAN CEK3: CJNE A, #00000000B, CEK4 SJMP MATIKAN CEK4: CJNE A, #00001001B, START SJMP MATIKAN ;------------------------------------------------------;FUNGSI MENGHIDUPKAN POMPA AIR ;------------------------------------------------------HIDUPKAN: SETB RILE SJMP START END
44
3.2.2. Realisasi Sistem
Dalam penyelesaiannya rancang bangun Pemanfaatan Mikrokontroller AT89S51 Sebagai Pengendali Otomatis Mesin Listrik Pompa Air ini melalui beberapa langkah kerja sebagai berikut : 1. Merancang layout pada komputer menggunakan PCB Designer 1.5 2. Mencetak layout yang telah dirancang ke transparasi 3. Membuat layout dalam PCB dengan menggunakan setrika 4. Melarutkan tembaga PCB dengan menggunakan larutan Ferry Clorida 5. Mengumpulkan komponen dan bahan-bahan yang diperlukan 6. Pengujian komponen – komponen yang diperlukan 7. Pengeboran PCB, pemasangan, penyolderan, dan pengawatan 8. Membuat software (program) dengan bahasa assembly 9. Uji coba tiap blok rangkaian untuk mengetahui karakeristik fungsinya 10. Uji coba keseluruhan alat untuk kinerja alat sampai sesuai dengan yang diharapkan. 11. Pemasangan rangkaian ke dalam box. 12. Mengamati cara kerja rangkaian 13. Manganalisa hasil pengujian 14. Membuat laporan
BAB IV PENGUJIAN DAN PEMBAHASAN
4.1. Hasil Pengujian
4.1.1. Sistem Minimum AT89S51 dan Output Rile
Pengujian sistem minimum dengan memberi program sederhana pada mikrokontroller berupa flip-flop untuk mengatur rile yang terhubung dengan P0.0. Pengujian output rile dilakukan dengan mengontrol lama hidup dan lama mati pompa air. Adapun program dalam mikrokontroller sebagai berikut : ;----------------------------------------------------------------; PROGRAM UJI RILE ;----------------------------------------------------------------ORG 0H MULAI: SETB P0.0 CALL DELAY CLR P0.0 CALL DELAY JMP MULAI DELAY:MOV DEL1 : MOV DEL2 : MOV DJNZ DJNZ DJNZ RET
R0,#10 R1,#255 R2,#255 R2,$ R1,DEL2 R0,DEL1
Setelah program dijalankan pada mikrokontroller maka rangkaian output rile yang terhubung dengan pompa air aquarium menyala selama beberapa saat kemudian mati beberapa saat. Dari hasil pengujian itu telah didapatkan kesimpulan rangkaian sistem minimum AT89S51 dan output rile dapat digunakan untuk mengendalikan pompa air.
45
46
4.1.2. Water level Sensor Water level sensor memanfaatkan transistor sebagai saklar, sehingga untuk
melakukan pengujian sensor ini harus dilakukan pengukuran titik kerja masingmasing transistor. Tabel 4.1. Titik Kerja Transistor Sensor 1 Q1 Kondisi
VB
VRC
VC
IC
V out
Menggantung
0V 2V
0,5 V 11,5 V
11,5 V 0,5 V
0,05 mA 1,15 mA
4V 0,0 V
Terendam
Tabel 4.2. Titik Kerja Transistor Sensor 2 Q2 Kondisi
VB
VRC
VC
IC
V out
Menggantung
0V 2V
0,5 V 11,5 V
11,5 V 0,5 V
0,05 mA 1,15 mA
4V 0,0 V
Terendam
Tabel 4.3. Titik Kerja Transistor Sensor 3 Q3 Kondisi
VB
VRC
VC
IC
V out
Menggantung
0V 2V
0,5 V 11,5 V
11,5 V 0,5 V
0,05 mA 1,15 mA
4V 0,0 V
Terendam
Dari hasil pengukuran titik kerja transistor dan tegangan output sensor dapat diambil kesimpulan water level sensor sudah bekerja dengan memberi nilai logika digital untuk mikrokontroller.
4.1.3. Saklar Mode
Rangkaian input ini hanya terdiri saklar sehingga hanya perlu mengukur tegangan pin yang terhubung dengan saklar. Setelah dilakukan pengukuran saat kondisi saklar OFF tegangan dari Port 1.3 adalah sama sebesar 0 Volt dan pada saat saklar ON tegangan sama dengan 5 Volt. Dari hasil pengukuran dapat disimpulkan rangkaian input sudah bekerja.
47
4.1.4. Pengujian Sistem
Pada saat saklar mode posisi half, bak belum terisi air, catu daya dihidupkan. Pompa air hidup dan air mengalir dan mengisi bak penampungan air. volume air pada bak penampung semakin naik, sehingga sensor 3 (bawah) akan terendam. Ketika ketinggian air mencapai sensor 2 (tengah) mesin listrik pompa air mati. Jika kran dihidupkan air akan mengalir dari bak penampung, sehingga volume air akan berkurang ketika sensor tengah tidak terendam mesin listrik pompa air tetap mati dan ketika sensor bawah tidak terendam pompa air menyala. Pada saat saklar mode posisi full, bak belum terisi air, catu daya dihidupkan. Pompa air hidup dan air mengalir dan mengisi bak penampungan air. volume air pada bak penampung semakin naik, sehingga sensor bawah akan terendam. Ketika ketinggian air mencapai sensor tengah mesin listrik pompa air tetap menyala dan ketika semua sensor terendam mesin listrik pompa air mati. Jika kran dihidupkan air akan mengalir dari bak penampung, sehingga volume air akan berkurang ketika sensor tengah
tidak terendam mesin listrik pompa air
masih tetap mati dan ketika semua sensor tidak terendam pompa air menyala. Dari hasil pengujian diatas dapat diambil kesimpulan bahwa sistem pemanfaatan mikrokontroller AT89S51 sebagai pengendali mesin listrik pompa air sudah bekerja sesuai dengan perencanaan.
48
4.2. Pembahasan
4.2.1. Analisis Perangkat Keras
Berdasarkan hasil pengujian alat baik pengujian perbagian maupun secara keseluruhan maka dapat diuraikan beberapa permasalahan yang berhubungan dengan kinerja alat :
4.2.1.1. Sistem Minimum dan Output Rile
Sistem minumum yang sudah terhubung dengan interface output rile sudah bekerja sesuai dengan rencana. Hal ini diketahui dari hasil percobaan mengendalikan mesin listrik pompa air menghidupkan dan mematikan beberapa saat. Dengan memanfaatkan program yang telah disusun dan diterapkan pada mikrokontroler yang berupa lampu flip-flop. Ternyata maksud yang diinginkan penulis berhasil sesuai dengan rencana
4.2.1.2. Water Level Sensor dan Saklar Mode Water level sensor digunakan untuk mendeteksi ketinggian air dalam bak
penampungan air. Dari hasil pengujian yang dilakukan dapat diambil kesimpulan bahwa sensor sudah bekerja sesuai dengan rencana. Hal ini diketahui dari hasil pengukuran output sensor yang sudah dapat memberi logika digital mewakili keadaan sensor terendam air dan tidak terendam air. Ketika sensor t erendam maka sensor memberi logika 0 dan ketika tidak terendam akan memberi logika 1. Saklar mode sudah bekerja sesuai dengan rencana, hal ini dibuktikan dari hasil pengujian bahwa saklar mode sudah dapat memberi logika digital mewakili pemilihan mode full/half.
49
4.2.2. Analisis Program
Pada sistem pemanfaatan mikrokontrol sebagai pengendali mesin pompa air, dari 32 pin AT89S51 yang tersedia hanya ada 5 pin yang digunakan yaitu 4 pin sebagai input dan 1 pin sebagai output . Semua input diletakkan pada Port yang sama bertujuan agar dalam mengakses input lebih mudah. Port yang digunakan sebagai input adalah Port 1, konfigurasinya sbb:
P1.0 Sensor water level atas
P1.1 Sensor water level tengah
P1.2 Sensor water level bawah
P1.3 Saklar mode pengisian
Sehingga dari kombinasi input sensor dan saklar mode dapat disusun tabel kebenaran sistem kontrol pemanfaatan mikrokontrol sebagai pengendali otomatis mesin listrik pompa air dibawah ini. Tabel 4.4. Kebenaran Kontrol Pompa Air Otomatis { f(input) = output }
NO 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Saklar Mode 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
Input Water level Sensor Bawah Tengah Atas 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
Output Pompa Air 0 x x x x x x 1 x 0 x x x x x 1
keterangan
Saklar Mode : 0 = Mode Full 1 = Mode Half
Sensor : 0 = Terendam 1 = Menggantung
Pompa Air : 0 = Mati 1 = Hidup x = Tidak tentu
50
Dari 16 kemungkinan input mikrokontrol hanya ada empat kemungkinan yang akan mengubah kondisi pompa air. Empat kemungkinan tersebut dapat dikelompokkan menjadi dua yaitu : kondisi input yang menyebabkan mesin pompa air hidup dan mati. Agar didapatkan sistem pengendalian sesuai tabel kebenaran diatas, program dibuat program yang tercantum di bab 3 pada perancangan software. Secara prinsip program control pemanfaatan mikrokontroller sebagai pengendali mesin listrik pompa air secara otomatis dapat dibagi menjadi empat bagian, yaitu : 1.
Definisi awal program ( kondisi default )
2.
Pembacaan input ( sensor )
3.
Pengujian ( Pengujian 1, 2, 3 dan 4 )
4.
Pengambilan keputusan (menghidupkan/mematikan Pompa air)
Untuk lebih jelasnya program dapat dijelaskan sebagai berikut : Program didahului dengan deklarasi fungsi Pin P0.0 sebagai output rile. Hal ini dilakukan agar rile mudah diakses tanpa harus mengingat alamat pin rile.
Kondisi Default
Seting kondisi awal adalah pengaturan keadaan mikrokontrol. Mengeset alamat memori awal program ORG 00H jadi program dimulai dari alamat memori 00H. Kondisi pompa air harus dipastikan mati sehingga tidak terjadi kesalahan kontrol pada saat dihidupkan. ORG 00H MATIKAN : CLR RILE
; MATIKAN RILE
51
Setelah melalui seting kondisi awal program masuk ke program utama. Disinilah program akan mengolah data input dari water level sensor dan saklar mode untuk memberi keputusan.
Pembacaan Input
Pembacaan input dilakukan dengan membaca Port 1, hasil akan disimpan di register Accumulator . Data yang didapat adalah data 8 bit, karena yang dibutuhkan hanya 4 bit terakhir maka dilakukan operasi logika AND dengan 00001111b. Data di Accumulator menjadi 0000 XXXXb, 4 bit MSB dapat dipastikan nol sedangkan 4 bit LSB tidak akan berubah sesuai dengan pembacaan.
START: MOV A,P1 ANL A, #00001111B
; Pembacaan input ; Memastikan data
Fungsi Pengujian Pertama
Pengujian pertama dilakukan apakah mode half dan air kosong ( semua sensor dalam kondisi menggantung ). Sehingga nilai pembandingnya adalah 00001111b. Jika
datanya sama, program akan menuju fungsi menghidupkan
mesin pompa air, tangki mulai mengisi. Jika datanya tidak sama program akan melanjutkan ke fungsi pengujian kedua (label CEK2).
CEK1:
CJNE A, #00001111B, CEK2 SJMP HIDUPKAN
; Pengujian : Pengambilan Keputusan
Fungsi Pengujian Kedua
Pengujian kedua dilakukan apakah mode full dan air kosong ( semua sensor dalam kondisi menggantung ). Sehingga nilai pembandingnya adalah
52
00000111b. Jika
datanya sama, program akan menuju fungsi menghidupkan
mesin pompa air, tangki mulai mengisi. Jika datanya tidak sama program akan melanjutkan ke fungsi pengujian ketiga (label CEK3).
CEK2:
CJNE A, #00000111B, CEK3 SJMP HIDUPKAN
; Pengujian ; Pengambilan Keputusan
Fungsi Pengujian ketiga
Pengujian ketiga dilakukan apakah mode full dan air penuh ( semua sensor dalam kondisi terendam ). Sehingga nilai pembandingnya adalah 00000000b. Jika datanya sama, program akan menuju fungsi mematikan mesin pompa air, tangki berhenti mengisi. Jika datanya tidak sama program akan melanjutkan ke fungsi pengujian keempat (label CEK4).
CEK3:
CJNE A, #00000000B, CEK4 SJMP MATIKAN
; Pengujian ; Pengambilan Keputusan
Fungsi Pengujian Keempat
Pengujian keempat dilakukan apakah mode half dan air 50% ( sensor bawah dan tengah terendam ). Sehingga nilai pembandingnya adalah 00001001b. Jika datanya sama, program akan menuju fungsi mematikan mesin pompa air, tangki berhenti mengisi. Jika datanya tidak sama program akan mengulangi pembacaan input sensor dan saklar.
CEK4:
CJNE A, #00001001B, START SJMP MATIKAN
; Pengujian ; Pengambilan Keputusan
53
Fungsi Menghidupkan Mesin Pompa Air
Fungsi menghidupkan mesin pompa air akan menghidupkan rile dengan memberi logika satu pada Pin P0.0. Setelah menghidupkan rile program akan kembali membaca input sensor dan saklar.
HIDUPKAN: SETB RILE SJMP START
; Menghidupkan Pompa Air ; Kembali membaca input
4.2.3. Analisis Sistem Keseluruhan
Mikrokontroller
AT89S51 berfungsi sebagai pengendali dari seluruh
sistem mesin listrik pompa air. Kontrol ini dapat digolongkan ke dalam sistem kontrol tertutup (close loop). Plant
berupa mesin listrik pompa air yang
mempunyai tujuan mengisi air ke tangki, dengan adanya water level sensor sebagai sensor yang akan memberi koreksi kepada kontrol ( plant ) sehingga didapat pengendalian secara otomatis.
Mikrokontrol akan mengolah hasil koreksi dari water level sensor yang nantinya akan memberikan keputusan untuk menghidupkan atau mematikan mesin pompa air. Secara prinsip kerja dari mikrokontrol adalah sebagai berikut : ketika semua water level sensor tidak terendam (tangki kosong) mikrokontrol akan menghidupkan pompa air sehingga tangki akan terisi air. Sistem akan terus melakukan scaning sensor dan menunggu sampai semua sensor terendam (tangki penuh). Bersamaan dengan terendamnya semua sensor, mikrokontrol akan mematikan mesin pompa air. Pada posisi ini mikrokontrol akan melakukan scaning sensor kembali, dan menunggu sampai air dalam tangki habis (semua
54
water level sensor tidak terendam). Proses ini akan dilakukan terus menerus
sehingga air dalam tangki tidak akan pernah habis ataupun meluap.
Pengendali otomatis mesin listrik pompa air juga menyediakan menu Mode Pengisian ( Full / Half ). Jika saklar dipasang pada mode Full tangki air akan selalu terisi penuh. Sedangkan pada mode Half maka tangki air akan terisi setengahnya.
BAB V KESIMPULAN
5.1. Kesimpulan
Berdasarkan data hasil pengujian Pemanfaatan Mikrokontroller AT89S51 Sebagai Pengendali Otomatis Mesin Listrik Pompa Air, dapat diambil beberapa kesimpulan sebagai berikut : 1. Mikrokontroller dapat digunakan sebagai pengatur otomatis pompa air listrik. 2. Saklar mode pengisian berfungsi untuk menghentikan pengisian air sesuai posisi saklar, jika posisi saklar pada half pengisian air pada bak penampung berhenti setelah volume air 50%, jika saklar mode pada posisi full pengisian air berhenti setelah volume air 100% (penuh).
5.2. Saran
Untuk pengembangan lebih lanjut atau penelitian berikutnya yang akan mengacu pada penelitian ini disarankan : 1. Menambah Sensor water level sehingga didapat hasil pengukuran yang presisi dan lebih banyak mode pengisian. 2. Memodifikasi Sensor water level sehingga volume air dapat diketahui. 3. Menambah Indikator yang lebih baik sehingga hasil pengukuran dapat ditampilkan dengan jelas dan menarik. 4. Sensor dilapisi dengan bahan anti karat
55
56
DAFTAR PUSTAKA
Agfianto ,Eko Putra. 2002 : Belajar Mikrokontroller AT89S51/52/55 (Teori dan Aplikasi). Gava Media. Yogyakarta Atmel. 2005 : 8-bit Microcontroller with 4K Bytes In-Sistem Programmable Flash AT89S51. www.atmel.com/literature , 5 Mei 2009 Budhy Sutanto. 2001: Timer dan Counter dalam MCS51 . http://alds.stts.edu/digital/ timer .htm , 5 Mei 2009 Budhy Sutanto. 2001. Menghubungkan MCS51 ke dunia Analog . http://alds.stts.edu/DIGITAL/DA-ADC.htm , 5 Mei 2009 Istiyanto, J.E, dan Y. Efendy, 2004: Rancangan dan Implementasi Prototipe Sistem Kendali Jarak Jauh Berbasis Mikrokontroller AT89S51 dan SMS GSM , Jurnal Ilmu Dasar, FMIPA Universitas Jember.
Lampiran 1. Gambar Rangkaian Sistem Kontrol
57
Lampiran 2. Lay out Komponen dan PCB Sistem Kontrol
58
59
Lampiran 3. Source Code Program Assembly Mikrokontroller AT89S51 ;===================================================== ; PEMANFAATAN MIKROKONTROLLER AT89S51 ;SEBAGAI PENGENDALI OTOMATIS MESIN LISTRIK POMPA AIR ; OLEH : MARSUDI ;===================================================== ;----------------------------------------------------; INISIALISASI PIN - PIN IC ;----------------------------------------------------RILE BIT P0.0 ; AKTIF HIGH ;----------------------------------------------------;SETING KONDISI AWAL (DEFAULT) ;----------------------------------------------------ORG 00H MATIKAN: CLR RILE
; MATIKAN RILE
;-----------------------------------------------------;PROGRAM UTAMA ;-----------------------------------------------------START: MOV A,P1 ANL A,#00001111B CEK1: CJNE A, #00001111B,CEK2 SJMP HIDUPKAN CEK2: CJNE A, #00000111B,CEK3 SJMP HIDUPKAN CEK3: CJNE A, #00000000B,CEK4 SJMP MATIKAN CEK4: CJNE A, #00001001B,START SJMP MATIKAN ;------------------------------------------------------;FUNGSI MENGHIDUPKAN POMPA AIR ;------------------------------------------------------HIDUPKAN: SETB RILE SJMP START END