Pengembangan sistem monitoring vibrasi pada kipas pendingin menggunakan accelerometer ADXL345 dengan metode FFT berbasis labview
PENGEMBANGAN SISTEM MONITORING VIBRASI
PADA KIPAS PENDINGIN MENGGUNAKAN
ACCELEROMETER ADXL345 DENGAN METODE
FFT BERBASIS LABVIEW
IRMAN SUPRIADI ADISTYA
PROGRAM STUDI FISIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM SYARIF HIDAYATULLAH
JAKARTA
(2)
PENGEMBANGAN SISTEM MONITORING VIBRASI
PADA KIPAS PENDINGIN MENGGUNAKAN
ACCELEROMETER ADXL345 DENGAN METODE
FFT BERBASIS LABVIEW
SKRIPSI
Diajukan Untuk Menempuh Ujian Sarjana
Pada Fakultas Sains dan Teknologi Universitas Islam Syarif Hidayatullah
IRMAN SUPRIADI ADISTYA 1110097000021
PROGRAM STUDI FISIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM SYARIF HIDAYATULLAH
JAKARTA
(3)
iii
LEMBAR PENGESAHAN
PENGEMBANGAN SISTEM MONITORING VIBRASI KIPAS PENDINGIN MENGGUNAKAN ACCELEROMETER ADXL345
DENGAN METODE FFT BERBASIS LABVIEW
Skripsi
Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Sains Fakultas Sains Dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah Jakarta Disusun oleh :
IRMAN SUPRIADI ADISTYA 1110097000021
Menyetujui,
Pembimbing I Pembimbing II
Dr. Agus Budiono, M.T Prabowo Puranto, M.Si NIP :19620220199031002 NIP : 198103122006041002
Mengetahui,
Kepala Prodi Fisika, FST-UIN
Dr. Sutrisno, M.Si NIP : 195902021982031005
(4)
iv
PENGESAHAN UJIAN
Skripsi berjudul “PENGEMBANGAN SISTEM MONITORING VIBRASI KIPAS PENDINGIN MENGGUNAKAN ACCELEROMETER ADXL345 DENGAN METODE FFT BERBASIS LABVIEW” yang ditulis oleh Irman Supriadi Adistya dengan NIM 1110097000021 telah diuji dan dinyatakan lulus dalam sidang Munaqosyah Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta pada tanggal 26 November 2014. Skripsi ini telah diterima sebagai salah satu syarat untuk memperoleh gelar sarjana Strata Satu (S1) Program Studi Fisika.
Jakarta, November 2014
Menyetujui,
Penguji I Penguji II
Elvan Yuniarti, M.Si Ir. Asrul Aziz, DEA NIP : 197912272008012015 NIP : 19510617 198503 1 001 Pembimbing I Pembimbing II
Dr. Agus Budiono, M.T Prabowo Puranto, M.Si NIP :19620220199031002 NIP : 198103122006041002
Mengetahui,
Dekan Fakultas Sains Dan Teknologi Kepala Program Studi Fisika
Dr. Agus Salim, M.Si Dr.Sutrisno, M.Si NIP : 19720816199903 1 003 NIP :19590202 198203 1 005
(5)
v
LEMBAR PERNYATAAN
DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI ADALAH BENAR HASIL KARYA SAYA SENDIRI, BUKAN JIPLAKAN DARI KARYA ORANG LAIN, KECUALI BEBERAPA PENDAPAT ATAU KUTIPAN ORANG LAIN YANG SAYA SEBUTKAN MASING-MASING SUMBERNYA.
Jakarta, November 2014
(6)
vi PENGEMBANGAN SISTEM MONITORING VIBRASI PADA KIPAS
PENDINGIN MENGGUNAKAN ACCELEROMETER ADXL345 DENGAN METODE FFT BERBASIS LABVIEW
ABSTRAK
Telah dilakukan pengembangan sistem monitoring vibrasi kipas pendingin menggunakan accelerometer ADXL345 dengan metode FFT berbasis LabVIEW. Pengukuran vibrasi pada kipas akan berguna untuk mengurangi resiko kerusakan lebih lanjut pada mesin karena overheat . Accelerometer digunakan untuk mengukur vibrasi pada kipas pendingin. Sensor akan membaca getaran pada kipas pendingin pada sumbu z . Accelerometer dirancang dengan menggunakan Arduino UNO R3 yang didalamnya terdapat mikrokontroler ATMEGA 328P menggunakan komunikasi data Integrated Inter Circuit (I2C) sebagai penghubung komunikasi antara sensor dan Notebook. Untuk menampilkan hasil pengukuran dari accelerometer digunakan software LabVIEW yang akan menampilkan grafik serta tabel data pengukuran disertai pula indikator kerusakan dalam bentuk LED dan status kerusakan pada tampilan program LabVIEW dengan menghubungkan sensor pada notebook. Data hasil pengukuran menunjukan bahwa nilai frekuensi pada kipas normal memiliki nilai yang lebih stabil dibandingkan dengan nilai frekuensi pada kipas dengan diberikan gangguan. Dari hasil pengujian didapat frekuensi untuk kipas pertama 16 – 33Hz, dan kipas kedua 253 – 298Hz. Batas nilai terebut didapat setelah dihitung standar deviasinya. Berdasarkan hasil pengujian ini maka sistem ini dapat digunakan menjadi sistem monitoring vibrasi. Kata kunci : MEMS, Accelerometer, vibrasi, FFT, LabVIEW, I2C
(7)
vii PENGEMBANGAN SISTEM MONITORING VIBRASI PADA KIPAS
PENDINGIN MENGGUNAKAN ACCELEROMETER ADXL345 DENGAN METODE FFT BERBASIS LABVIEW
ABSTRACT
Has been developed vibration monitoring system for cooling fan using the ADXL345 accelerometer with FFT method based on LabVIEW. Vibration measurement on the cooling fan would be useful to reduce the risk of damage the engine due to everheating. Accelerometer is used to measure the vibration of the cooling fan. Sensor would detected vibration from the cooling fan in z axis. Accelerometer designed using Arduino UNO R3 which there ATMEGA 328P microcontroller using data communication Inter Integrated Circuit (I2C) as a communication link between the sensor and the Notebook. To display the measurement results of the accelerometer used LabVIEW software that will display the graphs and data tables accompanied measurement indicator of damage in the form of damage to the LED and status display LabVIEW program by connecting the sensor to the notebook.Measurement data shows that the value of the frequency in the normal fan has a value that is more stable than the value of the frequency of the fan with a given disorder. From the test results obtained for the frequency of the first fan 16 - 33Hz, and the second fan 253 - 298Hz.Limit the value obtained after a standard deviation calculated. Based on these test results, the system can be used as vibration monitoring system.
(8)
viii
KATA PENGANTAR
Bismillahirrahmaanirrahiim,
Puji dan syukur penulis panjatkan ke hadirat Allah SWT yang telah memberikan karunia dan rahmat-Nya, serta shalawat dan salam diberikan pada Nabi Muhammad SAW sehingga dapat memberikan kekuatan lahir dan batin kepada penulis dalam menyelesaikan skripsi yang berjudul :“Pengembangan Sistem Monitoring Vibrasi Pada Kipas Pendingin Menggunakan Accelerometer ADXL345 Dengan Metode FFT Berbasis LabVIEW”. Skripsi ini disusun sebagai salah satu syarat untuk menempuh ujian sarjana di Prodi Fisika Fakultas Sains dan Teknologi.
Dalam hal ini, penulis telah mendapat bantuan dari berbagai pihak berupa materil, moril, tenaga, dan saran mulai dari proses penyusunan proposal, pelaksanaan penelitian, sampai dengan proses penyusunan skripsi ini. Oleh karena itu, dengan segala rasa hormat penulis menyampaikan rasa terima kasih dan penghargaan kepada :
1. Bapak Prabowo Puranto M.Si. selaku pembimbing di lapangan selama penelitian skripsi ini berlangsung.
2. Bapak Dr. Agus Budiono selaku dosen pembimbing yang selalu memberikan motivasi, nasehat, ide, diskusi, serta bimbingannya yang diberikan kepada penulis.
3. Bapak Dr. Agus Salim M.Si selaku Dekan Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah.
4. Ibu Elvan Yuniarti, M.Si dan Bapak Ir. Asrul Aziz DEA selaku penguji dalam ujian skripsi.
5. Seluruh staf dosen Prodi Fisika Universitas Islam Negeri Syarif Hidayatullah Jakarta, Pak Arif, Pak Sutrisno Pak Edi, Ibu Riri, Ibu Tati, Pak Asrul, Pak Ambran, Pak Oki, Pak Agus, Ibu Nunung, Pak Wahyudi dan Pak Pri. Terima kasih atas ilmu yang telah diberikan.
6. Sahabat seperjuangan selama penelitian berlangsung Muhammad Andri, Bangun Budiono, Nur Taufik Zamari, Abdurachman Aziz Akbar , Hadi
(9)
ix Kusumo dan juga terkhusus untuk Rahma Dwi Prastya yang secara tidak langsung telah memberikan semangat pada penulis juga kepada Seluruh teman Fisika 2010, Kevin, Febri, Dewo, Fajar, Ocky, Fatur, Deden, Akbar, Mamduh, Rino, Nurul, Erlita, Fitria, Anisa, Desti, Aprianti, Izza, Putri, Rani dan Agung.
7. Peneliti LIPI Pak Dwi Hanto, Pak Suryadi, Pak Hendra,dan Mas Yayan 8. Kepada teman-teman komunitas, Ai Munawaroh, Erick, David, Ibni serta
teman-teman JFUIN, UIN48, KASKUSJKT8, IndoBarca, Way‟s Lab, yang telah memberikan semangat kepada penulis.
9. Seluruh pihak yang tidak dapat disebutkan satu persatu. Terima kasih atas bantuan dan dukungannya
Terlebih lagi penulis memberikan rasa terimakasih yang begitu besar kepada kedua orang tua tercinta (Alm.)Adid Sunardi dan Uti Sayuti, karna telah memberikan segala bentuk apresiasi, perhatian dan dukungan serta kasih sayang yang sangat besar sehingga penulis bisa menyelesaikan skripsi ini dengan baik.Terima kasih juga diberikan kepada kakak tercinta Aang Krisna Yudia beserta keluarga karna berkat motivasi mereka sehingga penulis termotivasi untuk menyelesaikan skripsi ini.
Akhir kata, semoga semua bantuan dari semua pihak yang diberikan kepada penulis mendapat balasan yang berlipat ganda dari Allah SWT.Penulis juga berharap agar penelitian ini dapat bermanfaat bagi semua pihak serta berniai ibadah di sisi Allah SWT. Amin
Jakarta, November 2014
Penulis
(10)
x
DAFTAR ISI
LEMBAR PENGESAHAN ... iii
PENGESAHAN UJIAN ... iv
LEMBAR PERNYATAAN ... v
ABSTRAK ... vi
ABSTRACT ... vii
KATA PENGANTAR ... viii
DAFTAR ISI ... x
DAFTAR TABEL ... xiii
DAFTAR LAMPIRAN ... xvi
BAB I ... 1
PENDAHULUAN ... 1
1.1. LATAR BELAKANG ... 1
1.2. PERUMUSAN MASALAH ... 3
1.3. TUJUAN PENELITIAN ... 3
1.4. BATASAN MASALAH ... 4
1.5. MANFAAT PENELITIAN ... 4
1.6. SISTEMATIKA PENULISAN ... 5
BAB II ... 6
DASAR TEORI ... 6
2.1. GETARAN ... 6
2.2. ACCELEROMETER ... 10
2.2.1. Pengertian MEMS Accelerometer ... 10
2.2.2. Prinsip Kerja Accelerometer ... 11
2.2.3. Accelerometer ADXL345 ... 14
2.3. FAST FOURIER TRANSFORM (FFT) ... 18
2.4. MIKROKONTROLLER ... 19
2.4.1. Arduino UNO ... 21
2.4.2. Spesifikasi Atmega 328P ... 32
(11)
xi
2.5.1. I2C ... 35
2.6. LABVIEW2011 ... 39
2.7. ARDUINO IDE1.0.5 ... 46
BAB III ... 49
METODOLOGI PENELITIAN ... 49
3.1. WAKTU DAN TEMPAT PENELITIAN ... 49
3.2. ALAT DAN BAHAN ... 49
3.3. TAHAPAN PENELITIAN ... 50
3.3.1. Perancangan sensor vibrasi dengan ADXL345 ... 51
3.3.2. Perancangan Program Aplikasi ... 53
3.3.2.1. Pembuatan Program pada Arduino IDE ... 53
3.3.2.2. Perancangan dan Pembuatan program pada LabVIEW ... 55
3.4. CARA KERJA PENELITIAN ... 62
BAB IV ... 67
HASIL DAN PEMBAHASAN ... 67
4.1. HASIL PERANCANGAN DAN PEMBUATAN SISTEM MONITORING VIBRASI PADA KIPAS PENDINGIN ... 67
4.2. PENGUJIAN PROGRAM APLIKASI ... 69
4.2.1. Arduino IDE ... 69
4.2.2. LabVIEW 2011 ... 74
4.3. HASIL PENGUKURAN VIBRASI PADA KIPAS PENDINGIN ... 78
4.3.1. Hasil Pengukuran Kipas Pertama ... 78
4.3.1.1. Keadaan Normal ... 78
4.3.1.2. Keadaan Rusak... 83
4.3.2. Hasil Pengukuran Kipas Kedua ... 87
4.3.2.1. Keadaan Normal ... 87
4.3.2.2. Keadaan Rusak... 91
BAB V ... 95
PENUTUP ... 95
(12)
xii 5.2. SARAN ... 95 DAFTAR PUSTAKA ... 97 LAMPIRAN 1 ... 99
(13)
xiii
DAFTAR TABEL
Tabel II.1. Deskripsi Pin Accelerometer ADXL 345 ... 17
Tabel II.2. Deskripsi Pin Arduino UNO ... 24
Tabel II.3. Tools Pada Arduino ... 48
Tabel III.1. Function pada Block Diagram Penelitian ... 58
Tabel III.2. Control pada Front Panel Penelitian ... 61
Tabel IV.1. Nilai Frekuensi pada Kipas Uji 1 Keadaan Normal ... 80
Tabel IV.2. Nilai Frekuensi pada Kipas Uji 1 Keadaan Rusak ... 85
Tabel IV.3. Nilai Frekuensi pada Kipas Uji 2 Keadaan Normal ... 87
Tabel IV.4. Nilai Frekuensi pada Kipas Uji 2 Keadaan Rusak ... 92
(14)
xiv
DAFTAR GAMBAR
Gambar II.1. Karakteristik Getaran ... 7
Gambar II.2. Prinsip Kerja Accelerometer ... 12
Gambar II.3 Accelerometer ADXL 345 Tripple Axis ... 16
Gambar II.4. Sumbu Pada ADXL 345 ... 17
Gambar II.5. Orientasi gravitasi dan respon output ... 18
Gambar II.6. Arduino UNO ... 23
Gambar II.7. Deskripsi Arduino UNO dan skematik Arduno UNO ... 23
Gambar II.8. Deskripsi pin ATmega 328P... 33
Gambar II.9. Kondisi sinyal Start dan Stop ... 36
Gambar II.10. Sinyal ACK dan NACK ... 37
Gambar II.11. Transfer Bit pada I2C bus ... 37
Gambar II.12 Front Panel ... 41
Gambar II.13. Block diagram... 42
Gambar II.14. Function palette ... 44
Gambar II.15. Control palette ... 45
Gambar II.16. Halaman arduino IDE ... 46
Gambar III.1. Rancangan hardware penelitian ... 52
Gambar III.2. Diagram alir pembuatan program dengan Arduino IDE ... 55
Gambar III.3. Dagram alir kerja software LabVIEW ... 57
Gambar III.4. Diagram blok cara kerja penelitian ... 63
Gambar III.5. Diagram Alir Penelitian ... 66
Gambar IV.1. Sistem sensor vibrasi ... 67
Gambar IV.2. Tools Option ... 72
Gambar IV.3. Hasil compile pada arduino IDE ... 73
Gambar IV.4. Pengujian pada serial monitor ... 74
Gambar IV.5. Hasil block diagram pada LabVIEW ... 76
Gambar IV.6. Hasil Front Panel pada LabVIEW ... 78
Gambar IV.7. Tampilan front panel pada kipas pertama dalam keadaan normal . 79 Gambar IV.8. Analisa Grafik FFT hasil pengukuran kipas 1 keadaan normal ... 81
(15)
xv
Gambar IV.9. proses pengujian pertama ... 82
Gambar IV.10. kipas pendingin pertama ... 83
Gambar IV.11. kipas pertama diberi gangguan ... 83
Gambar IV.12. hasil pengukuran vibrasi pada kipas pertama rusak ... 84
Gambar IV.13. Analisa Grafik FFT hasil pengukuran kipas 1 keadaan rusak ... 86
Gambar IV.14. Analisa Grafik FFT hasil pengukuran kipas 2 keadaan normal ... 88
Gambar IV.15. proses pengujian kedua ... 89
Gambar IV.16. kipas pendingin kedua ... 90
Gambar IV.17. Tampilan front panel pada kipas kedua dalam keadaan normal .. 90
Gambar IV.18. Kipas kedua diberikan gangguan ... 91
Gambar IV.19. hasil pengukuran vibrasi pada kipas kedua rusak ... 91
(16)
xvi
DAFTAR LAMPIRAN
Lampiran 1 Datasheet ADXL345
Lampiran 2 Datasheet Mikrokontroller ATMega 328P Lampiran 3 Listring Program pada Arduino IDE
Lampiran 4 Block Diagram dan Front Panel pada LabVIEW Lampiran 5 Spesifikasi Kipas Uji
(17)
1
BAB I
PENDAHULUAN
1.1. Latar Belakang
Sistem pendingin merupakan suatu sistem yang berfungsi untuk menjaga suhu tempratur pada mesin dalam kondisi yang stabil dan ideal untuk beroperasi. Sistem pendinginan ini cukup penting dan perlu dibuat. Bila suatu mesin tidak diberikan mesin pendingin maka mesin tersebut akan mengalami panas yang berlebihan (overheating) dan dapat mengakibatan berbagai macam gangguan pada mesin yang mengakibatkan turunnya kinerja mesin bahkan pada dampak terparah dapat mengakibatkan kerusakan.
Gangguan serta kerusakan yang terjadi bisa menyerang komponen karena terjadi pemuaian akibat panas yang berlebih sehingga mengakibatkan ruang antar komponen menyempit. Tegangan termal juga dapat terjadi karena panas yang berlebih, tegangan termal dihasilkan karena perubahan suhu. Pelumas yang terdapat pada mesin juga dapat dengan mudah rusak oleh panas yang berlebihan, pada suhu tertentu pelumas akan berubah menjadi karbon yang dapat mengakibatkan mesin menjadi macet. Pada suhu yang semakin panas lagi pelumas berubah menjadi warna hitam yang menandakan turunnya kualitas pelumas sehingga mesin menjadi macet.
Mesin – mesin besar ataupun kecil yang terdapat pada dunia industri mengubah energi listrik atau pembakaran menjadi energi mekanik. Mesin bukanlah instrumentasi dengan efisiensi yang sempurna, panas hasil pembakaran
(18)
2 tidak sepenuhnya terkonversi menjadi energi gerak, sebagian terbuang melalui saluran pembuangan dan sebagian terserap oleh komponen mesin didalamnya. Proses pembakaran yang berlangsung terus menerus mengakibatkan mesin dalam kondisi tempratur yang sangat tinggi, yang dapat berbahaya bagi mesin itu sendiri maupun faktor keamanan dari operator mesin tersebut, maka dari itu sistem pendinginan dibutuhkan untuk menjaga mesin agar berada pada tempratur yang ideal untuk bekerja.
Prinsip yang ada pada sistem pendingin adalah melepaskan panas dari mesin ke udara dan memberikan udara dingin dari luar ke mesin sehingga terjadi sirkulasi udara dalam mesin. Sistem pendingin ada yang menggunakan air dan udara. Untuk sistem pendingin air biasanya memiliki kontruksi yang lebih rumit namun relative aman dan dapat meredam bunyi yang berlebihan pada mesin. Sitem pendingin udara mengambil langsung udara luar yang tempraturnya lebih rendah. Pada sistem pendingin udara ini memiliki keuntungan yaitu kontruksi yang lebih sederhana, namun disisi lain kekurangannya pendinginan tidak merata dan suara mesin menjadi lebih keras karena adanya getaran dari kipas. Sistem pendinginan udara biasanya diguakan pada skala kecil seperti ruang kontrol mesin sedangkan untuk sistem pendingin air biasanya terdapat pada gedung besar seperti mall dan perkantoran.
Kedua sistem pendingin diatas sebenarnya sama-sama menggunakan komponen kipas untuk pendinginannya, maka dari itu perawatan dan monitoring dilakukan pada kipas , kipas ini akan menimbulkan getaran dan getaran itulah yang akan dipantau. Kerusakan pada suatu kipas dapat dianalisa dengan analisa
(19)
3 vibrasi menggunakan metode FFT untuk mengetahui frekuensinya. Perawatan dengan monitoring ini dapat dilakukan tanpa mengganggu jalannya operasi mesin tersebut, perawatan seperti ini disebut perwatan prediktif. Vibrasi pada mesin mesin di industri juga berpengaruh terhadap performa mesin, terutama pada mesin-mesin yang berputar. Di industri sekarang ini vibrasi pada mesin digunakan sebagai dasar dari perawatan untuk menjaga performa mesin tetap maksimal. Maka dari itu sangat penting untuk dilakukan monitoring pada mesin yang ada dengan mengamati getaran yang terjadi pada setiap mesin yang berputar dengan suatu sensor vibrasi dan interface untuk mengetahui getaran yang terjadi.
1.2. Perumusan Masalah
Berdasarkan latar belakang yang telah dijelaskan, maka dapat ditarik sebuah permasalahan dalam penelitian ini yaitu
1. Bagaimana pengembangan dan pembuatan aplikasi sensor accelerometer ADXL345 berbasis LabVIEW sebagai alat untuk menganalisa frekuensi getaran pada kipas ?
2. Bagaimana cara mengukur dan menganalisa getaran pada kipas dengan menggunakan sensor accelerometer ADXL345 dengan metode FFT ?
1.3. Tujuan Penelitian
Tujuan dari penelitian ini ialah sebagai berikut :
1. Mengembangkan dan membuat aplikasi sensor accelerometer ADXL345 berbasis LabVIEW sebagai alat analisa getaran pada kipas pendingin
(20)
4 2. Menganalisis frekuensi getaran pada kipas dengan menggunakan sensor
accelerometer ADXL345 menggunakan metode FFT.
1.4. Batasan Masalah
Dalam penelitian ini dilakukan pembatasan-pembatasan masalah agar lebih terarah dalam membahasnya, antara lain :
1. Menggunakan sensor accelerometer ADXL345 dalam menganalisa getaran pada kipas angin
2. Melakukan pengambilan data akselerasi getaran pada kipas dengan accelerometer ADXL345 pada sumbu z .
3. Melakukan pengambilan data dengan 2 buah kipas angin yaitu kipas dengan kondisi yang masih baik dan kipas yang diberi hambatan pada putarannya.
4. Melakukan perbandingan pengambilan data pada jumlah yang sama.
1.5. Manfaat Penelitian
Manfaat yang didapat dari penelitian ini ialah :
1. Mengetahui nilai frekuensi getaran pada kipas dengan menggunakan accelerometer ADXL345.
2. Meningkatkan pengetahuan dalam pemanfaatan software LabVIEW. 3. Aplikasi accelerometer dalam pengukuran getaran pada kipas guna
mengetahui adanya kerusakan untuk menghindari kerusakan yang lebih parah
(21)
5 4. Dapat bermanfaat pada industry atau pabrik untuk memantau kondisi
sistem kipas pendingin pada suatu mesin.
1.6. Sistematika Penulisan
Sistem penulisan yang digunakan dalam penulisan hasil penelitian ini ialah sebagai berikut :
BAB I Pendahuluan
Berisi mengenai latar belakang penelitian, tujuan penelitian, batasan masalah, manfaat penelitian dan sistematika penulisan.
BAB II Dasar Teori
Berisi mengenai landasan teori dasar dan pendukung serta pengenalan terhadap penghubung seluruh kegiatan penelitian baik hardware maupun software.
BAB III Metodologi Penelitian
Berisi mengenai tahap-tahap penelitian dan keseluruhan sistem kerja dari proses pengambilan data pada kipas hingga visualisasi data pengukuran. BAB IV Pembahasan dan analisa data
Pada bab ini dibahas mengenai hasil pengukuran dari sensor accelerometer ADXL345 terhadap getaran pada kipas , serta analisa dengan FFT dari hasil visualisasi data pengukuran menggunakan LabVIEW 2011.
BAB V Penutup
Bab ini berisi kesimpulan dari penelitian yang telah dilakukan serta saran untuk penelitian yang bisa dikembangkan dari penelitian ini.
(22)
6
BAB II
DASAR TEORI
2.1. Getaran
Getaran merupakan gerakan teratur suatu benda bolak-balik dari posisi diam atau seimbang. Getaran juga dapat diartikan sebagai gerakan osilasi terhadap suatu titik yang disebabkan oleh getaran yang berada di udara ataupun getaran yang bersifat mekanis yang berasal dari berbagai mesin mekanis yang sedang beroperasi baik berotasi ataupun bertranslasi.
Getaran juga memilki 3 ukuran yang dijadikan sebagai parameter dari pengukuran suatu getaran. Ketiga parameter itu ialah sebagai berikut :
1. Amplitudo
Amplitudo juga diartikan sebagai jarak atau simpangan terjauh dari titik keseimbangan dalam sinusoidal. Amplitudo ialah nilai besar sinyal vibrasi yang dihasilkan dari pengukuran vibrasi yang menunjukan besar gangguan atau vibrasi yang terjadi. Makin besar amplitudo maka makin besar getaran atau gangguan pada suatu benda atau media.
2. Frekuensi
Frekuensi yaitu banyaknya jumlah getaran gelombang dalam satu putaran waktu. Frekuensi dari pengukuran vibrasi dapat mengartikan jenis gangguan yang terjadi. Frekuaensi juga biasanya ditunjukan dalam satuan hertz (Hz)
(23)
7 Phase merupakan penggambaran akhir dari karakteristik suatu getaran atau vibrasi pada suatu benda atau mesin yang sedang bekerja. Phase merupakan perpindahan posisi dari bagian-bagian yang bergetar secara relative untuk menentukan titik referensi atau titik awal pada bagian lain yang bergetar.(?)
Karakteristik getaran digunakan untuk mengetahui masalah dari pengukuran getaran suatu benda atau media sepert pada Gambar II.1.
Gambar II.1. Karakteristik Getaran Karakteristik getaran tersebut ialah sebagai berikut : 1. Frekuensi getaran
Frekuensi dalam getaran selalu berhubungan dengan amplitudo. Dinyatakan dalam persamaan :
(24)
8 F = 1/T
Dimana F ialah frekuensi dan T ialah Periode. 2. Perpindahan Getaran
Perpindahan getaran memiliki pengertian jarak yang ditempuh dari suatu puncak ke puncak lainnya atau biasa disebut peak to peak displacement. Micron (µm) atau mils digunakan untuk menyatakan perpindahan getaran.
3. Kecepatan Getaran
Kecepatan getaran merupakan kecepatan suatu benda saat mengalami satu getaran. Satuan yang biasa digunakan unuk menyatakan kecepatan getaran ialah mm/det ( peak ).
4. Percepatan Getaran.
Secara umum percepatan merupakan perubahan dari kecepatan. Percepatan dinyatakan dalam satuan g, dimana g merupakan percepatan yang disebabkan oleh grafitasi permukaan bumi. Dan nilai satuan internasional untuk satu g permukaan bumi ialah 9,8 m/s2.
5. Phase Getaran
Phase getaran akan memberikan informasi benda atau bagian yang bergetar relative terhadap benda atau bagian lain yang bergetar dengan frekuensi yang sama dan salah satunya dijadikan sebagai referensi.
Suatu sistem dinamakan begerak periodik jika sistem tersebut bergerak berulang-ulang dengan gerakan yang sama untu interval waktu yang sama, waktu
(25)
9 minimum yang dibutuhkan untuk mengulang gerakan yang sama dinamakan periode T. dengan kata lain, periode T adalah waktu yang dibutuhkan untuk menyelesaikan suatu getaran atau gerakkan dalam satu siklus.
Suatu sistem dinamik dapat diatur sedemikian dengan kondisi awal, yaitu suatu gangguan yang diberikan pada waktu t = 0. Jika tidak ada lagi gangguan atau gaya eksitasi (gaya rangsang) setelah waktu t = 0 maka gerak osilasi sistem tersebut akan mengalami getaran bebas.
Secara sederhana getaran merupakan gerakan bolak-balik dari mesin atau bagian-bagian (komponen) dari keadaan diam. Dari kondisi mesin dapat dipelajari adanya masalah mekanis yang dicatat dari karakteristik getaran yang ditimbulkan.
Gerakan yang terjadi dari posisi awal pada batas atas rambatan dan kembali ke posisi netral, sampai pada batas bawah rambatan dan kembali lagi ke posisi netral merupakan satu putaran gerak. Putaran ini yang digunakan untuk mengukur getaran dari sistem, gerakan ini akan berulang dengan putaran yang sama. Gerakan ini disebut getaran periodik dan harmonis, sehingga didapatkan persamaan sinusoidal
X = X0Sin(ωt) ... (1)
X = posisi pada saat waktu t X0 = posisi maksimum
ω = 2.π.f
f = frekuensi (Hz) t = waktu (s)
gerak harmonik sederhana adalah gerak bolak balik suatu benda secara teratur melalui titik keseimbangannya dalam setiap detik secara konstan. Setiap gerakan terjadi secara berulang dalam selang waktu yang sama disebut gerakan
(26)
10 periodik. Jika suatu partikel melakukan gerak periodik dalam lintasan yang sama maka disebut sebagai getaran atau osilasi. (William., 1993)
2.2. Accelerometer
2.2.1. Pengertian MEMS Accelerometer
Micro-Electromechanical Systems ( MEMS ) ialah sebuah teknologi yang sedang berkembang pesat sekarang ini, yang merupakan sebuah instrument yang digunakan untuk menangkap berbagai keperluan fisis dimana sensor – sensor pada saat ini banyak yang menggunakan teknologi berbasis MEMS. Sistem MEMS digunakan dalam beberapa teknologi diantaranya dalam sistem pengendalian, kesehatan, robotik dan banyak hal lainnya.
Accelerometer merupakan sensor yang digunakan untuk mengukur percepatan suatu objek. Accelerometer dapat mengukur suatu percepatan statik, yaitu pengukuran gaya konstan terhadap gravitasi bumi. Accelerometer juga dapat mengukur suatu perceptan dinamik, yaitu pengukuran terhadap objek bergerak atau bergetar.
Pada perkembangan zaman sekarang ini sensor accelerometer ini terdapat pada banyak alat industri maupun elektronik, seperti pada mesin mesin pabrik dan industri berat lainnya, sedangkan pada alat elektronik accelerometer digunakan pada smartphone dan komputer tablet. Pada kendaraan mobil accelerometer digunakan untuk mengeluarkan airbag
apabila terjadi kecelakaan atau benturan keras. Pada laptop accelerometer digunakan untuk melindungi hard drive dari kerusakan atau goncangan,
(27)
11 misalnya laptop terjatuh maka sensor akan menangkap perubahan yang terjadi untuk mengubah hard drive menjadi off . Pada penggunaan lainnya misalnya untuk mengetahui getaran mesin mobil dan bahkan bisa juga digunakan pada instrument musik. Sensor ini akan mengukur perubahan getaran atau gerakan yang terjadi pada sensor.
Akselerasi atau percepatan ini merupakan suatu keadaan yang merubah kecepatan terhadap waktu. Percepatan merupakan kecepatan yang bertambah dalam selang waktu tertentu. Percepatan juga merupak penurunan dari kecepatan yang merupakan besaran vector, maka dari itu percepatan juga dipengaruh oleh arah. Arah yang berubah dalam suatu pergerakan mempengaruhi percepatan dan jika arah tersebut berubah maka akan mempengaruhi jarak dari pergerakannya. (Benny, p. t.thn)
2.2.2. Prinsip Kerja Accelerometer
Prinsip kerja accelerometer yaitu prinsip kerja percepatan. Kebanyakan accelerometer memiliki cara kerja seperti sebuah per dengan benda yang memiliki massa dimana benda tersebut diletakkan pada sistem mekanika acuan. Sehingga prinsip kerja accelerometer yaitu geraknya benda bermassa pada accelerometer yang diakibatkan oleh adanya gaya, sesuai dengan hokum kedua newton.
F = m.a
Dimana F ialah gaya, m berarti massa dari benda, dan a ialah percepatan benda yang terjadi.
(28)
12 Gambar II.2. Prinsip Kerja Accelerometer
Pada sensor accelerometer ini, percepatan getaran yang dihasilkan akan mengakibatkan perubahan kapasitansi. Perubahan kapasitansi inilah yang menjadi hasil pengukuran. Yang selanjutnya akan mengakibatkan perubahan pada tegangan output. Sehingga tegangan inilah yang membaca percepatan yang dipengaruhi oleh gravitasi.
Prinsip kerja lainnya dari accelerometer ini yaitu apabila suatu konduktor digerakkan melalui suatu medan magnet, atau jika suatu medan magnet digerakkan melalui suatu konduktor, maka akan timbul suatu tegangan induksi pada konduktor tersebut. Accelerometer yang diletakkan pada permukaan bumi dapat mendeteksi percepatan 1g (ukuran garavitasi bumi) pada titik vertikalnya, untuk percepatan yang dikarenakan oleh pergerakkan horizontal maka accelerometer akan mengukur percepatannya secara langsung ketika bergerak secara horizontal. Hal ini dikarenakan sesuai dengan tipa dan jenis sensor accelerometer yang digunakan karena setiap sensor memilii spesifikasi yang berbeda tergantung pada perusahaan
(29)
13 pembuatnya. Saat ini hampir semua sensor accelerometer sudah dalam bentuk digital ( bukan dengan sistem mekanik). Adapun tipe – tipe accelerometer adalah sebagai berikut,
1. Capacitive
Lempengan metal pada sensor memproduksi sejumlah kapasitansi, perubahan kapasitansi akan mempengaruhi percepatan
2. Piezoelektrik
Kristal piezoelektrik yang terdapat pada accelerometer jenis ini mengeluarkan tegangan yang selanjutnya dikonversi menjadi percepatan
3. Piezoresistif
Lempengan yang bekerja secara resistan akan berubah sesuai dengan perubahan percepatan
4. Hall effect
Percepatan yang dirubah menjadi sinyal elektrik dengan cara mengukur setiap perubahan pergerakan yang terjadi pada daerah yang terinduksi magnet
5. Magnetoresistive
Perubahan percepatan diketahui berdasarkan resistivitas material karena adanya daerah yang terinduksi magnet
(30)
14 Percepatan dapat diketahui dari lokasi sebuah benda yang dipanaskan dan diukur ketika terjadi percepatan dengan sensor tempratur (Frans, p. t.thn)
2.2.3. Accelerometer ADXL345
ADXL345 merupakan salah satu sensor accelerometer yang menangkap respon berupa kemiringan dan juga getaran. Accelerometer ADXL345 adalah modul sensor gerak/akselerasi dengan 3 sumbu (triple axis acceleration sensor module) yang memiliki resolusi 13-bit (213 = 8194 tingkatan presisi) yang dapat mendeteksi hingga jangkauan 16g (16 x 9,81 m/s2). Aplikasinya mencakup deteksi kemiringan dengan melihat perubahan gaya statik (static gravity acceleration on tilt sensing application) dan percepatan dinamik (dynamic acceleration) yang timbul akibat gerakan atau tumbukan. Dengan resousi tinggi yang dihasilkan (3,9mg/LSB high resolution) yang memungkinkan modul sensor akselerometer ini mendeteksi pergerakan dan inklinasi secara halus.
Sensor accelerometer ini cocok digunakan pada aplikasi portable dan sangat cocok untuk digunakan pada rangkaian mikrokontroler semacam papan pengembang seperti arduino dan mikrokontroler AVR karena akses data yang mudah lewat antarmuka SPI atau I2C. data direpresentasikan secara digital dalam format integer 16-bit.
Modul sensor ini data mendeteksi status aktivitas gerakan (active/inactive) dengan membandingkan percepatan/akselerasi pada sumbu manapun dengan ambang batas sensitivitas yang dapat disesuaikan lewat
(31)
15 kode program. Pada akselerometer ADXL345 juga terdapat pendeteksi ketukan (tap sensing) yang dapat mendeteksi ketukan tunggal maupun ganda pada berbagai arah. Modul sensor akselerometer ADXL345 ini juga dapat mendeteksi gerak jatuh bebas (free fall sensing), fungsi-fungsi tersebut dapat dipetakan secara terpisah pada dua pin interupsi keluaran (interrupt output pins).
Modul sensor akselerometer ADXL345 ini memiliki sistem pengelolaan memori internal 32-bit bertipe antrian FIFO (First In First Out) yang dapat digunakan untuk menyimpan variabel/data temporer hasil pengukuran sehingga mengurangi beban mikrokontroler sehingga menurunkan konsumsi energi pada sistem.
Modul sensor akselerometer ADXL345 ini memiliki sirkuit pengelolaan daya yang baik dimana modul ditempatkan pada moda konsumsi daya yang sangat kecil hingga terdeteksi gerakan yang melewati ambang batas (threshold) tertentu yang mengaktifakn kembali moda normal. Sehingga pembacaan sensor selesai secara otomatis modul dikembalikan ke moda siaga untuk menghemat energi.
Beberapa fitur yang dimiliki oleh ADXL345 triple axis ini ialah sebagai berikut :
1. Menggunakan chip ADXL345 yang diproduksi oleh Analog Devices Inc.
2. Tipe data keluaran sudah berupa digital
(32)
16 4. Jangkauan deteksi dari ±2g hingga ±16g
5. Catu daya 2 volt – 3,6 volt (kompatibel dengan raspberry-Pi, untuk arduino pasokan daya dapat diambil dari pin 3v3)
6. Pin antarmuka toleran terhadap tegangan 5V (dapat dikoneksikan langsung dengan I/O TTL 5V)
7. Suhu operasional -40o sampai 85o C
8. Konsumsi arus rendah yaitu kuarang dari 25 µA pada saat siaga 9. Ukuran modul sensor 27,8 x 16,9 x 11 mm
Berikut adalah gambar penampakan dari Accelerometer ADXL345 triple axis:
Gambar II.3 Accelerometer ADXL 345 Tripple Axis
Setiap pin dari Accelerometer ADXL345 trple axis ini memiliki fungsi yang berbeda-beda, berikut di bawah ini adalah penjelasan dari masing-masing pin tersebut (Anonim, Analog Device)
(33)
17 Tabel II.1. Deskripsi Pin Accelerometer ADXL 345
No. Pin Simbol Tipe Keterangan
1 GND S Ground
2 VCC S Power Supply +3,3V
3 CS I Digunakan untuk komunikasi I2C, yang berfungsi sebagai Chip Select
4 INT 1 O Interupsi keluaran
5 INT2 O Interupsi keluaran
6 SDO O Serial data output, alternatif alamat komunikasi data I2C
7 SDA I Serial data input pada I2C
8 SCL I Merupakan clock pada I2C
(34)
18 Gambar II.5. Orientasi gravitasi dan respon output
2.3. Fast Fourier Transform ( FFT )
Fast Fourier Transform merupakan salah satu bentuk metode analisa yang berguna dalam analisis suatu sinyal yang merubah fungsi domain waktu menjadi domain frekuensi. Secara umum frekuensi diartikan sebagai jumlah gelombang yang terjadi dalam satu detik, secara sederhana frekuensi diartikan sebagai kebalikan dari waktu. Sehingga waktu yang satuannya detik (second) akan menjadi Hertz (1/second) untuk ferkuensi. Sinyal yang diperhatikan dalam analisa dengan FFT ini meliputi sinyal dengan komponen sinusoida. FFT ini juga akan menghasilkan dengan bentuk sinyal dalam domain frekuensi.
Dalam FFT ini sinyal yang berada dalam domain waktu diubah menjadi domain frekuensi. Sehingga sinyal akan dianalisa dengan memperhatikan frekuensi dari sinyal yang dihasilkan. Fast Fourier Transform ( FFT ) memiliki persamaan umum sebagai berikut :
(35)
19
( ) ∫ ( )
... (2) Dimana X(F) merupakan nilai hasil dari transformasi fourier, x (t) ialah nilai atau fungsi sinyal dalam domain waktu, merupakan persamaan bentuk sinyal eksponensial kompleks dengan nilai k = 0, ±1 , ±2,…
FFT pada dasarnya merupakan alih ragam Fourier tapi untuk komponen diskrit. FFT merupakan DFT (discrete fourier transform) yag memiliki jumlah komputasi lebih sedikit disbanding komputasi DFT biasa. DFT akan menghasilkan jumlah komputasi sebesar N2 sedangkan FFT akan menghasilkan jumlah komputasi sebesar (N)log2(N). Perhitungan FFT menggunakan butterfly
Radix-2 menghasilkan jumlah komputasi lebih sedikit yakni (N/2)log2(N). Jumlah
titik dalam ketika menggunakan FFT juga memenuhi syarat 2N .
Implementasi dari FFT antara lain dalam bidang medis, stastistik, pengolahan citra, suara, telekomunikasi dan lain-lain. FFT juga digunakan untuk menentukan frekuensi mana saja yang akan di filter menggunakan lowpass, highpass, bandpass dan bandstiop filter. (Murray, 1986)
2.4. Mikrokontroller
Seiring dari perkembangan zaman kebutuhan manusia akan teknologi kian kompleks, dibutuhkan sebuah teknologi yang serupa komputer namun lebih efisien dan juga terjangkau harganya. Maka sebuah teknologi muncul untuk dapat melengkapi sebuah computer untuk menjalankan sebuah instruksi yang sedehana, mudah dan dengan harga yang terjangkau. Mikrokontroler muncul sebagai solusi tersebut, mikrokontroler merupakan perkembangan dari sebuah komputer
(36)
20 Kebutuhan pasar dan perkembangan teknologi menjadi 2 faktor utama yang membuat mikrokontroler kian dibutuhkan dan diminati. Kebuthan akan perangkat elektronik sebagai alat kontrol dan pemroses data serta kemajuan teknologi pada semikonduktor dan pembuatan chip dengan kemampuan yang tinggi serta murah merupakan penjelasan dari 2 faktor tersebut.
Mikrokontroler adalah sebuah chip yang berfungsi sebagai pengontrol rangkaian elektronik dan umumnya dapat menyimpan program di dalamnya, didalamnya juga terdapat sistem mikroprosessor yang digunakan untuk sistem pengontrolan. Mikrokontroler umumnya terdiri dari CPU (Central Processing Unit), memori, I/O tertentu dan unit pendukung lainnya seperti ADC ( Analog-to-Digital Converter) yang sudah terintegrasi di dalamnya. Namun tidak seperti mikroprosesor pada computer, mikrokontroler ini hanya bisa digunakan untuk suatu aplikasi tertentu saja.
Mikrokontroller juga bekerja sebagai alat yang mengerjakan intruksi – Instruksi yang diberikan pada mikrokontroller tersebut. Oleh karena itu, hal penting dalam mikrokontroller ialah program yang ada didalamnya yang digunakan untuk memberi instruksi-instruksi untuk dijalankan oleh mikrokontroller.
Perangkat elektronik yang menggunakan mikrokontroller dalam sistemnya memiliki beberapa kelebihan yaitu :
1. Membutuhkan daya yang rendah 2. Ukuran yang tentunya lebih kecil
(37)
21 3. Mempunyai kemampuan yang tinggi serta mudah untuk berinteraksi
dengan komponen lain
4. Biaya produksi lebih rendah karena tidak membutuhkan komponen yang banyak.
5. Pembuatan juga tidak memakan waktu yang banyak
6. Terdapat fasilitas tambahan untuk pengembangan memori dan I/O untuk kebutuhan sistem
2.4.1. Arduino UNO
Arduino UNO merupak salah satu keluarga dari anggota mikrokontroler arduino. Sebuah perangkat mini yang dirancang untuk
bekerja sebagai perangkat yang bisa bekerja secara sendiri. Nama “UNO”
berasal dari bahasa Italia yang berarti satu, untuk menandai peluncuran Arduino 1.0. UNO dan versi 1.0 akan menjadi versi referensi dari arduino. UNO adalah yang terbaru dalam serangkaian board USB arduino, dan sebagai model referensi untuk platform arduino.
Arduino adalah board mikrokontroler berbasis ATmega328P. memiliki 14 pin dari output digital dimana 6 pin input tersebut dapat digunakan sebagai output PWM dan 6 pin input analog, 16 Mhz osilator kristal, koneksi USB, jack power, ICSP header, dan tombol reset. Untuk mendukung mikrokontroler agar dapat digunakan cukup hanya menggunakan board arduino UNO ke komputer dengan menggunakan kabel USB atau listrik AC ke adaptor DC atau menggunakan baterai untuk menjalankannya.
(38)
22 Arduino UNO berbeda dengan semua board sebelumnya dalam hal koneksi USB-to-serial yaitu menggunakan fitur atmega8U2/16U2 yang diprogram sebagai konverter USB-to-serial, hal ini berbeda dengan board sebelumnya yang menggunakan chip FTDI driver USB-to-serial.
Fitur-fitur yang dimiliki Arduino UNO ini adalah sebagai berikut : 1. Mikrokontroler ATmega328P
2. Operasi daya 5V 3. Input tegangan 7-12V 4. Input tegangan batas 6-20V
5. Digital I/O pins 14 (dimana 6 memberikan output PWM) 6. Analog Input pin 6
7. Arus DC setiap I/O pin 40mA 8. Arus DC untuk 3,3V pin 50mA 9. Flash memory 32 KB
10.SRAM 2 KB 11.EEPROM 1 KB 12.Clock Speed 16Mhz
13.Memiliki ATmega 8U2/16U2 yang digunakan sebagai konverter USB-to-serial
14.Memiliki sirkuit reset
15.Memiliki pin out : menambahkan SDA dan SCL pin yang dekat ke pin Aref dan dua pin baru lainnya ditempatkan dekat ke pin reset,
(39)
23 dengan I/O REF yang memungkinakan sebagai buffer untuk beradaptasi dengan tegangan yang disediakan oleh board sistem. 16.Mempunyai komunikasi data I2C dan SPI
Gambar II.6. Arduino UNO
(40)
24 Arduino UNO dapat diaktifkan melalui koneksi USB atau dengan catu daya eksternal. Sumber listrik dipilih secara otomatis. Eksternala (non-USB) dapat berupa baik AC-DC atau baterai. Adaptor ini dapat dihubungkan dengan cara menghubungkan plug pusat – positif 2,1 mm ke dalam board colokan listrik. Sedangkan untuk baterai dapat dihubungkan ke dalam header pin GND dan Vin dari konektor power.
Board dapat beroperasi pada pasokan daya dari 6- 20 volt. Jika diberikan dengan kurang ari 7V, bagaimanapun, pin 5V dapat menyuplai kurang dari 5V dan board mungkin tidak stabil. Jika menggunakan lebih dari 12V, regulator bisa panas dan merusak board. Rentang yang dianjurkan adalah 7V-12V.
Pin pada Ardino UNO memiliki fungsinya masing-masing adalah sebagai berikut:
Tabel II.2. Deskripsi Pin Arduino UNO
NO PIN KETERANGAN
1 RX ( Receiver ) / 0 Pin RX ini berfungsi sebagai pin untuk menerima data TTL serial yang terhubung ke pin yang sesuai dari chip ATmega8U2 USB to serial TTL
2 TX ( Transmitter ) /1 Pin TX ini berfungsi sebagai pin untuk megirim data TTL serial yang terhubung ke pin yang sesuai dari chip ATmega8U2 USB to serial TTL
(41)
25 dan 3 memicu interupsi pada nlai yang
rendah, tepi naik atau jatuh, atau perubahan nilai
4 PWM / 3,5,6,9,10,dan11 Menyediakan 8-bit output PWM dengan analogWrite() fungsi
5 SPI / 10(SS), 11(MOSI), 12(MISO), 13(SCK)
Pin ini mendukung komunikasi SPI menggunakan library SPI
6 LED / 13 Ada built-in LED terhubung ke pin digital 13. Ketika pin dalam keadaan nilai tinggi Led menyala, ketika pin rendah mati
7 I2C / A4 (SDO) dan A5 (SCL)
Berfungsi sebagai pendukung omunikasi I2C
8 Vin Tegangan masukkan kepada board
arduino ketika menggunakan sumber daya eksternal
9 GND Berfungsi sebagai Ground
10 5V Catu daya yang digunakan untuk
daya mikrokontroler dan koponen lainnya
11 3v3 Berfungsi sebagai pasokan 3,3 volt dihasilkan oleh regulator onboard
12 Reset Berfungsi untuk mereset
mikrokontroler
13 IOref Referensi tegangan untuk input analog. Digunakan untuk analogReference()
(42)
26 Arduino UNO memiliki 6 input analog diberi label A0 sampai A5, masing masing menyediaan 10 bit resolusi (1024 nilai yang berbeda). Secara default sistem mengukur dari Ground sampai 5 Volt, meskipun mungkin untuk mengubah ujung atas rentang menggunakan pin IOref dan fungsi analogReference().
Arduino UNO memiliki sejumlah fasilitas untuk berkomunikasi dengan computer, arduino atau mikrokontroler lainnya. Pada arduino UNO ini terdapat mikrokontroler ATmega328P yang menyediakan UART TTL (5V) komunikasi serial yang tersedia di pin digital 0 (RX) dan 1 (TX). Sebuah AT mega8U2/16U2 pada board ini berfungs sebagai komunikasi serial melalui USB dan muncul sebagai com port virtual pada computer. Firmware ATmega8U2/16U2 menggunakan USB driver standar COM, dan tidak dibutuhkn driver eksternal yang diperlukan. Namun pada windows diperlukan file Inf. Perangkat lunak Arduino termasuk monitor serial yang memungkinkan data sederhana yang akan dikirim ke board arduino. RX dan TX di board LED akan berkedip ketika data sedang dikirim melalui chip USB-to-serial dan koneksi USB ke computer ( tetapi tidak untuk omunikasi serial pada pin0 dan1). Fungsi ini digunakan untuk melakukan komunikasi interface pada sistem. ATmega 328P juga mendukung komunikasi I2C dan juga SPI.
Arduino menggunakan pemrograman dengan bahasa C. setiap program Arduino (sketch) mmpunyai dua buah fungsi yang harus ada, yaitu :
(43)
27 Semua kode didalam kurung kurawal akan dijalankan hanya satu kali ketika program Arduino dijlankan untuk pertama kalinya. 2. void loop( ) { }
Fungsi ini akan dijalankan setelah setup (fungsi void setup) selesai. Setelah dijalankan satu kali fungsi ini akan dijalnkan lagi, dan lagi secara terus menerus sampai power dilepaskan
Berikut ini adalah elemen bahasa C yang dibutuhkan untuk format penulisan, yaitu:
1. // (komentar satu baris)
Kadang diperlukan untuk memberi catatan pada diri sendiri apa arti dari kode-kode yang dituliskan. Cukup menuliskan dua buah garis miring dan apapun yang kita ketikkan dibelakngnya akan diabaikan oleh program
2 /* */(komentar banyak baris)
Jika ada banyak catatan, maka hal itu dapat dituliskan pada beberapa baris sebagai komentar. Semua hal yang terletak di antara dua symbol tersebut akan diabaikan oleh program.
3. { }(kurung kurawal)
Digunakan untuk mendefinisikan kapan blog program mulai dan berakhir (digunakan juga pada fungsi dan pengulangan)
4. ;(titik koma)
Setiap baris kode harus diakhiri tanda titik koma (jika ada titik koma yang hilang maka program tidak akan bisa dijalankan)
(44)
28 Sebuah program secara garis baris dapat didefinisikan sebagai intruksi untuk memindahkan angka dengan cara yang cerdas. Variabel inilah yang digunakan untuk memindahkannya.
1. int (integer)
Digunakan untuk menyimpan angka dalam 2 byte (16bit). Tidak mempunyai angka decimal dan menyimpan nilai dari -32,768 dan 32,767
2. long (long)
digunakan ketika integer tidak mencukupi lagi. Memakai 4 byte (32bit) dari memori (RAM) dan mempunyai rentang dari -2,147,483,648 dan 2,147,483,647.
3. boolean (Boolean)
variabel sederhana yang digunakan untuk menyimpan nilai TRUE (benar) atau FALSE (salah). Sangat berguna karena hanya menggunakan 1 bit dari RAM.
4. float (float)
Digunakan untuk angka decimal (floating point). Memakai 4 byte (32 bit) dari RAM dan mempunyai rentang -3.4028235E+38 dan 3.4028235+38.
5. Char (character)
Menyimpan 1 karakter menggnakan kode ASCII (misalnya „A‟
(45)
29 Operator yang digunakan untuk manipulasi angka ( bekerja seperti matematika yang sederhana).
1. =
Membuat sesuatu menjadi sama dengan nilai yang lain (misalnya: x = 10 * 2, x sekarang nlainya sama dengan 20).
2. %
Menghasilkan sisa dari hasil pembagian suatu angka dengan angka yang lain ( misalnya: 12 % 10, ini akan menghasilkan angka 2)
3. +
Penjumlahan 4. *
Perkalian 5. -
Pengurangan 6. /
Pembagian
Operator pembanding digunakan untuk membandingkan nilai logika 1. =
Sama dengan misalnya 12 == 10 adalah FALSE (salah) atau 12==12 adalah TRUE (benar)
(46)
30 Tidak sama dengan (misalnya 12 != 12 adalah FALSE (salah)) 3. <
Lebih kecil dari misalnya 12 < 10 adalah FALSE atau 12 < 12 adalah FALSE atau 12 < 14 adalah TRUE
4. >
Lebih besar dari misalnya 12 > 10 adalah TRUE atau 12 >12 adalah FALSE atau 12>14 adalah FALSE
Program sangat tergantung pada pengaturan apa yang akan dijalankan berikutnya, berikut ini adalah beberapa elemen dasar pengaturan
1. if..else, dengan format sebagai berikut ini : if (kondisi) { }
else if {kondisi} else { }
dengan struktur tersebut program akan menjalankan kode yang ada di dalam kurung kurawal jika kondisinya TRUE, dan jika FALSE maka akan diperiksa apakah kondisi pada else if dan jika kondisinya FALSE maka kode pada else yang akan dijalankan. 2. for, dengan format seperti berikut ini:
for (int i = 0; I < #pengulangan; i++) { }
digunakan apabila ingin melakukan pengulangan kode di dalam kurung kurawal beberapa kali, ganti #pengulangan dengan jumlah
(47)
31 pengulangan yang diinginkan. Melakukan penghitungan ke atas dengan i++ atau ke bawah dengan i--
untuk digital ada beberapa elemen dasar pengaturan diantaranya sebagai berikut: 1. pinMode (pin,mode)
digunakan untuk menetapkan mode dari suatu pin, pin adalah nomer pin yang akan digunakan dari 0-19 (pin analog 0-5 adalah 14-19). Mode yang bisa digunakan adalah INPUT atau OUTPUT
2. digitalWrite (pin,value)
ketika sebuah pin ditetapkan sebagai OUTPUT, pin tersebut dapat dijadikan HIGH (ditarik menadi 5 volt) atau LOW (diturunkan mejadi ground).
3. digitalRead(pin)
ketika sebuah pin ditetapkan sebagai INPUT maka kita dapat menggunakan kode ini untuk mendapatkan nilai pin tersebut apakah HIGH (ditarik menjadi 5 volt) atau LOW (diturunkan menjadi ground).
Arduino adalah mesin digital tetapi mempunyai kemampuan untuk beroperasi diadalam analog. Berikut adalah elemen dasar pengaturannya :
1. analogWrite(pin,value)
beberapa pin pada arduino mendukung PWM (pulse width modulation) yaitu 3, 5, 6, 9, 10, 11. Ini dapat meruah pin hidup (on) atau mati (off) dengan cepat sehinggaa mambuatnya dapat
(48)
32 berfungsi layaknya keluaran analog, value pada format kode tersebut adalah angka antara 0 (0% duty cycle ~ 0V) dan 255 (100% duty cycle ~ 5V)
2. analogRead(pin)
ketika pin analog ditetapkan sebagai INPUT anda dapat membaca keluaran voltasenya. Keluaran berupa angka antara 0 (untuk 0 volts) dan 1024 (untuk 5 volts) (Anonim, Arduino)
2.4.2. Spesifikasi Atmega 328P
Dalam arduino UNO dilengkapi atau diintegrasikan dengan mikrokontroler ATmega328P. mikrokontroler ATmega328P merupakan 8 bit mikrokontroler dari keluarga Atmel yang memiliki daya rendah dan arsitektur RISC (reduce Instruction Set Computer) yang mmiliki kecepatan yang lebi cepat daripada arsitektur CISC (Completed Instruction Set Computer). Mikrokontroler ini memberikan instrksi dalam satu kali siklus clock dengan 131 macam instruksi dengan menggabungkan instruksi dengan 32 register utama yang bekerja. Semua regiter ini kana langsung berhubungan dengan Arithmetic Logic Unit (ALU).
Dalam mikrokontroller Atmega 328P memiliki spesifikasi yang berbeda dengan mikrokontroller jenis lainnya. Berikut ialah spesifikasi dari mikrokontroller Atmega 328P :
1. Memiliki kemampuan yang tinggi namun membutuhkan daya yang rendah
(49)
33 2. Memiliki 131 instruksi yang kebanyakan dijalankan dalam satu
siklus clock
3. 32 x 8 bit dengan fungsi register serbaguna 4. 32 K Bytes flash memory
5. 1 K Bytes EEPROM 6. 2 K Bytes Internal SRAM
7. Siklus penulisan sebanyak 10.000 flash dan penghapusan 100.000 EEPROM
8. Dapat mengingat atau menyimpan data selama 20 tahun pada 85 oC/ 100 tahun pada 25 oC
9. Menggunakan komunikasi serial data SPI atau I2C, baik sebagai master maupun slave.
10.Memiliki operasi voltase sebesar 1,8 – 5,5
(50)
34 Deskripsi Mikrokontroller ATMega 328P
1.
VCC: Digital Power Supply2.
GND: Ground3.
Port B: Berfungsi sebagai bidirectional port I/O sebanyak 8 bit. PB6 dapat digunakan sebagai input menuju inverting amplifier dan input menuju internal clock sistem operasi. PB7 juga dapat digunakan sebagai output dari inverting amplifier.4.
Port C : Berfungsi sebagai bidirectional port I/O sebanyak 7bit. PC5…0
berfungsi sebagai output yang memiliki
5.
RESET: Apabila RSTDISBL telah di program PC6 digunakan sebagai pin I/O and apabila RSTDISBL tidak deprogram, maka PC6 digunakan sebagai input RESET6.
PortD (PD7:0): Berfungsi sebagai bidirectional port I/O sebanyak 8-bit.7.
AVCC :
Digunakan sebagai pin power supply untuk analog digital converter. Apabila menggunakan ADC, maka AVCC harus dikoneksikan dengan VCC melewati low-pass filter. Apabila tidak menggunakan ADC, AVCC juga harus dikoneksikan dengan VCC.8.
AREF:AREF ialah pin referensi analog untuk Analog Digital
Converter.
9.
ADC7:6:ADC7:6 berfungsi sebagai pin input analog menuju
Analog Digital Converter. (Anonim, Analog Device)(51)
35
2.5. Komunikasi Data
2.5.1. I2C
Pada perkembangan teknologi kini, baik didunia industri, otomotif, hingga pendidikan menengah dan tinggi telah menggunakan peralatan yang memiliki teknologi yang tinggi. Salah satunya ialah penggunaan mikrokontroler. Untuk menggunakan mikrokontroler dengan perangkat keras lainnya diperlukan senuah komunikasi data. Salah satu komunikasi data yang bisa digunakan adalah komunikasi I2C dan SPI.
Bus adalah sistem penghantar yang dilengkapi dengan komponen pengendali untuk melayani pertukaran data antara komponen perangkat keras satu dengan komponen perangkat keras lainnya. pada sistem mikrokontroler terdapat bus data, bus alamat, dan beberapa penghantar pengendali. Semakin tinggi frekuensi clock processor, maka semakin lebih cermat pengembang untuk memperhatikan waktu dari seluruh omponen yang terlibat, agar tidak terjadi kesalahan dalam transaksi data. Bus yang sering digunakan adalah bus yang bersfat paralel. Transaksi data dilakukan secara paralel sehingga transaksi data lebih cepat. Akan tetapi disisi lain memiliki biaya yang cukup mahal. Jika sistem relatif tidak membutuhkan transaksi yang cepat, maka penggunaan serial bus menjadi pilihan. Salha satu sistem data bus yang bisa digunakan yaitu I2C (Inter Integrated Circuit). Sistem bus I2C pertama kali diperkenalkan oleh Firma Philips pada tahun 1979.
I2C atau Inter Integrated Circuit adalah standar komunikasi serial dua arah menggunkan dua saluran yang didesain khusus untuk mengirim data.
(52)
36 Sistem I2C terdiri dari saluran SCL (Serial Clock) dan SDA (Serial Data) yang membawa informasi data antara I2C dengan pengontrolnya. Piranti yang dihubungkan dengan sistem I2C bus dapat dioperasikan sebagai Master
dam slave. Master adalah piranti yang memulai transfer data pada I2C Bus dengan membentuk sinyal Start, mengakhiri transfer data dengan membentuk sinyal Stop, dan membangkitkan sinyal Clock. Slave adalah piranti yang dialamati master.
Sinyal Start merupakan sinyal untuk memulai semua perintah, yang
didefinisikan sebagai perubahan tegangan SDA dari “1” menjadi “0” pada saat SCL “1”. Sinyal Stop merupakan sinyal untuk mengakhiri semua perintah, didefinisikan sebagai perubahan tegangan dari “0” menjadi “1”
pada saat SCL “1”. Kondisi sinyal Start dan sinyal Stop seperti pada gambar berikut
Gambar II.9. Kondisi sinyal Start dan Stop
Sinyal dasar yang lain dalam I2C Bus adalah sinyal acknowledge yang disimbolkan ACK. Setelah transfer data oleh master berhasil diterima slave, slave akan menjawabnya dengan mengirim sinyal acknowledge, yaitu dengan
(53)
37 bahwa Slave telah menerima 8 bit data dari Master. Kondisi sinyal acknowledge pada gambar berikut.
Gambar II.10. sinyal ACK dan NACK
Dalam melakukan transfer data pada I2C Bus, ada beberapa tata cara yang telah ditetapkan yaitu:
1. Transfer data hanya dapat dilakukan ketika Bus tidak dalam keadaan sibuk.
2. Selama proses transfer data, keadaan data pada SDA harus stabil selama SCL dalam keadaan tinggi. Keadaan perubahan “1” atau
“0” pada SDA hanya dapat dilakukan selama SCL dalam keadaan
rendah. Jika terjadi perubahan keadaan SDA pada saat SCL dalam keadaan tinggi, maka perubahan itu dianggap sebagai sinyal Start atau sinyal Stop.
(54)
38 Berikut ini merupakan definisi-definisi kondisi Bus :
1. Bus not busy
Pada saat ini Bus tdak dalam keadaan sibuk, SCL dan SDA dua-duanya dalam keadaan HIGH
2. Start data transfer
Ditandai dengan perubahan kondisi SDA dari HIGH ke LOW ketika SCL HIGH.
3. Data valid
Data yang dikirim bit demi bit dianggap valid jika setelah START, kondisi SDA tidak berubah selama SCL HIGH, baik SDA HIGH maupun SDA LOW tergantung dari bit yang ingin ditransfer. Setiap siklus HIGH SCL baru menandakan pengirim bit baru. Duty cycle untuk SCL tidak mesti 50%, ttapi frekuensi kemunculannya hanya ada 2 macam, yaitu mode standar 100khz dan fast mode cepat 400kHz. Setelah SCL mengirimkan sinyal HIGH yang kedelapan, arah transfer SDA berubah, sinyal kesembilan pada SDA ini dianggap sebagai acknowledge dari receiver ke transmitter
4. Acknowledge
Setiap receiver wajib mengirimkan sinyal acknowledge atau sinyal balasan setiap selesai pengiriman 1-byte atau 8-bit data. Master harus memberikan ekstra clock pada SCL, yaitu clock kesembilan untuk memberikan kesempatan receiver mengirimkan
(55)
39 sinyal acknowledge ke transmitter berupa keadaan LOW pada SDA selama SCL HIGH. Meskipun master berperan sebagai receiver, ia tetap sebagai penentu sinyal STOP. Pada bit-akhir penerimaan byte terakhir, master tidak mengirimkan sinyal acknowledge, SDA dibiarkan HIGH oleh receiver dalam hal ini master, kemudian master mengubah SDA dari LOW menjadi HIGH yang berarti sinyal STOP. (Brian, p. t.thn)
2.6. LabVIEW 2011
LabVIEW ( Laboratory Virtual Instrument Engineering Workbench ) merupakan software yang secara khusus digunakan untuk pemrosesan sistem dan visualisasi dari data sebuah instrumentasi, kendali, begitu pula otomatisasi industry. Pada tahun 1996 perusahaan National Instrument (NI) mulai mengembangkan software ini.
LabVIEW memiliki beberapa kelebihan, diantaranya ialah :
1. Memiliki bahasa pemograman yang mudah dipahami dan mudah dibuat, sehingga menghemat waktu pembuatan. Dikarena memiliki instruksi yang berbentuk ikon-ikon yang berbentuk grafis dengan garis atau kawat sebagai penghubungnya antara ikon satu dengan yang lainnya untuk menunjukan aliran data.
2. LabVIEW telah memiliki integrasi dengan ribuan hardware dan ratusan library yang siap digunakan untuk aplikasi di bidang instrumentasi, pengolahan sinyal, analisis dan visualisasi data serta koneksi ke internet.
(56)
40 3. Menjadi jembatan antara dunia pendidikan dengan industry karena memiliki persamaan software sehingga memudahkan untuk transisi dan transfer teknologi antara dunia pendidikan ke industri.
4. Dengan bahasa pemograman yang parallel, LabVIEW mampu manjalankan beberapa instruksi sekaligus dengan waktu yang bersamaan. 5. LabVIEW memiliki sifat modular yang memungkinkan pengguna untuk
membuat program yang kompleks dan rumit menjadi sederhana, yaitu dengan cara membuat subprogram atau di labVIEW disebut subVI. 6. Sebuah software untuk berbagai bidang dengan penggunaan mulai dari
perencanaan pengukuran, prototype, pengujian, hingga implementasi dan pengujiannya.
Dalam pemograman LabVIEW, terdapat beberapa istilah penting yang harus diketahui. Istilah-istilah itu ialah sebagai berikut :
1. VI ( Virtual Instrument )
VI ialah program yang dibuat dengan LabVIEW. 2. SubVI
Sub VI ialah sebuah VI di dalam VI ( seperti subrutin dalam bahasa pemograman teks ) yang berbentuk ikon, dengan input di sebelah kiri ikon dan output di sebelah kanan ikon.
3. Front Panel
Front Panel ialah tampilan dari program dan juga user interface yang berpengaruh dalam suatu Virtual Instruments ( Vis ) karena front panel ini merupakan panel simulasi dari physical instrument. Di dalam front
(57)
41 panel terdapat banyak control dan indicator yang dapat digunakan. Kontrol dan indicator juga dapat dikombinasikan dalam front panel untuk pengembangan suatu project Vis. Kontrol digunakan untuk menyalurkan data yang dipersiapkan ke dalam VI, sedangkan indicator berperan untuk menampilkan data pada VI setelah diproses. Pada front panel juga terdapat objek. Objek pada front panel ini merepresentasikan ikon yang ada pada block diagram.
Gambar II.12 Front Panel
4. Block Diagram
Block Diagam ialah tempat pembuatan program. Pembuatan program disini dilakukan dengan cara menempatkan beberapa node dan menghubungkannya.
(58)
42 Gambar II.13. Block diagram
5. Node
Node ialah semua objek di jendela block diagram. Node ini memiliki input/output yang melakukan operasi tertentu ketika dijalankan termasuk didalamnya subVI, terminal, struktur dan fungsi.
6. Terminal
Terminal ialah ikon-ikon pada block diagram yang mewakili objek-objek di front panel, objek-objek ini membawa data baik yang masuk ataupun yang keluar program. Contohnya yaitu control dan indicator.
7. Control
Control biasa disebut terminal input ialah semua objek pada front panel yang memasukan data dari pengguna ke program. Contohnya yaitu tombol, saklar, knob dan alat input lainnya.
8. Indicator
Indicator biasa disebut terminal output ialah semua objek pada front panel yang menampilkan data dari program ke pengguna. Indicator berkebalikan dengan control. Contohnya yaitu grafik, LED.
(59)
43 9. Struktur
Struktur ialah semua bentuk alur pemograman. Struktur hanya terdapat pada jendela block diagram, berbentuk balok yang dapat diatur luasnya serta hanya bekerja untuk ikon yang berada dalam kotak struktur. Contohnya yaitu while loop, sekuensial, case dan lainnya.
10.Fungsi
Fungsi ialah kode-kode dasar yang telah disediakan untuk membuat subVI. Contohnya yaitu subtract, add.
11.Wire (kawat)
Wire digunakan untuk menghubungkan ikon-ikon, serta menunjukkan aliran data dan tipe data.
12.Pemrograman Dataflow ( aliran data )
Pemrograman Dataflow ialah konsep pemograman yang akan mengeksekusi node pada saat semua inputnya telah tersedia. Ketika node ini telah selesai dieksekusi, maka data akan diteruskan dari output node tersebut ke node berikutnya.
13.Tools Pallete
Tools Palette dapat digunakan untuk merencanakan dan mengoperasikan Vis yang diinginkan. Untuk menampilkan tools pallete, dapat memilih menu view pada lembar front panel ataupun block diagram.
14.Function Palette
Function Palette berfungsi untuk memberikan perintah kerja pada lembar blosk diagram. Pada Function Palette terdapat pilihan tampilan palette,
(60)
44 dimana masing-masing pilihan palette juga terdapat sub palette yang diberi anak panah pada bagian atas icon palette tersebut.
Gambar II.14. Function palette
Untuk membuka lembar function palette, dilakukan dengan cara mengklik kanan pada lembar kerja block diagram. Selain itu juga terdapat tombol search yang dapat digunakan untuk mencari icon fungsi yang belum diketahui keberadaannya. Caranya dengan mengklik tombol search tersebut dan menuliskan nama icon yang dicari. Kemudian klik double pada nama icon yang dicari, maka akan diketahui letak icon yang dimaksud.
15.Control Palette
Control Palette digunakan untuk menambah kontrol dan indicator pada lembar front panel.Untuk mengeluarkan control palette dilakukan dengan
(61)
45 cara klik double pada lembar front panel. Setiap pilihan palette juga terdapat subpalette yang memiliki control dan indicator yang berbeda-beda.
Gambar II.15. Control palette
Pada control palette juga terdapat tombol search yang dapat digunakan untuk mencari icon control yang belum diketahui keberadaannya. Caranya dengan mengklik tombol search tersebut dan menuliskan nama icon yang dicari. Kemudian klik double pada nama icon yang dicari, maka akan diketahui letak icon yang dimaksud. (Artanto, 2012)
(62)
46
2.7. Arduino IDE 1.0.5
IDE ( Integrated Development Environment) yang disebut juga lingkungan pemrograman. Arduino memiliki kelebihan yaitu memiliki lingkungan pemrogramannya sendiri yaitu arduino IDE. Penggunaan IDE-nya pun mudah karena kesederhanaan progrmanya, berikut adalah tampilan arduino IDE versi 1.0.5
Gambar II.16. Halaman arduino IDE
Arduino IDE adalah sebuah software compiler untuk pengembangan mikrokontroler Arduino. Arduino IDE dirancang untuk pengguna dengan beberapa keunggulan sehingga mudah untuk dpeajari siapa pun. Bahasa C merupakan bahasa yang dipergunakan untuk membuat program dalam software compiler ini, namun di dalamnya terdapat juga bahasa pemrograman yang
(63)
47 dikhususkan bagi arduino IDE yang digunakan tergantung pada versi yang akan digunakan.
Arduino IDE ini juga dilengkapi oleh beberapa fitur-fitur yang lengkap sehingga hal ini akan memudahkan programmer untuk mebuat sebuah program. Fitur – fitur tersebut ialah sebagai berikut :
1. IDE arduino merupakan multiplatform, yang dapat dijalnkan di berbagai sistem operasi, seperti windows, macintosh dan linux
2. IDE arduino dibuat berdasarkan pada IDE processing yang sederhana sehingga mudah digunakan
3. IDE arduino memiliki software gratis sehingga tidak perlu membayar kepada pengembang arduino
4. Memiliki bahasa pemrograman yang mudah untuk digunakan
5. IDE arduino memiliki libraries (contoh program) yang lengkap yang dapat membantu pembuatan bahasa pemrograman.
6. Memiliki forum resmi yang bisa digunakan untuk mendapatkan listing program secara gratis.
7. Terdapat pula serial monitor guna mengetahui hasil program yang telah dibuat
8. Kesalahan yang terdapat dalam program juga akan ditampilkan pada arduino IDE dengan solusi pembenarannya
9. Menyediakan contoh (sample sketch) yang dapat dipelajari guna pengembangan lebih lanjut dalam pemrograman. (Anonim, Arduino)
(64)
48 Pada tampilan IDE arduino terdapat enam buah tombol pada toolbar, degan fungsi masing masing sebagai berikut :
Tabel II.3. Tools Pada Arduino
No. Tombol Nama Fungsi
1. Verify Menguji apakah ada kesalahan pada program atau sketch. Apabila sketch sudah benar, maka sketch tersebut akan dikompilasi. Kompilasi adalah proses mengubah kode program ke dalam kode mesin
2 Upload Mengirimkan kode mesin hasil
kompilasi ke board arduino
3 New Membuat sketch yang baru
4 Open Membuka sketch yang sudah ada
5 Save Menyimpan sketch
6 Serial
Monitor
Menampilkan data yang dikirim dan diterima melalui komunikasi serial
(65)
49
BAB III
METODOLOGI PENELITIAN
3.1. Waktu dan Tempat Penelitian
Penelitian pengembangan monitoring vibrasi pada kipas pendingin dengan accelerometer ADXL345 menggunakan metode FFT berbasis LabVIEW dilakukan pada bulan maret 2014 sampai dengan November 2014. Adapun tempat penelitian yakni di Pusat Penelitian Fisika (P2F) Lembaga Ilmu Pengetahuan Indonesia (LIPI) Serpong Tangerang.
3.2. Alat dan Bahan
Peralatan yang digunakan dalam penelitian ini terdiri dari : 1. Alat
a. Arduino UNO R3
b. Accelerometer ADXL345 triple axis c. Kabel Port USB
d. Notebook Lenovo G460 Intel Pentium P6200 2.13GHz e. Kipas pendingin sebagai sample uji
2. Bahan
a.Arduino ERW 1.0.5 b.LabVIEW 2011
(66)
50
3.3. Tahapan Penelitian
Dalam penelitian ini, terdapat beberapa tahapan yang dilakukan dari awal penelitian hingga akhir penelitian. Tahap pertama yang dilakukan ialah memeriksa atau mengecek peralatan yang digunakan, alat yang digunakan harus sesuai dengan permasalahan yang ada yaitu dapat membuat sistem monitoring vibrasi pada kipas pendingin serta mengetahui adanya kerusakan pada kipas pendingin. Alat pendukung lainnya juga dipersiapkan yakni dengan menginstal beberapa software seperti Arduino IDE dan LabVIEW. Kedua software itulah yang akan digunakan untuk membuat program yang akan berjalan pada sensor vibrasi, untuk selanjutnya akan divisualisasikan berupa grafik dan data nilai frekuensi.
Setelah peralatan semua dipersiapkan, hal yang pertama dilakukan yaitu membuat program pada Arduino IDE dengan menggunakan bahasa pemrograman Arduino yang akan diisi pada board mikrokontroler Arduino UNO. Setelah bahasa pemrograman selesai dibuat maka program tersebut akan di download pada mikrokontroler Arduino UNO. Jika bahasa pemrograman yang telah dibuat dapat memberikan perintah kepada mikrokontroler Arduino UNO sesuai dengan yang diinginkan maka tahap selanjutnya bisa dilaksanakan, namun apabila bahasa pemrograman yang diguanakan belum sesuai, maka kembali pada tahap merancang desain bahasa pemrograman.
Setelah bahasa pemrograman selesai dan sensor bekerja sesuai dengan yang diinginkan, tahap selanjutnya adalah merancang sistem monitoring data dengan menggunakan software LabVIEW. Data yang didapat akan divisualisasikan
(67)
51 dengan grafik dan data numeric serta indikator kerusakan yang akan tersimpan pada LabVIEW.
Tahap selanjutnya adalah pengambilan data vibrasi sebuah kipas pendingin dengan menggunakan sensor ADXL345 yang telah diisi dengan program yang telah dibuat dan di download pada mikrokontroler Arduino UNO . Hasilnya akan divisualisasikan dengan LabVIEW secara real time. Data dari nilai vibrasi akan dianalisa dengan software LabVIE secara real time untuk mendapatkan nilai frekuensi dengan metode Fast Fourier Transfer (FFT). Dari data frekuensi hasil vibrasi kipas pendingin ini akan dianalisa kerusakannya dan akan ditampilkan dalam indikator kerusakan berdasarkan nilai referensi frekuensi sebelumnya.
Data yang diambil disesuaikan dengan penelitian yang dilakukan. Apabila data vibrasi belum sesuai dengan nilai referensi dari hasil karakterisasi sebelumnya, maka data vibrasi akan diambil kembali hingga mendapatakan data dengan keadaan yang sesuai. Setelah data yang diambil sesuai dengan hasil referensi sebelumnya dan sesuai dengan indikator kerusakan maka dapat diambil kesimpulan dari hasil monitoring tersebut.
3.3.1. Perancangan sensor vibrasi dengan ADXL345
Dalam rancangan hardware, akan dibuat rangkaian sensor vibrasi yang menghubungkan antara ADXL345 dan Arduino UNO serta kabel USB yang akan menghubungkan Arduino UNO dengan Notebook. Berikut ialah gambar yang menjelaskan hubungan antara Accelerometer ADXL345, Arduino UNO dan notebook :
(68)
52 Gambar III.1. Rancangan hardware penelitian
Pada gambar diatas terlihat bahwa accelerometer ADXL345 dan Arduino UNO harus terhubung pada beberapa pinnya. Dibawah ini ialah pin-pinnya yang harus terhubung antara accelerometer ADXL345 dan Arduino UNO :
1. Pin CS (chip select) dan pin 5V pada Accelerometer ADXL345 terhubung dengan pin 3v3 pada Arduino UNO. Pin ini berfungsi sebagai tempat power supply dari keduanya.
2. Pin Ground ( GND ) pada Accelerometer ADXL345 terhubung dengan pin GND pada Arduino UNO. Pin ini berfungsi sebagai tempat ground.
(69)
53 3. Pin ( SDA ) pada Accelerometer ADXL345 terhubung dengan pin A4 pada Arduino UNO. Pin ini berfungsi sebagai serial data input pada komunikasi I2C.
4. Pin ( SCL ) pada Acclerometer ADXL345 terhubung dengan pin A5 pada Arduino UNO. Pin SCL pada Acclerometer ADXL345 disni berfungsi sebagai clock pada komunikasi data I2C.
5. Kabel USB akan dihubungkan kepada Notebook melalui port USB yang terdapat pada Arduino UNO serta secara otomatis mikrokontroller dan accelerometer akan aktif setelah dihubungkan pada notebook ditandai dengan lampu TX dan RX menyala.
3.3.2. Perancangan Program Aplikasi
3.3.2.1. Pembuatan Program pada Arduino IDE
Arduino IDE merupakan software dari Arduino yang berguna sebagai compiler untuk mikrokontroler jenis Arduino yang menggunakan bahasa C untuk pemrogramnannya.
Pada software Arduino IDE ini akan dibuat program yang memuat instruksi yang akan dijalankan oleh mikrokontroler Arduino UNO. Program yang akan dibuat ini akan mengatur komunikasi antara Arduino UNO dengan Accelerometer ADXL345 dengan menggunakan komunikasi I2C serta pengaturan kerja pada Accelerometer ADXL345.
Dalam program yang dibuat ini mikrokontroler hanya akan membaca data akselarsi terhadap sumbu z dari pengukuran yang
(70)
54 dilakukan oleh accelerometer ADXL345 dan selanjutnya data hasil akselarsi tersebut akan dikirim ke notebook. Hal ini dilakukan dengan cara membuat mikrokontroler hanya membaca alamat output untuk akselarsi sumbu z saja pada accelerometer ADXL345. Langkah awal adalah dengan melakukan proses inisialisasi dari accelerometer ADXL345 dan intruksi-intruksi yang digunakan dalam mikrokontroler Arduino UNO. Kemudian membuat program untuk mengintruksikan sensor supaya aktif melakukan pengukuran. Setelah sensor siap, maka Arduino UNO akan memberikan intruksi kepada sensor untuk mulai melakukan pengukuran.
Setelah pembacaan oleh sensor selesai dan data diterima oleh mikrokontroler, maka mikrokontroler diintruksikan agar mengirimkan data tersebut menuju notebook. Kemudian diakhir, diberikan intruksi pengulangan agar proses diatas diulang terus menerus hingga mikrokontroler di non aktifkan. Berikut ini adalah diagram alir program Arduino UNO yang dibuat dengan software Arduino IDE :
(71)
55 Gambar III.2. Diagram alir pembuatan program dengan Arduino IDE
3.3.2.2. Perancangan dan Pembuatan program pada LabVIEW
LabVIEW 2011 merupakan software yang dibuat untuk melakukan sebuah simulasi pemrosesan sistem dan visualisasi dari suatu sistem instrumentasi. Dalam penelitian ini, LabVIEW digunakan untuk menampilkan data yang telah dikirim oleh mikrokontroller. Data yang didapatkan adalah data akselerasi pada sumbu z yang kemudian diberikan nilai referensi yang dibutuhkan, untuk selanjutnya
Inisialisasi accelerometer ADXL345
Membentuk komunikasi I2C antara sensor dengan
Arduino
Mengaktifkan ADXL345 untuk pengukuran
ADXL345 melakukan pengukuran pada sumbu z
ADXL345 mengirim data pengukuran ke Arduino
Arduino mengirim data pengukuran ke Notebook mulai
(72)
56 diolah dengan metode FFT. Setelah diolah dengan metode FFT selanjutnya hasil akan ditampilkan dalam bentuk grafik dan nilai frekuensi. Dari hasil nilai frekuensi akan dioalh kembali untuk menentukan indikator kerusakan dari sampel. Berikut ini ialah diagram blok pemograman LabVIEW 2011 agar dapat menampilkan data dari hasil monitoring sistem vibrasi pada accelerometer ADXL345 :
(73)
57 Gambar III.3. Dagram alir kerja software LabVIEW
Agar data dapat diolah dengan LabVIEW dalam penelitian ini, maka digunakan beberapa function pada block diagram yang
Mengatur komunikasi antara arduino dengan LabVIEW
Membaca data pengukuran dari mikrokontroler ke
Labview
Membaca data akselerasi pada sumbu Z
Mengolah data pegukuran dengan memberikan nilai
referensi
Menampilkan data numerik
Mengolah data dalam bentuk FFT
Menampilkan grafik dari hasil data yang telah di olah dengan
metode FFT
Menampilkan nilai frekuensi pada program LabVIEW yang
telah dibuat
Menampilkan indikator kerusakan mulai
(74)
58 terdapat pada LabVIEW. Fungsi yang dimilikinya pun berbeda-beda. Berikut ini adalah beberapa function pada block diagram tersebut :
Tabel III.1. Function pada Block Diagram Penelitian
No Function Nama Fungsi
1
VISA Configure Serial Port
Untuk
mengkonfigurasi komunikasi serial antar hardware
2
VISA Bytes at Serial Port
Untuk menghitung jumlah bytes dalam komunikasi serial
3
VISA Read Untuk membaca
data dari
hardware dalam komunikasi serial
4
Scan From String Untuk membaca masukkan string dan mengubahnya sesuai format string
(75)
59 5
FFT.vi Untuk mengolah
data menjadi FFT
6
Array Subset Untuk
menyatukan nilai array dengan elemen nilai referensi
tambahan
7
Array Max & Min Untuk
memisahkan nilai maksimum dan minimum serta menapilkan nilai maksimum dan minimum tersebut
8
Visa Close Untuk menutup komunikasi dengan hardware yang tehubung
9
Multiply Untuk operasi
perkalian
10
Divide Untuk operasi
(76)
60 11
Get Date/Time String
Menghasilkan tanggal dan waktu
12
Build Array Untuk
menggabungkan beberapa array
13 Wait Sebagai Delay
14
Format Into String Untuk mengubah menjadi string
15 Get date / Time in
second
Menapilkan tanggal dan waktu
16 Insert into array Memasukkan
subarray dan elemen lainnya
17 In range and
Coerce
Memberikan nilai batas
18 Property node Untuk meberikan
property referensi
19 Table Membuat table
20 Local variable Untuk
menampilkan sesuai tempat yang diinginkan
(77)
61
21 Greater Lebih besar dari
22 Increament Menambah 1 nilai
masukkan
23 Greater Lebih besar dari
24 Subtract Pengurangan
25 Less Lebih kecil dari
26 Equal Sama dengan
27 While loop
28 Case structure
29 Flat sequence
Untuk halaman front panel terdapat beberapa control yang digunakan dalam penelitian ini. Berikut ini adalah control yang digunakan dalam program yang dibuat
Tabel III.2. Control pada Front Panel Penelitian
No Control Nama Fungsi
1 Waveform
Graph
Untuk menampilkan grafik dari data yang diterima
(78)
62
2 Waveform Chart Untuk menampilkan
grafik yang berjalan terhadap waktu
3 Numeric
Indicator
Untuk menampilkan data numeric yang diterima.
4 Boolean LED indikator
Lembar block diagram pada labview 2011, digunakan untuk mengolah data yang diterima dari Arduino. Semua proses pengolahan data terdapat pada halaman block diagram. Sedangkan pada halaman front panel digunakan untuk menampilkan hasil pengolahan data, atau visualisasi dari data yang diterima.
3.4. Cara Kerja Penelitian
Cara kerja dari penelitian pengembangan analisa sistem sensor vibrasi menggunakan Accelerometer ADXL345 berbasis LabVIEW diawali pada accelerometer ADXL345 yang mengukur data akselerasi sebuah sampel yakni kipas pendingin untuk kemudian diolah pada Arduino UNO yang dihubungkan
(1)
(2)
115
LAMPIRAN 3
#include <Wire.h>
#define DEVICE (0x53) //inisialisasi ADXL345 #define TO_READ (6)
byte buff[TO_READ] ;
char str[512];
void setup() {
Wire.begin(); // inisialisai komunikasi I2C Serial.begin(9600); // memulai serial keluaran
//mengaktifkan ADXL345
writeTo(DEVICE, 0x2D, 0); writeTo(DEVICE, 0x2D, 16); writeTo(DEVICE, 0x2D, 8); }
void loop() {
int regAddress = 0x32; //intruksi pembacaan int z;
readFrom(DEVICE, regAddress, TO_READ, buff); //membaca nilai akselerasi dari ADXL345
//membaca akselerasi pada sumbu z
z = (((int)buff[5]) << 8) | buff[4];
//mengirim nilai z sebagai string ke port serial sprintf(str, "%d", z);
Serial.print(str);
// Serial.print(10, BYTE); Serial.println();
//memberikan delay 50 ms delay(50);
(3)
116
//mengirim nilai ke alamat register pada device void writeTo(int device, byte address, byte val) {
Wire.beginTransmission(device); //memulai pengiriman ke device
Wire.write(address); // mengirim alamt register Wire.write(val); // mengirim nilai
Wire.endTransmission(); //mengakhiri pengiriman }
//membaca jumlah bytes dimulai dari alamat register pada device dalam array
void readFrom(int device, byte address, int num, byte buff[]) {
Wire.beginTransmission(device); //memulai pengiriman ke device
Wire.write(address); //nds address to read from Wire.endTransmission(); //mengakhiri pengiriman
Wire.beginTransmission(device); //memulai pengiriman pada device
Wire.requestFrom(device, num);
int i = 0;
while(Wire.available()) {
buff[i] = Wire.read(); // menerima byte i++;
}
Wire.endTransmission(); //mengakhiri pengiriman }
(4)
117
LAMPIRAN 4
(5)
(6)