Senin, 19 Desember 2011

Timer Otomatis Pompa Air MikroControler

Prinsip kerja alat ini adalah akan melakukan proses pengaktifan dan penonaktifan keluaran pompa air yang berjumlah 3 titik. Prosesnya yaitu dengan cara menyimpan waktu aktif dan waktu tidak aktif masing – masing pompa air ke dalam RAM internal IC pewaktu RTC. IC pewaktu ini digunakan untuk menghasilkan perubahan waktu yang akurat, jika ingin membuat sendiri sistem pewaktu menggunakan mikrokontroler sebenarnya dapat dilakukan. Akan tetapi timer yang dihasilkan akan berkurang akurasinya, karena sistem pewaktu mikrokontroler akan terpengaruh oleh subrutin – subrutin seperti delay (waktu tunda) dan pemanggilan ke subrutin lainnya seperti menampilkan data ke LCD serta proses scanning tombol (push button) ataupun pada saat pengaktifan pompa air. Oleh karena itu pada alat ini memerlukan IC pewaktu yang akan bekerja sendiri setelah nilai waktu diatur melalui program, dan otomatis data waktunya akan terperbaharui sesuai standar pewaktu.
Mikrokontroler AT89S52 digunakan untuk mengambil data pada RTC dengan cara seperti mengakses memori eksternal, variable waktu jam, menit, dan yang lainnya sudah otomatis tersimpan pada alamat RAM RTC DS12C887. Nilai ini dapat sewaktu – waktu diambil oleh mikrokontroler, tentu saja mengambilnya secara bergantian pada setiap alamat RAM internal RTC dan pada alamat RAM berikutnya. Setiap 1 byte RAM internal RTC mewakili satu waktu, misal jam memerlukan 1 byte, menit 1 byte, dan detik 1 byte. Memori RTC yang digunakan untuk menyimpan waktu standar tidak banyak yaitu 15 byte untuk sistem pewaktu dan kontrol register, sedangkan sisanya yaitu 113 byte dapat digunakan secara bebas. Sisa ruang memori inilah yang digunakan untuk menyimpan data waktu aktif dan non aktif ke-tiga pompa air. Data waktu ini disimpan pada RTC agar tidak hilang meskipun catu daya dimatikan karena di dalam IC RTC ini terdapat baterai yang menurut datasheet baterai tersebut dapat bertahan sampai jangka waktu 10 tahun. Jika data waktu aktif dan non aktif pompa disimpan pada RAM internal mikrokontroler, maka pada saat catu daya dimatikan isi nilai RAM internal mikrokontroler akan acak sehingga data waktunya tidak akurat.
Mikrokontroler juga yang membaca pada saat scanning 4 buah tombol masukan yang diperlukan pada saat pengaturan jam kalender, serta pada pengaturan waktu aktif dan non aktif pompa air. Proses scanning tombol ini akan dilakukan secara bergantian dari 4 buah tombol masukan, namun prosesnya scanning sangat cepat sekali yaitu berkisar 1 – 2 µs pada tiap tombolnya sehingga mikrokontroler dapat dengan cepat pula membedakan tombol mana yang lebih dahulu ditekan. Cara membedakan tombol yang ditekan yaitu mendeteksi port tombol yang berlogika ‘0’, sedangkan yang tidak ditekan akan berlogika ‘1’. Keluaran port mikrokontroler digunakan juga untuk mengaktifkan / menonaktifkan 3 buah pompa air, port yang dipakai berjumlah 3 buah. Port mikrokontroler ini tidak dapat langsung mengendalikan relai yang memerlukan catu daya 12 volt dan arus berkisar 35 mA, sehingga dipakai IC ULN2003 yang dihubungkan ke keluaran mikrokontroler. Menurut datasheet IC ULN2003 dapat bekerja maksimal sampai tegangan 50 volt, sedangkan penyerapan arus pada setiap keluarannya mencapai 500 mA. IC ini dikontrol melalui kaki masukannya, dan standar pengontrolannya yaitu 5 volt TTL sehingga dapat langsung dihubungkan dengan port mikrokontroler yang juga berstandar TTL 5 volt. Sedangkan untuk sistem penampil LCD menggunakan LCD jenis LMB162AFC yang memiliki 2 baris dan setiap barisnya dapat menampilkan 16 karakter atau sering disebut LCD 2 x 16. Pengambilan data melalui port mikrokontroler menggunakan sistem data 8 bit, dan memerlukan 2 buah port tambahan untuk kontrol enable dan register select LCD sehingga keseluruhan port untuk mengendalikan LCD adalah 10 port.
Berikut ini adalah hasil perancangan sistem Pewaktu Pompa Air Otomatis Berbasis Mikrokontroler AT89S52 yang dapat dilihat pada Gambar 4.1.

Gambar 4.1 Alat yang selesai dirakit

Langkah Penelitian
Pada dasarnya alat ini merupakan suatu rangkaian yang terdiri atas beberapa bagian, yaitu terdiri dari bagian IC pewaktu RTC DS12C887, bagian pemroses mikrokontroler AT89S52, tombol masukan, penampil LCD, serta keluaran relai, kemudian perancangan perangkat lunak mikrokontroler.
Perakitan Perangkat Keras
IC Pewaktu RTC DS12C887
Real Time Clock atau biasa disebut dengan RTC adalah sebuah komponen elektronik yang didalamnya berisi jam elektronik yang tidak pernah berhenti bekerja kecuali register diisi kode OFF. Komponen ini menyimpan waktu mulai dari detik hingga tahun, dan selalu diperbaharui setiap saat secara otomatis, nilai informasi waktu disimpan di dalam sebuah RAM dengan alamat yang telah ditentukan. Karena disimpan di dalam sebuah RAM dengan alamat yang sudah ditentukan, maka pengguna dapat mengambil datanya dengan sebuah mikrokontroler, dan hubungannya dengan mikrokontroler sebagai komponen memori eksternal. Jadi dalam hal ini mengakses data memori eksternal dan mengakses data RTC adalah sama caranya. Disamping itu karena data waktu yang disimpan tidak banyak, maka sisa ruang memori yang disediakan RTC, bisa digunakan untuk menyimpan data secara aman, data tersebut tidak akan hilang meskipun catu daya dimatikan sampai jangka waktu sekitar 10 tahun (seumur baterai yang ada di dalam RTC). Berikut ini adalah Gambar 2 menyambungkan RTC ke mikrokontroler.
Gambar 2 Menyambungkan RTC ke port mikrokontroler
Sistem Minimum Mikrokontroler AT89S52
Mikrokontroler merupakan komponen utama yang mengendalikan seluruh sistem. Mikrokontroler yang digunakan pada penelitian ini adalah mikrokontroler keluaran Atmel dengan seri AT89S52. Seri ini merupakan varian baru dari keluarga AT89C51 yang mengalami perubahan prosedur pengisian program. Pada seri ini memiliki fasilitas ISP (In System Programming) yang tidak dimiliki pada seri sebelumnya. Fasilitas ini memungkinkan pengubahan isi program walaupun sistem sedang berjalan.
Untuk bekerja dengan mikrokontroler ini diperlukan beberapa komponen tambahan yang sering disebut dengan sistem minimum. Syarat-syarat tersebut antara lain, sistem clock atau osilator, sistem reset dan sistem ISP.  Pada penelitian ini sistem minimum disajikan pada Gambar 3.
Gambar 3 Sistem minimum mikrokontroler
Pada Gambar 3 disajikan skema rangkaian minimum mikrokontroler AT89S51/52. Sistem pendukung yang pertama yaitu sistem osilator yang terdiri dari x-tal senilai 12 MHz dan dua buah kapasitor senilai 33 pF.
Sistem pendukung yang berikutnya adalah sistem reset. Sistem reset terdiri dari sebuah kapasitor senilai 10 µF dan resistor senilai 10 K?. Proses reset akan otomatis terjadi saat sumber tegangan pertama kali diberikan. Adapun prosesnya adalah, saat pertama kali sumber tegangan Vcc masuk ke rangkaian reset maka kapasitor akan terisi sampai penuh. Pada saat kondisi kapasitor penuh dan nilai tegangan kapasitor senilai Vcc maka logika 1 akan diberikan pada kaki RST dari mikrokontroler ini, sehingga secara otomatis mikrokontroler akan reset. Setelah kapasitor penuh, muatan dalam kapasitor berangsur-angsur akan dibuang melalui resistor 10K sampai kondisi kapasitor kosong dan logika pada kaki RST bernilai 0.
Sistem yang berikutnya adalah sistem ISP. Tidak semua kaki mampu terhubung dengan sistem ISP, hanya kaki-kaki tertentu yang mampu dihubungkan dengan sistem ISP, yaitu MISO, MOSI, SCK dan RST. Kaki-kaki ini berfungsi untuk fasilitas pengisian program secara serial dari komputer. Jenis port pada komputer yang biasa dipakai adalah port paralel.

Tombol Masukan
Tombol masukan ini terdiri dari 4 buah tombol (push on) yang dihubungkan ke port 3.0 – port 3.3 mikrokontroler. Ke-empat tombol ini akan mewakili tombol MENU, tombol UP, tombol DOWN, dan tombol NEXT. Tombol – tombol ini akan berfungsi saat setting jam, hari, tanggal, bulan, dan tahun pada RTC. Juga akan berfungsi pada saat pengisian waktu penyalaan dan pemadaman 3 buah pompa air pada setiap harinya. Berikut ini adalah Gambar 4 penyambungan tombol ke port mikrokontroler.

Gambar 4 Penyambungan tombol masukan ke port mikrokontroler

Penampil LCD
LCD merupakan penampil yang digunakan untuk memberikan informasi bagi pengguna alat. LCD ada yang mempunyai satu baris dan ada yang dua baris, LCD satu baris disebut LCD 1 x 16 dan LCD dua baris biasa disebut LCD 2 x 16, 16 menunjukkan banyaknya karakter yang dapat ditampilkan dalam setiap baris. Pada sistem ini digunakan sebagai penampil hasil konversi intensitas cahaya dalam bentuk desimal.
Pada Gambar 5 merupakan antarmuka LCD 2×16 dengan menggunakan mode antarmuka 8 bit. Berikut beberapa hal yang perlu diperhatikan adalah LCD selalu berada  pada kondisi tulis (write), dengan menghubungkan kaki R/W ke Ground. Hal ini dimaksudkan agar LCD tersebut tidak pernah mengeluarkan data (kondisi baca) yang mana data tersebut akan bertabrakan dengan data komponen lain di jalur bus.
Gambar 5 Penampil LCD
Kaki RS pada LCD terhubung dengan P1.0, dimana kaki ini berfungsi sebagai register data atau register perintah ke LCD maupun dari LCD. Dimana register data adalah data yang akan ditampilkan dari mikrokontroler, sedangkan register perintah adalah perintah mikrokontroler untuk mengkondisikan LCD. Untuk kaki E pada LCD terhubung dengan P1.1 dari mikrokontroler, digunakan sebagai pemberi clock dari mikrokontroler ke LCD setiap kali pengiriman atau pembacaan data.
Potensio 10K yang tampak pada Gambar 5 berfungsi untuk mengatur tegangan pada kaki VLCD. Besarnya tegangan pada kaki tersebut akan mempengaruhi ketajaman yang tampak pada LCD. Pada kaki A terhubung dengan dioda IN4001 yang berfungsi untuk menjaga ada bias balik dari sumber daya, kaki A ini berfungsi sebagai Backlight pada penampil LCD, dan  grounding dari backlight terhubung pada kaki K. Backlight ini berfungsi sebagai pembangkit cahaya yang timbul dibelakang LCD, sehingga tampilan dari LCD tersebut akan semakin jelas.

Pengendali Pompa Air
Untuk mengendalikan pompa air 220 volt diperlukan rangkaian pengendali yaitu relai. Relai sendiri tidak dapat langsung dikendalikan oleh port mikrokontroler, karena port mikrokontroler arusnya hanya berkisar 20 mA, dan tegangannya +5 volt. Relai yang digunakan jenis 12 volt dan memiliki arus berkisar 35 mA. Untuk itu diperlukan IC ULN 2003 bisa menampung arus maksimal 500 mA pada setiap kaki keluarannya. Tegangan ULN bisa mencapai 12 volt, tegangan masukannya yaitu untuk logika 0 (0 volt) dan untuk logika 1 (5 volt), sehingga IC ULN 2003 dapat langsung dihubungkan dengan port mikrokontroler. Berikut ini adalah Gambar 6 rangkaian pengendali pompa air 220 volt.

Gambar 6 Rangkaian pengendali pompa air 220 volt

Perakitan Rangkaian Keseluruhan
Setelah mengetahui fungsi dari masing-masing blok diagram, maka saatnya menggabungkan rangkaian-rangkaian yang diperlukan untuk membentuk suatu sistem dari Pewaktu Pompa Air Otomatis Berbasis Mikrokontroler AT89S52. Berikut ini adalah Gambar 7 rangkaian keseluruhan.
Perancangan Perangkat Lunak Mikrokontroler AT89S52
Sebelum melakukan permrograman alat, maka diperlukan rancangan perangkat lunak mikrokontroler. Rancangan perangkat lunak (diagram alir) ini diperlukan untuk memudahkan pada saat pemrograman. Berikut ini adalah diagram alir alat Pewaktu Pompa Air Otomatis Berbasis Mikrokontroler AT89S52.

0 komentar:

Template by : kendhin x-template.blogspot.com