BAB 3 PERANCANGAN SISTEM 3.1 Perancangan Sistem Secara Umum Sistem pada penelitian ini akan menyeimbangkan posisi penampang robot dengan mengenal perubahan posisi dan kemudian mengatur kecepatan. Setiap perubahan yang terjadi akan dimasukkan pada mikrokontroler. Data yang didapat akan diproses dalam mikrokontroler, sistem melakukan pembacaan data, pemrosesan data dan mengeluarkan keluarannya dalam bentuk pergerakan pada motor. Bagian-bagian pada sistem: Mikrokontroler berfungsi untuk membaca data dari accelerometer dan gyroscope, memproses data, dan menghasilkan keluaran untuk menggerakkan motor. Modul sensor berfungsi untuk membaca data dari accelerometer dan gyroscope untuk mengamati perubahan posisi dalam derajat. Posisi robot akan memberikan perubahan data pada mikrokontroller akibat dari perubahan posisi yang dideteksi oleh modul sensor. Motor berfungsi sebagai penggerak dari bentuk keluaran yang dikeluarkan oleh mikrokontroler. 3.2 Perancangan perangkat keras 3.2.1 Diagram Blok Berikut diagram blok sistem ini: 10
11 Gyroscope Accelerometer ADC ADC Complementary Filter _ x + Set Point 0 Fuzzy Logic PWM Motor Driver Motor Kiri Motor Kanan Posisi Robot Gambar 3.1 Diagram Blok Sistem Berikut penjelasan diagram blok sistem: Menggunakan mikrokontroler Arduino Romeo All In One V2 sebagai sistem kontrol robot. Penulis menggunakan Arduino karena arduino bersifat open source, pemrograman menggunakan bahasa C, dan memiliki harga yang terjangkau.
12 Menggunakan sensor Gyroscope dan Accelerometer yang berguna untuk mengetahui perubahan posisi (derajat). Menggunakan 2 buah motor DC metal gear dengan rasio 1:50 sebagai pengerak pada robot. 3.2.2 Skematik Sistem Gambar di bawah merupakan skematik sistem robot. Berikut penjelasan mengenai skematik sistem ini: Pin SDA, SCL pada accelerometer dan gyroscope dihubungkan ke modul Arduino. Pin M1 dan M2 pada Motor DC dihubungkan ke pin analog 4 dan 7 motor driver pada modul Arduino. Gambar 3.2 Skematik Sistem
13 3.2.3 Diagram Alir Mulai Inisialisasi While (1) Ambil nilai dari Gyroscope dan Accelerometer Hitung nilai dari Gyro dan Accel dalam derajat Kombinasikan sudut dari Gyro dan Accel dengan filter complementary Sudut=0? Ya Tidak Hitung nilai error, kontrol fuzzy Keluaran PWM Respon motor Gambar 3.3 Diagram Alir Program Utama
14 3.3 Fuzzy Logic Pada penelitian ini fuzzy logic diguankan sebagai kontrol dari robot beroda, fuzzy logic yang cenderung cocok diberikan pada sistem nonlinier dan penggerak yang tidak diketahui pemodelan matematisnya. Fuzzy logic memiliki tingkat kebenaran mulai dari nilai 0, antara 0 sampai 1 dan nilai 1. Dan diantara nilai 0 sampai 1 yang biasa disebut dengan daerah abu-abu atau daerah yang kabur. Dalam penelitian ini kami menggunakan 7 fungsi keanggotaan yang terdapat dalam toolbox, yang kemudian kita dapat masukkan parameternya sesuai dengan yang kita inginkan, untuk kali ini kita memakai fungsi keanggotaan yang berbentuk trapesium untuk daerah yang mencapai nilai ekstrim dan yang berbentuk segitiga untuk daerah yang memiliki batas toleransi. Untuk satu bentuk segitiga menggunakan 3 parameter yang dapat dihitung dengan persamaan garis. Algoritma untuk fuzzy logic berdasar dari persamaan garis. Pada sistem robot beroda dua menggunakan fuzzy logic, dikarenakan sistem robot beroda dua tersebut nonlinear. Yang dimaksud dengan sistem nonlinear yaitu sistem yang sifatnya tidak tetap, mudah berubah, sulit dikontrol, dan sulit diprediksi. Karena itu kami ingin mencoba memakai fuzzy logic untuk mengatur sistem pada robot beroda kami hingga mendapatkan posisi yang setimbang. Fuzzification Fuzzifikasi adalah proses untuk mengubah variabel non fuzzy (variabel numerik) menjadi variabel fuzzy (variabel linguistik). Inference Inferencing (Ruled Based), pada umumnya aturan-aturan fuzzy dinyatakan dalam bentuk IF THEN yang merupakan inti dari relasi fuzzy. Defuzzification Defuzifikasi adalah proses pengubahan data-data fuzzy tersebut menjadi datadata numerik yang dapat dikirimkan ke peralatan pengendalian.
15 3.4 Complementary Filter Complementary Filter merupakan recursive digital filter yang dapat mengestimasi kondisi proses apapun dengan sangat efektif. Complementary Filter digunakan sebagai algoritma untuk menyediakan kondisi estimasi yang dapat dipercaya dari keadaan proses. Complementary Filter juga digunakan untuk mengontrol sistem yang sensitif terhadap noise dari lingkungan karena meminimalkan square error. Filter ini dapat mengurangi pengukuran yang terkena noise dari sensor-sensor sebelum masuk kedalam sistem kontrol. Dalam algoritma yang diterapkan pada mikrokontroller dengan perangkat lunak, digunakan persamaan matematika diskrit. Sistem yang akan diukur harus dimodelkan oleh sistem linier. Dapat dijelaskan dengan perhitungan : State Equation x_anglec = a*(x_anglec + ang_gyro *dt) + (1-a) * (ang_accl) dimana: x_anglec = nilai complementary a = alpha ang_gyro = keluaran gyroscope dt = delta time ang_accl = keluaran accelerometer 3.5 Perencanaan Struktur Mekanik Sistem mekanik dirancang untuk pengimplementasikan keseimbangan robot dengan menggunakan pergerakan motor DC. Sistem mekanik ini terbuat dari bahan akrilik. Motor DC dihubungkan dengan motor driver yang diletakkan dibagian bawah penampang.
16 3.5.1 Rancang Bangun Gambar 3.4 Tampak Samping Gambar 3.5 Tampak Depan/Belakang Komponen-komponen mekanik yang diperlukan dalam perancangan sistem mekanik ini terdiri dari : Akrilik 30 cm X 11 cm (tebal 0.2 cm). 2 buah Akrilik 12 cm x 11 cm (tebal 0.2 cm)
17 2 buah Motor DC 2 buah roda di kiri dan kanan robot dengan diameter 6.9 cm dan lebar roda 0.5 cm. Berat alat : 0,635 kg. (sudah termasuk baterai dan lain-lain)