29
4. HASIL DAN PEMBAHASAN
Hasil dari penelitian ini adalah sebuah prototipe current meter yang diberi nama Acoustic Current Meter dengan code ACM01. ACM01 berfungsi dalam pengukuran arus permukaan dengan menggunakan sensor ultrasonik. Dalam hasil penelitian ini juga disampaikan data pengukuran yang dilakukan pada proses pengujian sensor hingga pengujian alat skala laboratorium. Pengujian yang dilakukan menunjukkan kemampuan alat dalam mengukur perubahan arus dengan diikuti perubahan arah berdasarkan kuadran berjalan dengan baik. Proses pengiriman data dari unit mekanik ke perangkat lunak juga berjalan dengan baik dan cepat, sehingga dapat diketahui perubahan pada saat alat diaktifkan.
4.1 Desain Desain yang dipergunakan sebagai panduan alat ini adalah desain grafis yang dibuat menjadi cetak biru (blue print). Adapun desain yang dirancang dapat dilihat pada Gambar 18. Desain dari ACM01 hanya memiliki satu bagian yaitu unit kompartemen elektronik yang tergabung menjadi satu perangkat. Pada unit kompartemen elektronik ini peletakan sensor memiliki sudut kemiringan dan jarak yang sama. Konsep ini mengadopsi bentuk dari ADCP yang telah berkembang sebelumnya.
29
30
11,7 cm
14.5 cm 23.5 cm
16 cm
Gambar 18. Rancangan Desain 3D ACM01 Bagian sensor ini menjorok ke arah menjauhi titik tengah dari lingkaran dengan jarak yang sama untuk setiap sensor terhadap titik tengah (Gambar 19). Hal ini dimaksudkan agar perubahan nilai yang didapat lebih akurat dan presisi.
D = 3 cm DT = 15.2 cm
Gambar 19. Bagian Muka Sensor ACM01 Kemiringan serta letak sensor yang sama menghasilkan perubahan yang sama tegak lurus terhadap objek (gelombang arus permukaan) yang dikeluarkan dalam bentuk jarak. Perubahan ini diproses kemudian dipasang berdasarkan nilai jarak dari setiap sensornya.
31
Berikut rancangan kompartemen elektronik dari ACM01 (Gambar 20). Kompartemen ini dirancang berbentuk tabung yang cenderung membesar pada bagian sensornya. Hal ini guna memperoleh kemiringan serta jarak yang lebih proposional. Mikrokontroler ATmega 32
Modul Mikrokontroler
PORT C
Input Daya (5v atau 9v)
Gambar 20. Tata letak kompartemen ACM01 Mikrokontroler dipisahkan dengan sekat pembatas, hal ini guna memberikan tegakan yang baik untuk tiang penyangga sensor SRF02. Kemiringan sudut sebesar 10o ini ditentukan oleh tiang penyangga serta posisi sensor mewakili setiap kuadrannya. Penempatan ini dilakukan untuk memudahkan dalam proses penentuan posisi dan arah arus permukaan.
32
Konektor
Rangka luar
Saklar
Mikrokontroler
Modul SRF02
Gambar 21. Bentuk 3D ACM01 serta penempatan kompartemen elektronik Proses penggabungan rangka dan kompartemen elektronik (Gambar 21) merupakan hasil akhir dari alat ACM01 ini. Terlihat bahwa mikrokontroler Atmega 32 berada pada bagian tengah alat, hal ini untuk mempermudah pengaturan atau proses perubahan program jika dimungkinkan. Selain itu bagian tengah juga dilengkapi dengan baterai untuk menunjang energi pada ACM01 ini. Pada bagian atas, terlihat bahwa ACM01 ini dilengkapi dengan saklar dan konektor. Bagian bawah, dilengkapi dengan modul sensor SRF02 sebanyak 4 buah, keseluruhan dari kompartemen dihubungkan oleh kabel sehingga mempermudah kinerja dari alat yang dikembangkan.
4.2 Perangkat Keras Pembuatan seluruh perangkat keras menghasilkan ACM berbobot 1kg dengan dimensi yang kompak. Berikut penjabaran hasil pembuatan perangkat keras yang telah dilakukan.
33
Unit ACM01 ini hanya terdiri dari satu kompartemen yang saling terhubung. Kompartemen ini disebut unit mekanik ACM01. Perangkat unit mekanik terdapat kabel yang berfungsi sebagai distribusi tegangan serta transmit data menuju hyperterminal. Bentuk ACM01 yang dimaksud dapat dilihat pada Gambar 22. Penempatan
Gambar 22. Unit ACM01 sensor terdapat pada bagial muka atas kompartemen, namun modul mikrokontroler tidak terlihat jelas pada Gambar 22. Posisi unit modul sensor ini dapat terlihat dalam Gambar 23. Peletakan unit sensor ini merupakan bagian terpenting dalam pengambilan data. Sensor akan mendeteksi jarak dari objek yang bergerak dengan perubahannya yang diterima oleh masing-masing sensor. Perubahan nilai ini akan diolah menjadi kecepatan.
34
Gambar 23. Letak Modul Sensor SRF02
4.3 Perangkat Lunak Penyusunan perangkat lunak adalah sebanyak dua bagian pemrograman, yakni pemrograman registrasi alamat I2C sensor dan pemrograman mikrokontroler ATmega 32. Masing-masing memiliki fungsi berdasarkan spesifikasi komponen penyusunnya.
4.3.1 Program registrasi modul sensor SRF02 Program registrasi modul sensor SRF02 ini disesuaikan spesifikasi modul sensor SRF02 dan mikrokontroler ATmega32. Hal ini dilakukan untuk memisahkan alamat yang digunakan untuk setiap sensornya. Inisialisasi dan konfigurasi mikrokontroler dilakukan pada saat memulai pemograman. Hal ini sangat penting dilakukan dan harus benar-benar tepat agar program dapat berjalan sesuai dengan harapan sebelum diunduh kedalam mikrokontroler dan sensor. Inisialisasi ini meliputi jenis mikrokontroler yang
35
digunakan, serta beberapa fitur yang digunakan seperti library dan juga definisi port yang digunakan. #include <mega32a.h> #include <delay.h> Penggunaan Code Vision AVR C ini diawali dengan penulisan header #include. #include <mega32a.h> digunakan sebagai deklarasi jenis mikrokontroler yang akan digunakan, dalam hal ini ATmega 32. Selanjutnya #include <delay.h> membantu dalam penentuan jeda pemrosesan data oleh mikrokontroler. Kode program yang dipergunakan dalam memproses registrasi sensor adalah sebagai berikut : tulis_SRF2(0Xe0,0,0xa0); tulis_SRF2(0Xe0,0,0xaa); tulis_SRF2(0Xe0,0,0xa5); tulis_SRF2(0Xe0,0,0xe0); tulis_SRF2(0xe0,0,81); while(1) tulis_SRF2(0xe0,0,81); delay_ms(100); code “tulis_SRF02” merupakan langkah-langkah yang perlu dilakukan dalam merubah alamat SRF02. “0Xe0” merupakan kode alamat yang akan digunakan yaitu e0 sebagai kode keluaran dari salah satu sensor, sedangkan “81” merupakan alamat I2C dari sensor yang akan digunakan.
4.3.2 Program Mikrokontroler Program mikrokontroler terdiri dari beberapa bagian. Bagian pertama yang harus ada adalah inisialisasi library yang digunakan seperti #include <mega32a.h>, #include <delay.h>, dan #include
.
36
Pada inisialisasi komunikasi I2C disertakan juga pin yang digunakan untuk SDA dan SCL yaitu PINC.0 sebagai SCL dan PINC.1 sebagai SDA. SDA merupakan pin untuk data masuk dan keluar, sedangkan SCL merupakan sarana pengatur clock dalam perangkat mikrokontroler. Fungsi tulis_SRF02 digunakan untuk memerintah SRF02 melakukan ping. Fungsi ini menggunakan protokol komunikasi I2C. perintahnya sebagai berikut: void tulis_SRF02 (unsigned char SRF02_ADDRESS,unsigned char alamat, unsigned char data) { i2c_start(); i2c_write(SRF02_ADDRESS); i2c_write(alamat); i2c_write(data); i2c_stop(); } Fungsi void digunakan karena tidak membutuhkan nilai keluaran yang digunakan dalam program utama. Fungsi ini membutuhkan 3 input dengan nama variabelnya yaitu SRF02_ADDRESS, alamat, dan data. Tipe data dari ketiga variabel ini sama. Langkah pertama dalam komunikasi I2c adalah i2c_start(). Kode ini digunakan utnuk menandakan bahwa komunikasi dimulai. Kemudian perintah “i2c_write(SRF02_ADDRESS)”digunakan untuk menuliskan register yang diinginkan ke sensor SRF02. “i2c_write(alamat)” digunakan untuk menuliskan alamat yang ingin diakses. “i2c_write(data)” digunakan untuk mengambil tipe data yang diinginkan. “i2c_stop” digunakan untuk mengakhiri komunikasi i2c. Fungsi int baca_SRF02 digunakan untuk mengambil data yang telah disimpan oleh SRF02. Fungsinya sebagai berikut:
37
int baca_SRF02 (unsigned char SRF02_ADDRESS,unsigned char alamat) { int data; i2c_start(); i2c_write(SRF02_ADDRESS); i2c_write(alamat); i2c_start(); i2c_write(SRF02_ADDRESS | 1); data=i2c_read(0); I2c_stop(); return data;} Fungsi ini memerlukan dua input. Fungsi ini memberikan keluaran yang akan digunakan pada program utama dengan nama variabel “data”. Komunikasinya mirip dengan void tulis_SRF02. Perbedaannya hanya pada “data=i2c_read(0)”. Perintah ini digunakan untuk mengambil data dari SRF02 tanpa adanya ACK (acknowledgement). Pada program utama, programnya sebagai berikut: tulis_SRF02(0Xe0,0,81); //srf1 tulis_SRF02(0XE6,0,81); tulis_SRF02(0XE4,0,81); //srf3 tulis_SRF02(0XF0,0,81); //srf4 delay_ms(70); data=baca_SRF02(0Xe0,2)<<8; data+=baca_SRF02(0xe0,3); data1=baca_SRF02(0xe6,2)<<8; //srf2 data1+=baca_SRF02(0xe6,3); data2=baca_SRF02(0xe4,2)<<8; data2+=baca_SRF02(0xe4,3); data3=baca_SRF02(0Xf0,2)<<8; data3+=baca_SRF02(0xf0,3); printf("%i %i %i %i\r\n",data,data1,data2,data3); delay_ms(1000); langkah yang dilakukan adalah mengirimkan perintah pada 4 SRF02 untuk melakukan pengukuran. “delay_ms(70)” digunakan untuk memberikan waktu pada SRF02 untuk menyelesaikan pengukuran. Kemudian data ini diambil dan ditampilkan pada computer dengan perintah printf.
38
Pengaksesan 4 SRF02 secara bersama-sama dapat dilakukan karena alamat masing-masing SRF02 berbeda. Alamat pada tiap SRF02 dapat dilihat pada Tabel 5. Tabel 5. Konfigurasi alamat modul SRF02 NO SRF02 ALAMAT 1 0XE0 2 0XE6 3 0XE4 4 OXF0
4.4 Uji coba sensor Pengamatan yang dilakukan dalam mengukur kinerja awal sensor SRF02 terhadap objek yang berpindah dapat dilihat pada Tabel 6 dan Tabel 7. Tabel 6. Nilai sensor diukur dari titik tengah objek Nilai Terdeteksi Pergeseran (α)Sudut (α ) Sudut No (cm) (cm) pengukuran perhitungan 1 91 1 0.6 0.6 2 91 4 2.5 2.5 3 92 6 3.7 3.7 4 93 8 4.9 4.9 5 93 11 6.7 6.7 6 94 13 8 7.9 7 95 15 9 9 Tabel 7. Nilai sensor diukur dari pangkal objek Nilai Terdeteksi Pergeseran (α)Sudut (α ) Sudut No (cm) (cm) pengukuran perhitungan 1 90 0 0 0 2 91 1 0.6 0.6 3 93 2 1.2 1.2 4 94 3 1.8 1.8 5 95 4.5 2.7 2.7
∆ (α) 0 0 0 0 0 0.1 0
∆ (α) 0 0 0 0 0
Pengukuran nilai awal sensor dilakukan untuk menentukan besar maksimum sudut yang akan digunakan pada percobaan selanjutnya. Perbedaan nilai yang
39
didapat disebabkan karena pada Tabel 6 nilai yang didapat menggunakan titik acuan yaitu tepat pada titik keseimbangan objek. Namun untuk nilai selanjutnya didapat dari pengambilan dari ujung objek sehingga terjadi perbadaan nilai dari pergeseran objek. Pengambilan nilai ini masih menggunakan cara manual melalui hyperterminal dalam pengambilan perubahan nilai yang terjadi. Objek tersebut mengalami perlakuan yakni pergeseran secara lurus hingga sensor tidak mendeteksi objek. Adapun nilai sudut yang dapat digunakan hingga 10o. Nilai sudut ini digunakan dalam menentukan kemiringan maksimum sensor dalam merancang ke tahap selanjutnya.
4.5 Uji ACM01 Setelah melakukan proses uji coba sensor, maka tahap selanjutnya yaitu melakukan integrasi komponen dan juga uji alat. Proses uji ACM01 ini dilakukan dengan menggunakan tiga variasi kecepatan yang semakin meningkat pada flume tank. Nilai kecepatan ini disesuaikan dengan tingkatan yang ada pada flume tank yang digunakan (seperti gigi pada sepeda). Langkah awal yang dilakukan adalah persiapan dari insrumen ACM01, hal ini meliputi peletakan instrumen ACM01 dan juga pengukuran tinggi awal dari Flume Tank yang digunakan. Proses ini menghasilkan tinggi pengukuran awal muka air pada Flume Tank sebesar 28 cm yang dideteksi oleh semua sensor. Pengukuran nilai deteksi jarak pada percobaan ini memiliki perbedaan dari setiap variasi level kecepatan yang digunakan. Adapun hasil kecepatan yang diperoleh baik pengukuran maupun perhitungan sesuai dengan Tabel 8.
40
Tabel 8. Hasil perolehan nilai kecepatan pada flume tank V rata-rata hitung (input
Persentase
Vrata-rata Real No
data dari hasil pengukuran
ΔV
Galat
(cm/s) ACM) (cm/s)
(error)
1
18.45
14.45
4
21.7 %
2
24.33
16.39
7.94
32.6 %
3
31.78
25.52
6.26
19.7 %
Nilai rata-rata kecepatan hasil perhitungan keseluruhan nilainya lebih kecil dibandingkan dengan nilai rata-rata kecepatan real (hasil pengukuran manual). Nilai kecepatan real ini digunakan sebagai pembanding dari hasil pengamatan dengan menggunakan ACM01. Hasil yang diperoleh memiliki kolerasi berbanding lurus dengan bertambahnya nilai kecepatan pada flume tank. Perbedaan terbesar terjadi pada nilai kecepatan kedua yaitu sebesar 7.94 cm/s atau 32.6%. Untuk dapat melihat sebaran nilai hasil perhitungan dapat dilihat pada Gambar 24-26. Gambar 24 merupakan hasil dari perhitungan nilai kecepatan pertama. Pada grafik ini garis linear tampak berada pada nilai kecepatan real ratarata. Nilai didominasi pada kisaran 5 dan 10 cm/s.
41
Gambar 24. Grafik hasil pengamatan ACM01 (18,45 cm/det)
Gambar 24. Grafik hasil pengamatan ACM01 (24,33 cm/det)
42
Gambar 25. Grafik hasil pengamatan ACM01 (31,78 cm/det) Pada ketiga grafik ini memiliki nilai hamburan yang berbeda, semakin cepat nilai arus yang digunakan semakin besar nilai sebaran pada grafik. Hal ini dapat disebabkan oleh bentuk gelombang yang dihasilkan semakin banyak interaksinya dan besar dengan peningkatan kecepatan arus pada Flume Tank. yang digunakan. Peningkatan kecepatan arus yang digunakan dapat menyebabkan faktor noise meningkat juga. Selain itu, riak gelombang yang semakin banyak dapat menyebabkan efek doppler pada sensor yang menyebabkan terjadinya nilai deteksi sensor yang semakin besar atau semakin kecil dalam mendeteksi nilai jarak.