TUGAS AKHIR
SISTEM KOMUNIKASI
PENGENDALIAN KUALITAS AIR KOLAM IKAN
BERBASIS ATMEGA128
Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Elektro
Oleh:
Charles Wilianto
NIM : 105114002
PROGRAM STUDI TEKNIK ELEKTRO
JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
i
TUGAS AKHIR
SISTEM KOMUNIKASI
PENGENDALIAN KUALITAS AIR KOLAM IKAN
BERBASIS ATMEGA128
Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Elektro
Oleh:
Charles Wilianto
NIM : 105114002
PROGRAM STUDI TEKNIK ELEKTRO
JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
ii
FINAL PROJECT
COMMUNICATION SYSTEM
FOR CONTROLLING QUALITY OF POND FISH
WATER ATMEGA128-BASED
Presented As Partial Fulfillment Of The Requirements To Obtain The Sarjana Teknik Degree
In Electrical Engineering Study Program
Oleh:
Charles Wilianto
Nim : 105114002
ELECTRICAL ENGINEERING STUDY PROGRAM
DEPARTMENT OF ELECTRICAL ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
v
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa tugas akhir ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka sebagaimana layaknya karya ilmiah.
Yogyakarta, 22 Agustus 2014
vi
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP
MOTTO :
Hal Terbaik Untuk Memprediksi Masa Depan
Adalah Dengan Menciptakan Sendiri Masa Depan Itu
vii
LEMBAR PERNYATAAN PERSETUJUAN
PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN
AKADEMIS
Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma : Nama : Charles Wilianto
Nomor Mahasiswa : 105114002
Demi pengembangan ilmu pengetahuan, saya memberikan kepada perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul :
SISTEM KOMUNIKASI
PENGENDALIAN KUALITAS AIR KOLAM IKAN
BERBASIS ATMEGA128
Berserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolahnya dalam bentuk pangkalan data, mendistribusikan ssecara terbatas, dan mempublikasikannya di internet atau media lain untuk kepentingan akademis tanpa perlu meminta izin dari saya maupun memberikan royalti kepada saya selama tetap mencantumkan nama saya sebagai penulis.
Demikian pernyataan ini yang saya buat dengan sebenarnya.
Yogyakarta, 22 Agustus 2014
viii
INTISARI
Kemajuan teknologi elektronika ini, dunia informatika sekarang telah banyak memanfaatkan perkembangan elektronika untuk menunjang kegiatan salah satunya dalam tahap komunikasi antar computer yang semakin berkembang sangat cepat. Sistem komunikasi dapat dimanfaatkan dalam mengambil, mengumpulkan dan menyiapkan data, hingga memprosesnya menjadi data yang dikehendaki.
Sistem komunikasi pengendalian kualitas air kolam ikan berbasis ATMega128 terdiri dari dua subsistem yaitu subsistem hardware dan software. Subsistem hardware berupa rangkaian pendukung komunikasi serial RS-485 yang menghubungkan semua slave, sedangkan subsistem software berupa program master, slave PC dan slave sensor. Slave sensor menyediakan data dalam bentuk data paket, master menggambil dan menggabungkan data paket dari semua sensor dengan cara bergantian dan mengirimkan semua data paket tersebut ke slave PC. Slave PC mengubah dan menyimpan data paket menjadi grafik pada visual basic.
Sistem komunikasi pengendalian kualitas air kolam ikan berbasis ATMega128 sudah berhasil dibuat dan dapat bekerja dengan baik. Visual basic dapat menampilkan grafik dan menyimpan data, rangkaian komunikasi serial RS-485 dapat bekerja dengan baik dan sistem pengambilan data dapat bekerja dengan baik dan sesuai dengan perancangan.
ix
ABSTRACT
Advances in technology, the world of Informatics of Electronics now have many utilize the development of electronics to support the activities of one of these in the communication between the computer that is growing very quickly. Communication systems can be utilized in taking, collecting and preparing the data, until it became a desired data
A communication system for controlling quality of pond fish water ATMega128-based consists of two subsystems: subsystem hardware and software. A series of supporting hardware subsystem communication serial RS-485 connecting all the slave, while the subsystem software as master, slave PC and slave sensors. Slave sensors provide data in the form of data packets, the master place and combine the data packages from all of the sensors by means of alternating and sends all the data to the slave PC. Slave PC converting and save the packet data into a graph in visual basic.
A communication system for controlling quality of pond fish water ATMega128-based was successfully created and can work well. Visual basic can display graphics and save data, set the serial communication RS-485 can work well and data capture system can work properly and in accordance with the design.
x
KATA PENGANTAR
Bersyukur dan terima kasih kepada Tuhan Yang Maha Esa atas segala rahmat dan karunia-Nya sehingga tugas akhir dengan judul “Sistem Komunikasi Pengendalian Kualitas Air Kolam Ikan Berbasis ATMega128” ini dapat diselesaikan dengan baik.
Selama menulis tugas akhir ini, penulis menyadari bahwa ada begitu banyak pihak yang telah memberikan bantuan dengan caranya masing-masing, sehingga tugas akhir ini bisa diselesaikan. Oleh karena itu penulis ingin mengucapkan terima kasih kepada:
1. Kedua orang tua yang tercinta atas doa dan dorongan semangat yang luar biasa 2. Bapak Pius Yozy Meruchayo, ST., MT., selaku dosen pembimbing yang dengan
penuh kesabaran membimbing, memberikan saran dan kritik yang membantu dalam meyelesaikan tulisan ini.
3. Seluruh dosen teknik elektro dan laboran yang memberikan ilmu dan pengetahuan kepada penulis selama kuliah
4. Seluruh teman-teman teknik elektro
Dengan rendah hati penulis menyadari bahwa tugas akhir ini masih jauh dari sempurna, oleh karena itu berbagai kritik dan saran untuk perbaikan tugas akhir ini sangat diharapkan. Akhir kata, semoga tugas akhir ini dapat bermanfaat bagi semua pihak. Terima kasih.
Yogyakarta, 22 Agustus 2014
xi
DAFTAR ISI
HALAMAN JUDUL
... iHALAMAN PERSETUJUAN
... iiiHALAMAN PENGESAHAN
... ivPERNYATAAN KEASLIAN KARYA
... vHALAMAN PERSEMBAHAN DAN MOTTO HIDUP
... viLEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA
ILMIAH UNTUK KEPENTINGAN AKADEMIS
... viixii
2.2.2. Terminasi ... 7
2.2.3. RS-485 dan Konsep Unit Load ... 8
2.2.4. Pemberian Tegangan pada Jaringan RS-485 ... 9
2.2.5. Konfigurasi Pin RS-485 ... 10
2.3. Module K-125R ... 10
2.4. Komunikasi Serial Mikrokontroler AVR ATMega ... 11
2.5. Catu Daya ... 12
2.5.1. Filter Kapasitor ... 12
2.6. Penampil LCD ... 12
2.7. Mikrokontroler AVR ... 14
2.7.1. Mikrokontroler ATMega 128 ... 14
2.2.3. Mikrokontroler ATMega 8 ... 15
2.8.5. Mengenal Struktur Kendali ... 19
2.8.6. Deklarasi Konstanta ... 19
2.8.7. Struktur Pengulangan ... 20
BAB III PERANCANGAN DAN PEMBUATAN
3.1. Arsitektur Sistem ... 213.2. Perancangan Subsistem Hardware ... 22
3.2.1. Perancangan Regulator Tegangan ... 22
3.2.2. Perancangan Multidrop Network RS-485 ... 23
3.3.5. Perancangan Diagram Alur Program slave3 (DO) ... 33
xiii
3.3.7. Perancangan Diagram Alur Program slave5 (Konduktivitas) ... 35
BAB IV HASIL DAN PEMBAHASAN
4.1. Gambaran Fisik Hardware ... 364.1.1. Mekanik kotak sistem ... 36
4.1.2. Subsistem Elektronik Alat ... 37
4.2. Pengujian Alat ... 38
4.2.1. Pengujian Rangkaian Catu Daya ... 38
4.3. Pengujian Software ... 38
4.3.1. Pengujian sistem Mikrokontroler ... 38
4.3.2. Pengujian Program Pengiriman dan Penerimaan Pada Master ... 40
4.3.3. Pengujian Panjang Kabel Pada Rangkaian Multidrop Network RS-485 46 4.3.4. Pengujian Program Penggabungan Dan Pengiriman Semua Data Paket 47 4.3.5. Pengujian Program Slave PC (Visual Basic) ... 47
BAB V KESIMPULAN DAN SARAN
5.1. Kesimpulan ... 505.2. Saran ... 50
DAFTAR PUSTAKA
... 51xiv
Gambar 3.2. Rangkaian Regulator Tegangan ... 22
Gambar 3.3. Rangkaian Multidrop RS-485 ... 24
Gambar 3.9. Perancangan Diagram Alur Program Slave1 (Suhu) ... 31
Gambar 3.10. Perancangan Diagram Alur Program Slave2 (PH) ... 32
Gambar 3.11. Perancangan Diagram Alur Program Slave3 (DO) ... 33
Gambar 3.12. Perancangan Diagram Alur Program Slave4 (Kekeruhan) ... 34
Gambar 3.13. Perancangan Diagram Alur Program Slave5 (Konduktivitas) ... 35
Gambar 4.1. Tampak Atas ... 36
Gambar 4.2. Tampak Samping Kiri ... 36
Gambar 4.3. Tampak Samping Kanan ... 37
Gambar 4.4. Tampak Bagian Dalam ... 37
Gambar 4.5. Tampilan Ripple Pada Osiloskop ... 37
xv
Gambar 4.7. Regulator Tegangan Dan Multidrop RS-485 ... 38
Gambar 4.8. Mikrokontroler Atmega 128 ... 39
Gambar 4.9. Rangkaian LCD 16 ... 39
Gambar 4.10. Tampilan LCD Hello Selamat Datang... 40
Gambar 4.11. Module Komunikasi Serial RS-485 Dengan ATMega 8 ... 40
Gambar 4.12. Kirim A ... 41
Gambar 4.13. Terima Data Suhu ... 41
Gambar 4.14. Kirim B ... 42
Gambar 4.15. Terima Data PH ... 42
Gambar 4.16. Kirim C ... 43
Gambar 4.17. Terima Data DO ... 43
Gambar 4.18. Kirim D ... 44
Gambar 4.19. Terima Data Kekeruhan ... 44
Gambar 4.20. Kirim E ... 45
Gambar 4.21. Terima Data Konduktivitas ... 45
Gambar 4.22. Kondisi Awal Penampilan Data Terima Pada Master ... 46
Gambar 4.23. Penggabungan Data Paket ... 47
Gambar 4.24. Kondisi Awal Pengabungan Data Paket ... 47
Gambar 4.25. Module K-125R ... 47
Gambar 4.26. Tampilan Pada Visual Basic 6.0 ... 48
Gambar 4.27. Tampilan Error Pada Visual Basic6.0 ... 48
Gambar 4.28. Lokasi Penyimpanan Data ... 49
xvi
DAFTAR TABEL
Halaman
Tabel 2.1. Diskripsi Pin RS-485 ... 10
Tabel 2.2. Konfigurasi Pin LCD M1632 ... 13
Tabel 2.3. Tipe variabel, pemakaian storage dan jangkauan masing-masing ... 17
Tabel 2.4. Operator pada Visual Basic dan urutan operasi dari atas ke bawah ... 18
Tabel 2.5. Karakter Dalam Pencocokan Pola Pada Operator Like ... 18
Tabel 4.1. Contoh Data Suhu ... 41
Tabel 4.2. Contoh Data PH ... 42
Tabel 4.3. Contoh Data DO ... 43
Tabel 4.4. Contoh Data Kekeruhan ... 44
1
BAB I
PENDAHULUAN
1.1.
Latar Belakang
Kemajuan-kemajuan dalam bidang teknologi elektronika yang menuju ke arah sistem digital serta rangkaian terpadu telah mendorong terciptanya komponen IC-IC yang semakin cepat dengan kemampuan proses yang tinggi dan akurat serta bentuk yang semakin kecil, tetapi dengan kemampuan yang lebih besar[1]. Dengan kemajuan teknologi elektronika ini, dunia informatika sekarang telah banyak memanfaatkan perkembangan elektronika untuk menunjang kegiatan salah satunya dalam tahap komunikasi antar computer yang semakin berkembang sangat cepat[1] .
Komunikasi serial banyak sekali digunakan komputer ataupun mikrokontroler dengan menggunakan sistem RS-232 dan RS-485. Komunikasi serial dengan sistem RS-232 hanya dapat berhubungan dengan satu komunikasi serial, sedangkan komunikasi serial dengan sistem RS-485 dapat berhubungan dengan beberapa komunikasi serial. Sistem komunikasi dapat dimanfaatkan dalam mengambil, mengumpulkan dan menyiapkan data, hingga memprosesnya menjadi data yang dikehendaki. Sistem komunikasi ini digunakan untuk memonitoring kualitas air kolam ikan, sistem akuisisi data ini terdiri dari sensor (yang mengubah besaran fisik menjadi besaran listrik) dan sistem mikrokontroler yang mengolah besaran listrik menjadi kuantitas yang terukur yang berbentuk data digital yang siap diolah atau dianalisis[2].
Berdasarkan hal di atas, penulis ingin membuat suatu sistem komunikasi serial untuk pengendalian kualitas air, khususnya pada kolam ikan. Sistem ini menggunakan
software visual basic pada komputer, mikrokontroler dan sistem multidrop network
pada RS-485. Sistem ini dikembangkan dari sistem yang telah ada sebelumnya, yakni akuisisi data pengawasan kualitas air sungai untuk perikanan[3].
temperatur dan konduktivitas yang telah dilengkapi dengan mikrokontroler. Mikrokontroler pada alat ukur tersebut, melakukan pengolahan data sesuai dengan interupsi. Dalam melakukan pengukuran kadar air pada kolam ikan dan mengirimkan data hasil dari pengukuran kadar air melalui komunikasi serial antar mikrokontroler dan mikrokontroler ke PC (Personal Computer).
1.2.
Tujuan dan Manfaat Penelitian
Tujuan penelitian ini adalah menghasilkan suatu sistem komunikasi yang dapat mengolah data menjadi data grafik dan ditampilkan ke PC (Personal Computer) untuk mempermudah monitoring kualitas air kolam ikan.
Manfaat dari penelitian ini adalah untuk mendukung pembudidayakan ikan, dengan air yang memiliki kualitas yang baik dan dapat menjamin keselamatan ikan.
1.3.
Batasan Masalah
Batasan masalah dalam penelitian ini adalah : a. Menampilkan data dalam LCD 16x2
b. Data yang ditampilkan dalam LCD 16x2 maksimal sebanyak lima karakter setiap slave
c. Menggunakan mikrokontroler keluarga AVR ATMega128
d. Menggunakan sistem multidrop network yang terdapat pada RS-485
e. Menggunakan module K-125R untuk menghubungkan PC (Personal Computer) dengan mikrokontroler.
f. Menampilkan data dalam bentuk grafik pada visual basic
g. Menggunakan komunikasi serial untuk melakukan pengumpulan, pengiriman dan penerimaan data.
h. Proses pengambilan semua data slave secara bergantian
1.4.
Metodologi Penelitian
Penulisan skripsi ini menggunakan metode :
b. Perancangan subsistem hardware dan software. Tahap ini bertujuan untuk mencari bentuk model yang optimal dari sistem yang dibuat dengan mempertimbangkan dari berbagai faktor-faktor permasalahan dan kebutuhan yang telah ditentukan.
c. Pembuatan subsistem hardware dan software. Rangkaian bekerja apabila mikrokontroler (slave) mengirimkan data melalui RS-485 sebagai komunikasi serial ke mikrokontroler (master). Mikrokontroler (master) menampilkan data dari mikrokontroler (slave) menggunakan LCD 16x2 dan mengirimkan data dari mikrokontroler (slave) ke PC. PC mengolah data dari mikrokontroler (master) sesuai dengan urutan yang telah ditentukan. Pengolahan data oleh PC menggunakan software VB (visual basic).
d. Proses pengambilan data. Teknik pengambilan data dilakukan oleh mikrokontroler (master) dengan cara mengirimkan perintah ke semua mikrokontroler (slave). Mikrokontroler (slave) yang ditunjuk oleh mikrokontroler (master) menerima perintah untuk mengirimkan data dari sensor mikrokontroler (slave) tersebut. Setelah data yang diminta mikrokontroler (master) diterima, maka mikrokontroler (master) mengirimkan data tersebut ke PC. Data yang ditampilkan oleh PC merupakan informasi kualitas air kolam.
4
BAB II
DASAR TEORI
2.1.
Kualitas Air Kolam Ikan
Faktor lingkungan seperti air, temperatur, derajat keasaman (pH), kandungan oksigen (DO), dan lain-lain sangat diperlukan untuk biota air tawar (ikan, plankton, ganggang,
zooplankton, dll). Kesesuaian lingkungan hidup untuk setiap ikan berbeda tergantung pada jenis ikan, jenis ikan tertentu yang sesuai dengan kondisi lingkungannya dapat bertumbuh dan berkembang[4]. Sebaliknya, jika keadaan tidak sesuai dapat menghambat pertumbuhan dan perkembangannya.
2.1.1.
Temperatur Air[4]
Temperatur air sangat berpengaruh pada pertumbuhan dan perkembangan ikan. Temperatur air yang tidak cocok, misalnya terlalu tinggi atau terlalu rendah dapat menyebabkan ikan tidak dapat bertumbuh dengan baik. Temperatur yang cocok untuk pertumbuhan ikan adalah berkisar antara 15ºC - 30ºC dan perbedaan suhu antara siang dan malam kurang dari 5ºC. Perubahan suhu yang mendadak berpengaruh buruk pada kehidupan ikan karena ikan tidak dapat hidup dengan baik pada suhu yang telalu dingin atau terlalu panas.
2.1.2.
Derajat Keasaman Air (pH)
2.1.3.
Derajat Kekeruhan
Air yang terlalu keruh dapat menyebabkan ikan mengalami gangguan pernafasan (sulit bernafas) karena insangnya terganggu oleh kotoran. Di samping itu juga air keruh dapat menurunkan atau dapat melenyapkan selera makan karena daya penglihatan ikan terganggu. Batas kekeruhan dapat diukur dengan memasukan benda yang terang (berwarna putih) sampai kedalaman 40cm[4]. Jika masih kelihatan, maka kekeruhan air masih belum mengganggu kehidupan ikan.
Satuan yang biasa dipakai dalam kekeruhan ialah NTU (Nephelometric Turbidity Units). Kekeruahan juga sering diGambarkan dengan dalam satuan TSS (Total Suspended Solids) atau mg/l (miligram per liter). Air murni memiliki NTU kurang dari 1 atau 0 mg/l[5]. Standart kekeruhan air yang baik bagi ikan harus kurang dari 500 NTU[5], bila kekeruhan berada di atas 500 NTU dapat mengganggu pertumbuhan ikan.
2.1.4.
Kandungan Oksigen
Oksigen sangat diperlukan untuk pernapasan dan metabolisme ikan serta jasad – jasad renik dalam air. Kandungan oksigen yang tidak mencukupi kebutuhan ikan dan biota lainya dapat menyebabkan penurunan daya hidup ikan. Kandungan oksigen terlarut dalam air cocok untuk kehidupan dan pertumbuhan ikan gurami sebesar 5ppm, untuk ikan nila lebih dari 3ppm, dan ikan mas berkisar 5 – 7ppm (5 – 7cc /liter air)[4]. Pengaliran air yang baik dan permukaan kolam yang selalu terbuka dapat meningkatkan kadar oksigen dalam air.
2.1.5.
Konduktivitas
2.2.
Standart Komunikasi Serial RS-485[1]
IC RS485 adalah IC yang digunakan untuk teknik komunikasi data serial. Sistem komunikasi dengan menggunakan RS485 mulai dikembangkan pada tahun 1983 dimana dengan teknik ini, komunikasi data dapat dilakukan pada jarak yang cukup jauh yaitu 1,2 Km. Selain dapat digunakan untuk jarak yang jauh teknik ini juga dapat digunakan untuk menghubungkan 32 unit beban sekaligus hanya dengan menggunakan dua buah kabel saja tanpa memerlukan referensi ground yang sama antara unit yang satu dengan unit lainnya.
RS-485 merupakan standar komunikasi serial yang bersifat multidrop/multi-point. Dalam sistem multi-point ini transfer data dapat dilakukan dari satu transmitter ke beberapa
receiver sekaligus, atau dengan kata lain membentuk suatu jaringan komputer. Dalam RS- 485 terdapat sebuah transmitter (disebut juga driver) dan sebuah receiver.
Keistimewaan RS-485 ini antara lain terletak pada transmisi diferensialnya (sering disebut juga sebagai balanced transmission). Dalam transmisi diferensial ini level tegangan TTL diterjemahkan menjadi selisih tegangan antara output A dan B. Dengan demikian efek dari noise dapat diminimalkan, karena interferensi noise akan terjadi sekaligus pada jalur
output (A) dan jalur complementary output (B) sehingga selisih tegangan antara output A dan B tetap.
2.2.1.
Half-Duplex
RS-485[7]
Jaringan half-duplex RS-485 memiliki beberapa transmitter dan receiver pada jalur sinyal yang sama. Proses pengiriman data pada RS-485 dapat terjadi apabila salah satu dari
Gambar 2.1. Konfigurasi Half-Duplex RS-485
2.2.2.
Terminasi[7]
Dalam saluran transmisi memiliki dua kabel. Kabel yang pertama berguna untuk
transmitter dan kabel yang kedua berguna untuk receiver. RS-485 merupakan penghubung yang sedikit lebih rumit dalam komunikasi serial karena RS-485 memiliki dua kabel sinyal yang berbagi terminasi serta jalur kembali ke ground.
a.
Terminasi Paralel
Ketika dua atau lebih transmitter berbagi sepasang kabel, setiap akhir link memiliki resistor terminasi yang sama dengan impedansi karakteristik kabel dan tidak boleh ada dua resistor dalam mengakhiri jaringan terlepas dari berapa banyak node yang terhubung[7]. Penambahan resistor yang dipasang paralel antara terminal A dan B ditunjukkan pada Gambar 2.2. terminasi paralel.
b.
Terminasi AC
Terminasi AC digunakan untuk mengurangi konsumsi daya link menganggur serta mengurangi tegangan dering. Meskipun efek negatifnya adalah pengurangan panjang kabel dan
bit rate[7]. Sebuah resistor dan kapasitor dapat ditempatkan secara seri di bus (antara A dan B) seperti yang ditunjukkan pada Gambar 2.3. terminasi AC dipilih dengan menggunakan rumus berikut:
𝐶𝑡(𝑝𝐹) >2 (𝑘𝑎𝑟𝑎𝑘𝑡𝑒𝑟𝑖𝑠𝑖𝑘𝑠𝑢𝑎𝑡𝑢 𝑝𝑒𝑛𝑢𝑛𝑑𝑎𝑎𝑛𝑖𝑚𝑝𝑒𝑑𝑎𝑛𝑠𝑖𝑘𝑎𝑏𝑒𝑙 ((Ω𝑃𝑠)))………...(2.1)
Gambar 2.3. Terminasi AC
2.2.3.
RS-485 dan Konsep
Unit Load
[7]
Pemberian input impedansi RS-485 ditetapkan sebesar ±12 kΩ. Impedansi ini didefinisikan untuk satu unit load (UL). Spesifikasi RS-485 memiliki kemampuan untuk mempertahankan 32 ULS.
Sebuah sistem RS-485 memiliki driver yang dapat terputus dari saluran transmisi ketika sebuah node tertentu tidak melakukan transmisi. DE (RTS) pin pada RS-485 digunakan untuk mengontrol pengiriman data ketika DE (DE = 1) atau berlogika high. Ketika DE (DE = 0) atau berlogika low maka pengiriman berada pada kondisi tristate. Dengan adanya pemutusan pengiriman memungkinkan node lain untuk melakukan pengirimaan melalui dua kabel yang sama.
2.2.4.
Pemberian Tegangan pada Jaringan RS-485[8]
Dalam komunikasi serial multidrop pada RS-485 memerlukan hambatan pada setiap
node yang terhubung dengan jaringan multidrop tersebut. Tujuannya adalah untuk mempertahankan tegangan jaringan data dalam keadaan kosong idle (no data being transmitted) maka perlu dipasang resistor yang dirangkai pullup dengan saluran data A terhadap VCC (umumnya bernilai +5 Volt) dan resistor pulldown pada saluran B terhadap
ground. Gambar 2.4. memperlihatkan rangkaian transceiver dengan resistor.
Gambar 2.4. Transceiver Dengan Resistor.
Bias resistor dapat ditempatkan di manapun dalam jaringan, atau dapat dibagi menjadi beberapa node. Sebenarnya hambatan bias merupakan kombinasi paralel dari semua resistor bias dalam sistem. Resistans paralel setara dihitung dengan menggunakan rumus:
Untuk dua resistor:
𝑅𝑡 =((𝑅𝑅1 1+𝑥𝑅𝑅2)2) ... (2.1)
Untuk resistor lebih dari dua:
Gambar 2.5. Konfigurasi Pin RS-485[9]. Tabel 2.1. Diskripsi Pin RS-485[9].
Pin Symbol Function
1 RO Receiver Output
2 RE Receiver Output Enable
3 DE Drive Output Enable
4 DI Drive Input
5 GND Ground
6 A Non-Inverting Receiver Input and Non-Inverting Driver Output
7 B Inverting Receiver Input and Inverting Drive Output
8 Vcc Supply Volltage
2.3.
Module
K-125R
Module K-125R memiliki Spesifikasi: a. Format file yang didukunng adalah *.hex b. Target In system Programmer (ISP)
c. Kompatibel dengan Windows XP, Windows Vista dan Windows 7
d. Didukung oleh software CodeVision AVR Evaluasi, AVR OSP II dan AVR Studio4
e. Tidak membutuhkan catu daya tambahan dari luar
Gambar 2.6. Module K-125R
2.4.
Komunikasi Serial Mikrokontroler AVR ATMega[10]
Dalam komunikasi serial dikenal 2 cara pengiriman yaitu secara sinkron dan asinkron. Pada transmisi data secara sinkron, sinyal clock diperlukan oleh penerima data untuk mengetahui adanya pengiriman setiap bit data. Data akan dikirim dan diterima dengan kecepatan yang sama. Sedangkan pada transmisi data secara sinkron tidak memerlukan sinyal
clock sebagai sinkronisasi, namun pengiriman data harus diawali dengan start bit dan diakhiri dengan stop bit. Jadi data bisa dikirimkan kapan saja. Penerima hanya perlu mendeteksi adanya start bit sebagai awal pengiriman data, dan menunggu adanya stop bit sebagai tanda bahwa data telah dikirim.
2.5.
Catu Daya[10]
Catu daya merupakan suatu rangkaian yang paling penting bagi sistem elektronika. Rangkaian catu daya DC dapat diperoleh dari penyearahan tegangan AC yang disusun dari transformator, penyearah, dan regulator tegangan.
Tegangan AC dari jala-jala PLN diturunkan nilainya oleh transformator step down dan kemudian disearahkan dengan dioda bridge. Keluaran dari dioda bridge diratakan dengan rangkaian filter untuk memperkecil tegangan ripple. Kemudian digunakan regulator untuk menstabilkan tegangan yang keluar.
2.5.1.
Filter
Kapasitor
Filter dalam rangkaian penyearah digunakan untuk memperkecil tegangan ripple, sehingga dapat diperoleh tegangan keluaran yang lebih rata, dengan memanfaatkan proses pengisian dan pengosongan muatan kapasitor [11]. Harga kapasitansi kapasitor ditentukan dengan persamaan berikut :
digunakan sebagai filter (Farad). VM adalah tegangan arus bolak balik, Vr(PP) tegangan ripple
puncak ke puncak dan Vr(rms) adalah tegangan ripple efektif. VDC MIN adalah tegangan minimal
yang dibutuhkan oleh IC regulator.
2.6.
Penampil LCD
Gambar 2.8. Fisik LCD
LCD tipe ini memiliki 2 baris dimana masing-masing baris memuat 16 karakter. Selain sangat mudah dioperasikan, kebutuhan daya LCD ini sangat rendah[12]. Konfigurasi pin LCD M1632 dapat dilihat pada Tabel 2.2.
Tabel 2.2. Konfigurasi Pin LCD M1632
No. Nama Fungsi
2.7.
Mirokontroler AVR
Mikrokontroler merupakan suatu alat elektronika digital yang mempunyai kemampuan untuk mengendalikan masukan dan keluaran alat elektronika digital lainnya dengan mengunakan program. Mikrokontroler AVR memiliiki arsitektur RISC (reduced instruction set computing) 8 bit, semua instruksi dalam 1 siklus clock. Mikrokontroler AVR dikelompokkan menjadi 4 kelas, yaitu keluarga ATtiny, keluarga AT90Sxx, keluarga ATMega dan keluarga AT86RFxx. Pada dasarnya, yang membedakan masing-masing kelas adalah memori, peripheral dan fungsinya[10]. Untuk mengetahui tingkat keberhasilan pengiriman dan penerimaan pada komunikasi serial mikrokontroler maka digunakan persamaan 2.5.
Tingkat keberhasilan =jumlah data yang diterima /dikirim
banyaknya data x100%...(2.5)
Dalam penelitian ini, penulis akan menggunakan mikrokontroler ATMega128 dan ATMega8.
2.7.1.
Mikrokontroler ATMega128[12]
Mirokontroler ATMega128 ini dipilih karena memiliki dua komunikasi USART (Universal Synchronous and Asynchronous Serial Receiver and Transmitter) dan memiliki memori yang cukup besar. Konfigurasi pin IC ATMega128 dapat dilihat pada Gambar 2.9. Fungsi pin pada mikrokontroler ATMega128 adalah:
a. Pin 21 dan 52, berfungsi sebagai pin masukan catu daya / VCC b. Pin 22, 53 dan 63, berfungsi sebagai ground
c. Pin 20, berfungsi sebagai reset mikrokontroler.
d. Pin 62, AREF merupakan pin masukan tegangan referensi ADC e. Pin 64, AVCC merupakan pin masukan tegangan untuk ADC f. Pin 1, PEN merupakan pin SPI (Serial Programming mode)
g. Pin 23 (XTAL 2) adalah pin masukkan ke rangkaian osilator internal. Sebuah osilator kristal atau sumber osilator luar dapat digunakan.
h. Pin 24 (XTAL 1) adalah pin keluaran ke rangkaian osilator internal. Pin ini dipakai bila menggunakan osilator kristal.
j. Pin 10 sampai 17 adalah Port B yang berfungsi sebagai I/O (bi-directional), timer/counter, komparator analog, SPI dan PWM
k. Pin 35 sampai 42 adalah Port C yang berfungsi sebagai I/O (bi-directional).
l. Pin 25 sampai 32 adalah Port D yang berfungsi sebagai I/O (bi-directional), interupsi eksternal, komunikasi serial, timer/counter dan TWI
m. Pin 2 sampai 9 adalah Port E yang berfungsi sebagai I/O (bi-directional), PWM, interupsi eksternal, komunikasi serial, timer/counter dan komparator analog
n. Pin 61 sampai 54 adalah Port F yang berfungsi sebagai I/O (bi-directional) dan ADC
o. Pin 34, 33, 43, 19 dan 18 adalah Port G yang berfungsi sebagai I/O (bi-directional), timer oscillator, ALE, RD dan WR
2.7.2.
Mikrokontroler ATMega8
[14]Mikrokontroler ATMega8 ini dipilih karena memiliki komunikasi USART (Universal Synchronous and Asynchronous Serial Receiver and Transmitter) dan memiliki memori yang cukup besar. Konfigurasi pin IC ATMega8 dapat dilihat pada Gambar 2.10. Fungsi pin pada mikrokontroler ATMega8 adalah:
a. Pin 7 berfungsi sebagai pin masukan catu daya / VCC b. Pin 8 dan 22 berfungsi sebagai ground
c. Pin 9 dan 10 adalah pin keluaran ke rangkaian osilator internal. Pin ini dipakai bila menggunakan osilator kristal.
p. Pin 21 AREF merupakan pin masukan tegangan referensi ADC q. Pin 20 AVCC merupakan pin masukan tegangan untuk ADC r. Pin 1 berfungsi sebagai reset mikrokontroler.
d. Pin 14 sampai 19, Port B yang berfungsi sebagai I/O (bi-directional), timer/counter, komparator analog dan SPI.
e. Pin 23 sampai 28, Port C yang berfungsi sebagai I/O (bi-directional) dan ADC f. Pin 2 sampai 13 adalah Port D yang berfungsi sebagai I/O (bi-directional),
interupsi eksternal, komunikasi serial dan timer/counter
2.8.
Visual Basic
[15]
Visual Basic adalah salah suatu development tools untuk membangun aplikasi dalam lingkungan Windows. Dalam pengembangan aplikasi, Visual Basic menggunakan pendekatan
Visual untuk merancang user interface dalam bentuk form, sedangkan untuk kodingnya menggunakan dialok bahasa Basic yang cenderung mudah dipelajari. Visual Basic telah menjadi tools yang terkenal bagi para pemula maupun para developer dalam pengembangan aplikasi skala kecil sampai ke skala besar.
2.8.1.
Tipe Variabel[15]
Ketepatan pemilihan tipe variabel akan sangat menentukan pemakaian resources oleh aplikasi yang dihasilkan, adalah tugas programmer untuk memilih tipe yang sesuai untuk menghasilkan program yang efisien dan berperfomance tinggi.
Tabel 2.3. Tipe variabel, pemakaian storage dan jangkauan masing-masing
2.8.2.
Operator
pada
Visual Basic
dan Urutan Operasinya[15]
Visual basic meyediakan operator aritmatika, komparasi dan logika, salah satu hal yang harus dipahami oleh programmer adalah tata urutan operasi dari masing-masing operator
Type Data Ukuran Storage Jangkuan
Byte 1 byte 0 s/d 255
Boolean 2 byte True atau False Integer 2 byte -32,768 s/d 32767
Long 4 byte -2,147,483,648 s/d 2,147,483,647 -3.402823E38 s/d -1.401298E-45 (-) 1.401298E-45 s/d 3.402823E38 (+)
Double 8 byte -1.79769313486232E308 s/d -4.94065645841247E-324 (-)
Currency 8 byte -922,337,203,685,477.5808 s/d 922,337,203,685,477.580
Decimal 14 byte +/-79,228,162,514,264,337,593,543,950,335
Date 8 byte 1 Januari 100 s/d 31 Desember 9999
Object 4 byte Mengacu pada objek tertentu
String (panjang variabel) 10 byte + panjang string 0 sampai lebih kurang 2 milyar
String (panjang tetap) panjang dari string 1 sampai lebih kurang 65,400
Variant (dengan angka) 16 byte Sembarang angka sampai jangkauan jenis Double Variant (dengan karakter) 22 byte + panjang string Sama dengan jangkauan variabel String
tersebut sehingga mampu membuat ekspresi yang akan menghasilkan nilai yang benar, Tabel 2.4. menunjukkan operator dan urutan operasinya dari atas kebawah.
Tabel 2.4. Operator pada Visual Basic dan urutan operasi dari atas ke bawah
2.8.3.
Operator Like
[15]
Salah satu operator yang menarik untuk dibahas adalah operator like, karena operator
ini tidak tersedia pada bahasa BASIC. Operator digunakan untuk operasi pencocokan pola pada string yang akan sangat membantu programmer. Table 2.5.menunjukan karakter dalam pencocokan pola pada operator like.
Tabel 2.5. Karakter Dalam Pencocokan Pola Pada Operator Like
2.8.4.
Deklarasi Variabel[15]
a. Deklarasi variabel pada bagian deklarasi (general declaration) di suatu form, standar, atau class module, dari pada dalam suatu procedure, membuat variabel itu berlaku untuk semua procedure dan function dalam module tersebut
b. Deklarasi variabel dengan menggunakan keyword Public membuatnya berlaku pada keseluruhan aplikasi anda.
c. Deklarasi suatu variabel lokal dengan menggunakanan keyword Static akan menyimpan nilainya ketika suatu procedure berakhir.
Aritmatika Komparasi Logika
Pangkat (^) Sama (=) Not
Negatif (-) Tidak sama (<>) And
Kali dan Bagi (*, /) Kurang dari (<) Or
Pembagian bulat (\) Lebih dari (>) Xor
Sisa Bagi (Mod) Kurang dari atau sama (<=) Eqv
Tambah dan Kurang (+,-) Lebih dari atau sama (>=) Imp
Pengabungan String (&) Like
Karakter dalam pola Penyamaan dalam string
? Sembarang karakter tunggal
* Nol atau lebih karakter
# Sembarang digit tunggal (0-9)
2.8.5.
Mengenal Struktur Kendali[15]
Struktur kendali memungkinkan anda untuk mengatur jalannya program anda, Jika membiarkan tanpa di periksa oleh statement control-flow, suatu logika program akan berjalan dari kiri ke kanan dan dari atas kebawah. Hanya program yang sangat sederhana dapat ditulis tanpa statement control-flow.
Struktur keputusan yang didukung oleh Visual Basic adalah sebagai berikut : a. If…Then
Kondisi biasanya berupa suatu perbandingan, maupun ekspresi yang menghasilkan nilai numerik. Visual Basic menginterpretasikan False sebagai nol (0), dan True
sebagai bukan nol. b. If…Then…Else
Visual Basic awalnya akan mencoba kondisi1. Jika False, maka Visual Basic akan memeriksa kondisi2, dan seterusnya sampai menemukan suatu kondisi True untuk dijalankan blok pernyataannya.
c. Select Case
Visual Basic menyediakan struktur Select Case sebagai suatu alternatif terhadap
If...Then...Else. Suatu Select Case statement memiliki kemampuan yang sama dengan If…Then…Else…, tetapi membuat code lebih mudah dibaca.
Struktur Select Case bekerja dengan suatu percobaan tunggal yang hanya dievaluasi satu kali pada bagian atas struktur. Visual Basic then membandingkan hasil ekspresi dengan nilai pada setiap case didalam struktur tersebut, jika ada yang sesuai, akan dijalankan blok statement yang sesuai.
2.8.6.
Deklarasi Konstanta[15]
Dalam hal ini anda dapat membuat code anda menjadi lebih mudah dibaca-lebih mudah ditangani-dengan menggunakan suatu konstanta. Suatu konstanta adalah nama yang menyimpan dari suatu nilai yang tidak dapat berubah. Ada dua sumber dari suatu konstanta :
b. Symbolic atau User-defined konstanta adalah dideklarasikan dengan menggunakan
statement Const.
c. Membuat suatu konstanta yang mana hanya ada dalam suatu procedure, deklarasikan di dalam procedure tersebut
d. Membuat suatu konstanta berlaku pada semua procedure dalam suatu module, deklarasikan dia pada bagian deklarasi di module tersebut
e. Membuat suatu konstanta berlaku pada semua aplikasi, deklarasikan dia dengan
keyword Public sebelum kata Const.
2.8.7.
Struktur Pengulangan[15]
Struktur loop memperbolehkan anda untuk melaksanakan sekelompok baris lebih dari satu kali:
a. Do…Loop
Ketika Visual menjalankan Do loop ini, pertama kali akan di coba kondisinya, jika kondisi False (zero), akan diloncati semua statements yang mengikuti kondisi tersebut. Visual Basic akan menjalankan statements jika kondisi benar dan kembali ke Do…Loop berikutnya.
b. For…Next
21
BAB III
PERANCANGAN DAN PEMBUATAN
3.1.
Arsitektur Sistem
Sistem ini terdiri dari dua subsistem, yaitu subsistem hardware (mikrokontroler, LCD 16x2, multidrop network RS-485, module K-125R, regulator voltage dan personal computer) dan subsistem software (PC). Arsitektur umum sistem ini ditunjukkan pada Gambar 3.1.
Gambar 3.1. Arsitektur Umum
Sistem ini berkerja apabila mikrokontroler (master) mengirimkan perintah kepada mikrokontroler (slave) yang ingin diambil datanya, mikrokontroler (slave) yang ditunjuk mikrokontroler (master) mengirimkan data yang diminta oleh mikrokontroler (master). Dalam proses pengiriman dan penerimaan data mikrokontroler (slave) dan mikrokontroler (master) menggunakan multidrop network RS-485. Data yang telah diterima oleh mikrokontroler (master) ditampilkan ke dalam LCD 16x2 yang berguna untuk memonitoring data dari mikrokontroler (slave), mikrokontroler (master) juga mengirimkan hasil pengumpulan data yang terima dari berbagai mikrokontroler (slave) ke PC (personal computer). Dalam proses pengiriman data dari mikrokontroler (master) ke PC mengunakan module K-125R. Module K-125R mampu berkomunikasi dengan PC sehingga user dapat dengan mudah memonitoring
3.2.
Perancangan Subsistem
Hardware
3.2.1.
Perancangan Regulator Tegangan
Sistem ini harus beroperasi terus, karena sistem ini berfungsi untuk mengumpulkan data yang di monitoring oleh user. Sistem ini membutuhkan sebuah regulator tegangan untuk menyesuaikan tegangan sumber listrik dengan mikrokontroler, LCD 16x2, multidrop network
RS-485 yaitu sebesar 5V. Rangkaian regulator tegangan dapat dilihat pada Gambar 3.2.
Gambar 3.2. Rangkaian Regulator Tegangan
Gambar 3.2. merupakan rangkaian regulator tegangan yang menggunakan komponen 7805 yang dapat meregulasi tegangan output. Berdasarkan datasheet, komponen 7805 memiliki arus output atau Io sebesar 500mA. Nilai kapasitor C2 dan C3 sesuai dengan datasheet 7805 agar tegangan output lebih stabil. Perhitungan nilai kapasitor C1 untuk penyearah 5VDC, dilakukan seperti persamaan 2.4 dengan nilai tegangan output trafo diketahui
sebesar 12VAC (VM), arus maksimal yang diinginkan sebesar 1A dan tegangan input minimal
IC regulator sebesar 7,5VDC (VMIN), sehingga diperoleh nilai minimal kapasitor C1 sebagai
berikut :
Vm = 12 2 −1,4 = 15,57V
Vr = Vm−Vmin = 15,57−7,5 = 8.07V
Vr rms = Vr p−p
Vr rms = IDC
3.2.2.
Perancangan
Multidrop Network
RS-485
Perancanganan multidrop ini mengunakan enam IC RS-485 yang saling terhubung secara paralel, Seperti yang telah diketahui bahwa impedansi dari RS-485 adalah ± 12 kΩ.
untuk menghitung besarnya resistor yang dipakai pada rangkaian multidrop network RS-485 dapat menggunakan persamaan 2.2.
Menggunakan resistor 120 Ω untuk terminasi paralel dan Resistor 120 Ω digunakan
untuk mencocokkan karakteristik impedansi sebuah kabel komunikasi (nilai yang umum
digunakan oleh produsen kabel adalah 120 Ω)
Dengan adanya nilai resistor terminasi paralel, maka nilai resistor pull-up dan pull-down dapat dicari yaitu:
𝑛𝑖𝑙𝑎𝑖 resistor 𝑝𝑢𝑙𝑙 − 𝑢𝑝 dan 𝑝𝑢𝑙𝑙 − 𝑑𝑜𝑤𝑛 = 1880 Ω
𝑛𝑖𝑙𝑎𝑖 resistor 𝑝𝑢𝑙𝑙 − 𝑢𝑝 dan 𝑝𝑢𝑙𝑙 − 𝑑𝑜𝑤𝑛 = 1880 2
𝑛𝑖𝑙𝑎𝑖 resistor 𝑝𝑢𝑙𝑙 − 𝑢𝑝 dan 𝑝𝑢𝑙𝑙 − 𝑑𝑜𝑤𝑛= 940 Ω
Jadi nilai resistor pull-up dan pull-down adalah 940 Ω. Rangkaian multidrop RS-485 dapat dilihat pada Gambar 3.3.
Gambar 3.3. Rangkaian Multidrop RS-485
3.2.3.
Perancangan LCD 16x2
Perancangan LCD 16x2 ini berguna untuk menampilkan data sebanyak 2 kolom x 16 baris sehingga banyak karakter yang dapat ditampilkan adalah 32 karakter.
3.3.
Perancangan Subsistem
Software
Langkah awal yang dilakukan dalam perancangan subsistem software adalah dengan cara membuat diagram alur program terlebih dahulu.
3.3.1.
Perancangan Diagram Alur Program
Master
Gambar 3.5. perancangan diagram alur program master. Perancangan ini meliputi inisialisasi program seperti: LCD 16x2 dan RS-485. Penginisialisai ini digunakan untuk mempersiapkan komponen-komponen pendukung tersebut dalam kondisi siap menjalankan perintah dengan cara mengatur register-register yang ditulis dengan mengunakan software
3.3.2.
Perancangan Diagram Alur Program
Slave
PC
Gambar 3.8. perancangan diagram alur program slave PC. Perancangan ini menggunakan inisialisansi yang berguna untuk meminta data paket kepada mikrokontroler
master dan lalu menapilkannya dalam bentuk grafik dengan menggunakan software visual basic.
3.3.3.
Perancangan Diagram Alur Program
Slave
1 (Suhu)
Gambar 3.9. perancangan diagram alur program slave1 (suhu). Perancangan ini menggunakan inisialisai data yang berguna untuk menerima perintah yang diberikan oleh mikrokontroler master. Mikrokontroler slave1 mengirimkan data suhu kepada mikrokontroler
master.
3.3.4.
Perancangan Diagram Alur Program
Slave
2 (pH)
Gambar 3.10. perancangan diagram alur program slave2 (pH). Perancangan ini menggunakan inisialisai data yang berguna untuk menerima perintah yang diberikan oleh mikrokontroler master. Mikrokontroler slave2 mengirimkan data pH kepada mikrokontroler
master.
3.3.5.
Perancangan Diagram Alur Program
Slave
3 (DO)
Gambar 3.11. perancangan diagram alur program slave3 (DO). Perancangan ini menggunakan inisialisai data yang berguna untuk menerima perintah yang diberikan oleh mikrokontroler master. Mikrokontroler slave3 mengirimkan data DO kepada mikrokontroler
master.
3.3.6.
Perancangan Diagram Alur Program
Slave
4 (Kekeruhan)
Gambar 3.12. perancangan diagram alur program slave4 (kekeruhan). Perancangan ini menggunakan inisialisai data yang berguna untuk menerima perintah yang diberikan oleh mikrokontroler master. Mikrokontroler slave4 mengirimkan data kekeruhan kepada mikrokontroler master.
3.3.7.
Perancangan Diagram Alur Program
Slave
5 (Konduktivitas)
Gambar 3.13. perancangan diagram alur program slave5 (konduktivitas). Perancangan ini menggunakan inisialisai data yang berguna untuk menerima perintah yang diberikan oleh mikrokontroler master. Mikrokontroler slave5 mengirimkan data konduktivitas kepada mikrokontroler master.
36
BAB IV
HASIL DAN PEMBAHASAN
Bab ini berisi Gambar fisik hardware yang dibuat, pembahasan tentang perbagian
hardware, hasil pengujian rangkaian, hasil komunikasi serial, pembahasan tentang program
visual basic yang menampilkan grafik dan pembahasan tentang program yang digunakan di mikrokontroler. Data yang akan dibahas terdiri dari data paket komunikasi serial, menampilkan data serial dalam bentuk grafik di visual basic dan pengujian tiap bagian
hardware. Hasil pengujian berupa data-data yang diperoleh dapat memperlihatkan bahwa
hardware atau software yang dirancang telah bekerja dengan baik atau tidak. Berdasarkan data-data tersebut dapat dilakukan analisis terhadap proses kerja alat yang kemudian dapat digunakan untuk menarik kesimpulan akhir.
4.1. Gambaran Fisik
Hardware
Subsistem alat dibagi menjadi dua bagian. Pertama bagian mekanik kotak sistem dan kedua bagian subsistem elektronik alat.
4.1.1. Mekanik Kotak Sistem
Perancangan mekanik kotak sistem dibuat untuk melindungi dan merapikan subsitem elektronika.
Gambar 4.1. Tampak Atas
Gambar 4.3. Tampak Samping Kanan
Gambar 4.4. Tampak Bagian Dalam
4.1.2. Subsistem Elekronik Alat
Pada perancangan regulator tegangan terdapat penambahan kapasitor, hal ini dilakukan untuk mengurangi ripple yang menganggu hardware lain. Gambar 4.5 menunjukan tampilan
ripple pada regulator tegangan sebelum dilakukan penambahan kapasitor, sedangkan Gambar pada 4.6 merupakan regulator tegangan yang telah ditambahkan kapasitor.
Gambar 4.5. Tampilan Ripple Pada Osiloskop
Gambar 4.6. Tampilan Osiloskop Setelah Penambahan Kapasitor
Nilai ripple yang diperoleh pada Gambar 4.5 yaitu 1,4 Vp-p x 5 mV = 7 mV. Setelah
Gambar 4.7. Regulator Tegangan Dan Multidrop RS-485
4.2. Pengujian Alat
4.2.1. Pengujian Rangkaian Catu Daya
Pengujian rangkaian catu daya ini bertujuan untuk mengetahui tegangan keluaran yang dihasilkan dan rangkaian sudah bekerja dengan baik atau belum. Pengujian dilakukan dengan cara mengukur tegangan keluaran pada pin out IC LM7805, kemudian dibandingkan dengan nilai tegangan pada datasheet.
Pada pengujian rangkaian catu daya mendapatkan output tegangan sebesar 4,93 Volt, sedangkan output IC LM7805 pada datasheet 4,75-5,25 Volt. Pengujian catu daya dapat bekerja dengan baik.
4.3. Pengujian
Software
Pengujian software ini bertujuan untuk memastikan program yang telah dibuat dapat bekerja sesuai dengan yang telah direncanakan pada bab III. Setelah data serial diterima dan ditampilkan pada LCD character.
4.3.1. Pengujian Sistem Mikrokontroler
pada mikrokontroler AVR ATMega128. Gambar 4.8 merupakan Gambaran fisik mikrokontroler AVR ATmega128 yang akan diuji dengan rangkaian LCD 16x2 yang ditujukkan pada Gambar 4.9. PORTC dijadikan sebagai output untuk menampilkan tulisan ke LCD character. Program yang dituliskan pada software dengan bahasa C adalah sebagai berikut:
Gambar 4.8. Mikrokontroler ATMega128
Hasil pengujian ditunjukan pada Gambar 4.10.
Gambar 4.10. Tampilan LCD Hello Selamat Datang
Berdasarkan Gambar 4.10 tampak bahwa rangkaian sistem mikrokontroler dapat bekerja dengan baik karena rangkaian ini dapat menampilkan tulisan pada LCD character
sesuai dengan yang dituliskan pada program.
4.3.2. Pengujian Program Pengiriman dan Penerimaan Pada
Master
Pengujian pengiriman karakter dari master dilakukan untuk mengetahui program pengiriman karakter dari master berhasil terkirim atau tidak. Saat pengirriman karakter dari
master berhasil terkirim maka slave yang dituju master akan membalas kiriman tersebut dengan data paket. Pengujian ini menggunakan module komunikasi serial RS-485 dengan ATMega8, module komunikasi serial RS-485 dengan ATMega8 ini merupakan mikrokontroler
slave. Gambar 4.11. merupakan module komunikasi serial RS-485 dengan ATMega8.
Gambar 4.11. Module Komunikasi Serial RS-485 Dengan ATMega 8
Gambar 4.12. Kirim A Gambar 4.13. Terima Data Suhu Berdasarkan Gambar 4.12 dan 4.13 tampak bahwa pengiriman dan penerimaan data paket pada master dapat bekerja karena program pengiriman dan penerimaan data paket sudah benar dan berhasil di tampilkan pada LCD. Pada Tabel 4.1 merupakan contoh data yang dikirim dari slave1, contoh data dibuat dengan program. Data kirim pada Tabel merupakan data yang dikirim slave1 ke master dan data terima merupakan data yang diterima master.
Tabel 4.1. Contoh Data Suhu Suhu
Hasil pengujian pengiriman karakter B dan hasil penerimaan data paket dari slave yang berinisial B yaitu slave2 (pH). Dapat dilihat pada Gambar 4.14 dan 4.15.
Gambar 4.14. Kirim B Gambar 4.15. Terima Data pH Berdasarkan Gambar 4.14 dan 4.15 tampak bahwa pengiriman dan penerimaan data paket pada master dapat bekerja karena program pengiriman dan penerimaan data paket sudah benar dan berhasil di tampilkan pada LCD. Pada Tabel 4.2 merupakan contoh data yang dikirim dari slave2, contoh data dibuat dengan program. Data kirim pada Tabel merupakan data yang dikirim slave2 ke master dan data terima merupakan data yang diterima master.
Tabel 4.2. Contoh Data pH PH
No Data Kirim Data Terima Keterangan 1 4.0 4.0 Berhasil
Dengan persamaan 2.5 dapat menghitung tingkat keberhasilan data pengiriman dan penerimaan, dari hasil perhitungan dengan persamaan 2.5 bahwa tingkat keberhasilan pengiriman dan penerimaan data slave2 (pH) sebesar 100%.
Gambar 4.16. Kirim C Gambar 4.17. Terima Data DO Berdasarkan Gambar 4.16 dan 4.17 tampak bahwa pengiriman dan penerimaan data paket pada master dapat bekerja karena program pengiriman dan penerimaan data paket sudah benar dan berhasil di tampilkan pada LCD. Pada Tabel 4.3 merupakan contoh data yang dikirim dari slave3, contoh data dibuat dengan program. Data kirim pada Tabel merupakan data yang dikirim slave3 ke master dan data terima merupakan data yang diterima master.
Tabel 4.3. Contoh Data DO DO
Dengan persamaan 2.5 dapat menghitung tingkat keberhasilan data pengiriman dan penerimaan, dari hasil perhitungan dengan persamaan 2.5 bahwa tingkat keberhasilan pengiriman dan penerimaan data slave3 (DO) sebesar 100%.
Gambar 4.18. Kirim D Gambar 4.19. Terima Data Kekeruhan Berdasarkan Gambar 4.18 dan 4.19 tampak bahwa pengiriman dan penerimaan data paket pada master dapat bekerja karena program pengiriman dan penerimaan data paket sudah benar dan berhasil di tampilkan pada LCD. Pada Tabel 4.4 merupakan contoh data yang dikirim dari slave4, contoh data dibuat dengan program. Data kirim pada Tabel merupakan data yang dikirim slave4 ke master dan data terima merupakan data yang diterima master.
Tabel 4.4. Contoh Data Kekeruhan Kekeruhan
No Data kirim Data terima Keterangan 1 25 25 Berhasil
Hasil pengujian pengiriman karakter E dan hasil penerimaan data paket dari slave yang berinisial E yaitu slave5 (Konduktivitas). Dapat dilihat pada Gambar 4.20 dan 4.21.
Gambar 4.20. Kirim E Gambar 4.21. Terima Data Konduktivitas Berdasarkan Gambar 4.20 dan 4.21 tampak bahwa pengiriman dan penerimaan data paket pada master dapat bekerja karena program pengiriman dan penerimaan data paket sudah benar dan berhasil di tampilkan pada LCD. Pada Tabel 4.5 merupakan contoh data yang dikirim dari slave5, contoh data dibuat dengan program. Data kirim pada Tabel merupakan data yang dikirim slave5 ke master dan data terima merupakan data yang diterima master.
Tabel 4.5. Contoh Data Konduktivitas Konduktivitas
No Data kirim Data terima Keterangan 1 200 200 Berhasil
Pada pengujian program pengiriman dan penerimaan pada master terdapat 1 kali kesalahan pada penampil pada LCD, kesalahan ini disebut dengan kondisi awal karena terjadi pada saat awal pengambilan data dan penampilan data pertama. Setelah kondisi awal maka data akan selalu berhasil di tampilkan pada LCD. Kondisi awal ini hanya terjadi pada penampilan data slave1 dan slave2. Gambar 4.22 merupakan kondisi awal penerimaan data.
Gambar 4.22. Kondisi Awal Penampilan Data Terima Pada Master
4.3.3. Pengujian Panjang Kabel Pada Rangkaian
Multidrop Network
RS-485
Pengujian panjang kabel pada rangkaian multidrop network RS-485 ini dilakukan untuk mengetahui pengaruh panjang kabel pada rangkaian RS-485 dapat bekerja dengan baik atau tidak. Pengujian ini menggunakan kabel sepanjag 2 meter, 4 meter, 6 meter, 10 meter dan 16 meter. Pada pengujian panjang kabel yang sudah ditentukan diatas tidak ada pengaruh yang muncul pada pengiriman dan penerimaan data.
Pengujian panjang kabel ini hanya berpengaruh pada sinyal pengiriman dan sinyal penerimaan semakin pendek kabel yang digunakan maka semakin bagus sinyal yang diperoleh pada osiloskop sedangkan semakin panjang kabel yang digunakan maka semakin jelek sinyal yang diperoleh pada osiloskop. Hasil pengamatan sinyal pada osiloskop dapat dilihat di lampiran.
Hasil dari pengujian panjang kabel pada rangkaian multidrop network RS-485 dapat dilihat pada pengujiaan program pengiriman dan penerimaan pada master. Berdasarkan dari pengujian ini terlihat bahawa karakter yang dikirim dan data paket yang sudah diterima master
4.3.4. Pengujian Program Penggabungan dan Pengiriman Semua Data
Paket
Pengujian program penggabungan dan pengiriman semua data paket ini dilakukan untuk mengetahui semua data paket yang terima master sudah berhasil diterima semua atau belum. Pengujian ini dilakukan dengan membuat program penggabungan semua data yang telah diterima master dan mengirimkan data hasil penggabungan tersebut.
Gambar 4.23. Penggabungan Data Paket Gambar 4.24. Kondisi awal penggabungan data paket
Hasil pengujian penggabungan dan penerimaan semua data dapat dilihat pada Gambar 4.23 dan Gambar 4.24. Pada Gambar 4.24 terjadi kesalahan penampil disaat penggabungan dan pengiriman semua data paket pada kondisi awal penggabungan dan pengiriman data paket, sedangkan pada Gambar 4.23 proses penggabungan dan pengiriman semua data paket berhasil ketika selesai tahap kondisi awal penggabungan dan pengiriman semua data paket.
4.3.5. Pengujian Program
Slave
PC (
Visual Basic)
Pengujian program slave PC ini bertujuan untuk menampilkan data serial, menyimpan data serial dan membuat grafik dari semua data paket yang diterima. Pada pengujian ini menggunakan module K-125R sebagai penghubung mikrokontroler (master) dengan PC (personal computer), software yang digunakan pada PC adalah visual basic 6.0. pada Gambar 4.25. merupakan module K-125R.
Hasil dari pengujian program slave PC dapat dilihat pada Gambar 4.26. pada Gambar 4.26 terlihat bahwa program slave PC dapat menampilkan data grafik dari slave1 (Suhu),
slave2 (pH), slave3 (DO), slave4 (Kekeruhan) dan slave5 (Konduktivitas). Program slave PC ini dilengkapi dengan tampilan data dalam bentuk Tabel, sehingga mempermudah dalam melihat data semua sensor yang menggukur kualitas air kolam ikan.
Gambar 4.26. Tampilan Pada Visual Basic 6.0
Pada pengujian program slave PC ini terdapat error, hal ini dikarenakan adanya data yang drop/hilang akibat waktu pengambilan data dan penerimaan data yang tidak sesuai. Gambar 4.27 merupakan tampilan error dari program PC, drop/hilang data ditunjukan pada lingkaran hitam pada Gambar 4.27.
Berdasarkan Gambar 4.28 tampak bahwa program slave PC dapat melakukan penyimpanan data pada lokasi yang sudah ditentukan yaitu lokasi D. Pada Gambar 4.28 menunjukan nama file yang disimpan dengan format (.txt) dengan kotak hitam pada Gambar 4.28. Nama file yang di simpan adalah text2.txt.
Gambar 4.28. Lokasi Penyimpanan Data
Gambar 4.29. menunjukan hasil dari data yang telah disimpan pada text2.txt. Penyimpanan data ini bertujuan untuk mempermudah dalam pengamatan kualitas air yang sudah diukur.
Gambar 4.29. Data Yang Berhasil Disimpan Pada Notpad
50
BAB V
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Berdasarkan dari data paket komunikasi serial yang diperoleh dari tampilan LCD
character dan tampilan visual basic, maka dapat disimpulkan :
1. Mikrokontroler ATMega128 mampu melakukan komunikasi serial antar mikrokontroler dan mikrokontroler dengan PC
2. Tingkat keberhasilan pengiriman dan penerimaan data dari mikrokontroler slave1,
slave2, slave3, slave4 dan slave5 ke mikrokontroler master sebesar 100%
3. Kelemahan sistem ini ialah waktu pengambilan data dan penerimaan data pada PC 4. Sistem ini dapat mengolah data menjadi data grafik dan menyimpan data dengan
format (.txt)
5.2. Saran
51
DAFTAR PUSTAKA
[1] Salam, A., dkk, Rancang Bangun Sistem Jaringan Multidrop Menggunakan RS-485 Pada Aplikasi Pengontrolan Alat Penerangan Kamar Hotel, FPTK UPI, Bandung.
[2] Pratama, H., dkk, 2012, Akuisisi Data Kinerja Sensor Ultrasonik Berbasis Sistem Komunikasi Serial Menggunakan Mikrokontroler Atmega 32, FPTK UPI, Bandung.
[3] Martanto., dkk, 2013, Akuisisi Data Pengawas Kualitas Air Sungai Untuk Perikanan,
Seminar Ritektra 2013, Universitas Sanata Dharma, Yogyakarta.
[4] Bambang, C., 2000, Budi Daya Ikan Air Tawar , Kanisius, Yogyakarta.
[5] Direktorat Jendral Perikanan Budidaya dan Direktorat Perbebihan., 2006, Petunjuk Teknis Balai Benih Ikan (BBI), Balai Benih Ikan Sentral (BBIS), Balai Benih Udang
(BBU), Blai Benih Udang Galah (BBUG),Dan Balai Benih Ikan Pantai (BBIP),
Direktorat Jendral Perikanan Budidaya, Jakarta
[6] Radiometer Analitic SAS., 2004, Conductivity Theory and Practice, Villleurbnne Cedex, France
[7] Marias, H., RS-485/RS-422 Circuit Implementation Guide, http://www.analog.com
[8] http://www.bb-elec.com
Diakses Tanggal 21 November 2013
[9] http://www.sena.com/download/tutorial/tech_Serial_v1r0c0.pdf,
Diakses Tanggal 21 November 2013.
52
[11] Boylestad, R., Nashelsky, L., 1996, Electronic Devices and Circuit Theory sixth edition, New Jersey : Prentice Hall.
[12] Heryanto, M. A dan Adi, P. W., 2008, Pemrograman Bahasa C Untuk Mokrokontroler ATMEGA 8535, ANDI Yogyakarta.
[13] ___, 2006, Data Sheet Microcontroler ATMega128, Atmel Corporation
[14] ___, 2013, Data Sheet Microcontroler ATMega8, Atmel Corporation
[15] Hendra., Dasar Pemrograman Visual Basic, http://aldi_tob_2000.staff.gunadarma.ac.id/Downloads/files/15631/Dasar+Pemrograma n+Visual+Basic.pdf,
Diakses Tanggal 25 November 2013.
[16] http://www.st.com
Diakses Tanggal 25 November 2013
53
LISTING
PROGRAM
1.
Listing
Program
Master
1. $regfile = "m128def.dat" 'Master
23.Open "com2:" For Binary As #1 24.Config Porte.2 = Output
25.Ena Alias Porte.2 26.Cls
28. Lcd "HELLO" 29. Locate 2 , 1
63.Dte = Z
2.
Listing
Program
Slave
1 (Suhu)
3.
Listing
Program
Slave
2 (PH)
4.
Listing
Program
Slave
3 (DO)
1. $regfile = "m8def.dat" 2. $crystal = 12000000
5.
Listing
Program
Slave
4 (Kekeruhan)
1. $regfile = "m8def.dat" 2. $crystal = 12000000
6.
Listing
Program
Slave
5 (Konduktivitas)
1. $regfile = "m8def.dat" 2. $crystal = 12000000
7.
Listing
Program
Slave
PC (
Visual Basic
)
1. Dim ping As Integer
2. Dim pjpic, tgpic, ktgpic As Single 3. Dim pjpic2, tgpic2, ktgpic2 As Single 4. Dim pjpic3, tgpic3, ktgpic3 As Single 5. Dim pjpic4, tgpic4, ktgpic4 As Single 6. Dim pjpic5, tgpic5, ktgpic5 As Single
7. Dim nw_tcr As Single 8. Dim nw_tcr2 As Single 9. Dim nw_tcr3 As Single 10.Dim nw_tcr4 As Single 11.Dim nw_tcr5 As Single
12.Dim dx, dy, y, x As Integer
22.Dim dt_a, dt_b, dt_c, dt_d, dt_e, z As String
23.Private Sub Command1_Click() 24.Dim idx As Boolean
67..ColWidth(1) = 800
73..TextMatrix(ping, 0) = "no" 74..TextMatrix(ping, 1) = "Suhu" 75..TextMatrix(ping, 2) = "PH" 76..TextMatrix(ping, 3) = "DO"
103. x4a = 0 113. Dim inbuff As String
114. Dim huruf As String 115. Dim pagar As String 116. Dim jarak As Integer 117. Dim paketbaru As String 118. Dim dt_a As String 119. Dim dt_b As String 120. Dim dt_c As String 121. Dim dt_d As String 122. Dim dt_e As String 123. Dim dta As String 124. Dim dtb As String 125. Dim dtc As String 126. Dim dtd As String 127. Dim dte As String
128. Dim z As Integer, m As Integer, n As Integer, w As Integer
129. If Comm1.PortOpen = True Then 130. inbuff = Comm1.Input
131. Text1.Text = inbuff
132. Open "D:\text2.txt" For Append As #1 133. Print #1, Text2.Text '+ Chr$(13) 134. Close #1