BAB III METODE PENELITIAN. informasi, konsep-konsep yang bersifat teoretis dari buku, bahan-bahan kuliah,

dokumen-dokumen yang mirip
PEMBUATAN RANGKAIAN LAMPU OTOMATIS DENGAN KONTROL JAM MENGGUNAKAN MIKROKONTROLLER ATMEGA 8535

BAB III PERANCANGAN DAN REALISASI SISTEM

BAB III PERANCANGAN ALAT

BAB IV METODE PENELITIAN. serta menghubungkan pin mosi, sck, gnd, vcc, miso, serta reset. Lalu di

KENDALI PID DAN LOGIKA FUZZY UNTUK OPTIMALISASI PERGERAKAN MOBILE ROBOT

BAB III METODE PENELITIAN

BAB III METODOLOGI PENELITIAN

BAB III PERANCANGAN SISTEM. dari pembuatan alat yang meliputi perancangan hardware dan perancangan

BAB III PERANCANGAN ALAT SIMULASI PEGENDALI LAMPU JARAK JAUH DAN DEKAT PADA KENDARAAN SECARA OTOMATIS

KENDALI PID DAN LOGIKA FUZZY UNTUK OPTIMALISASI PERGERAKAN MOBILE ROBOT

Sistem Alarm dan Informasi Suara pada Indikator Volume Bahan Bakar Sepeda Motor

BAB III PERANCANGAN DAN REALISASI ALAT

III. METODE PENELITIAN. Penelitian ini dilaksanakan di Laboratorium Instrumentasi jurusan Fisika

BAB IV PENGUJIAN SISTEM. Pengujian minimum system bertujuan untuk mengetahui apakah minimum

PRAKTIKUM III Robot Line Follower Sederhana

BAB 3 PERANCANGAN SISTEM

BAB III METODE PENELITIAN

BAB III RANCANG BANGUN ALAT

PEMROGRAMAN ROBOT PENJEJAK GARIS BERBASIS MIKROKONTROLER

BAB IV HASIL DAN PEMBAHASAN

Membuat Robot Line Follower Hendawan Soebhakti Dosen Teknik Elektronika Politeknik Negeri Batam

BAB III METODE PENELITIAN. down untuk memberikan tegangan ke seluruh rangkaian. Timer ditentukan dengan

BAB 3 PERANCANGAN SISTEM

BAB III PERANCANGAN. Pada bab ini akan dibahas mengenai beberapa hal dasar tentang bagaimana. simulasi mobil automatis dirancang, diantaranya adalah :

BAB III METODE PENELITIAN DAN PERANCANGAN SISTEM. Metode penelitian yang digunakan adalah studi kepustakaan dan

MICROCONTROLER AVR AT MEGA 8535

BAB 3 PERANCANGAN SISTEM

BAB III METODE PENELITIAN

PENGENDALIAN KECEPATAN MOTOR DC MENGGUNAKAN SENSOR ENCODER DENGAN KENDALI PI

BAB IV METODE KERJA PRAKTEK

BAB III PERANCANGAN STAND ALONE RFID READER. Dalam penelitian ini, perancangan sistem meliputi :

Perancangan PENGKODEAN NRZ-L DAN MANCHESTER BERBASIS MIKROKONTROLER ATMEGA8535. SKRIPSI (Resume)

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB III PERANCANGAN DAN PEMBUATAN PERANGKAT KERAS

Membuat Robot Tidak Susah. Hendawan Soebhakti Dosen Teknik Elektro Politeknik Batam Portal : hendawan.wordpress.

BAB III METODE PENELITIAN

JEMBATAN TIMBANG UNTUK PENGGUNA KURSI RODA

BAB III PERANCANGAN DAN PEMBUATAN ALAT

Kotak Surat Pintar Berbasis Mikrokontroler ATMEGA8535

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB III METODE PENELITIAN DAN PERANCANGAN SISTEM. penelitian laboratorium. Studi kepustakaan dilakukan sebagai penunjang yang

BAB III PERANCANGAN. Alat pemantau tekanan dan konsentrasi oksigen udara pernafasan ini terdiri dari

Tachometer Berbasis Mikrokontroler AT Mega 8 Dilengkapi dengan Mode Hold

BAB III METODE PENELITIAN. trafo step down untuk menyuplay rangkaian. Timer dan suhu ditentukan

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN DAN REALISASI PERANGKAT KERAS DAN PERANGKAT LUNAK SISTEM. Dari diagram sistem dapat diuraikan metode kerja sistem secara global.

BAB III METODE PENELITIAN. baik pada perangkat keras maupun pada komputer. Buffer. Latch

BAB IV PENGUJIAN DAN ANALISIS SISTEM. didapat suatu sistem yang dapat mengendalikan mobile robot dengan PID

BAB III METODE PENELITIAN. diperlukan dengan beberapa cara yang dilakukan, antara lain:

A. MIKROKONTROLLER Sebenarnya apakah yang disebut dengan mikrokontroler? Sebuah kontroler digunakan untuk mengontrol suatu proses atau aspek-aspek

MICROCONTROLER AVR AT MEGA 8535

BAB II TINJAUAN PUSTAKA

MIKROKONTROLER ATMEGA BERBASIS CODEVISION AVR (ADC DAN APLIKASI TERMOMETER) dins D E P O K I N S T R U M E N T S

BAB III PERANCANGAN. proses secara garis besar. Perancangan keseluruhan adalah acuan untuk. Gambar 3.1 Diagram blok pengukur tinggi digital

BAB III PERANCANGAN PERANGKAT KERAS MOBILE-ROBOT

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB III PERANCANGAN SISTEM

BAB II TINJAUAN PUSTAKA

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

III. METODE PENELITIAN. dari bulan November 2014 s/d Desember Alat dan bahan yang digunakan dalam perancangan Catu Daya DC ini yaitu :

BAB III METODE PENELITIAN. Tujuan dari tugas akhir ini yaitu akan membuat sebuah mobile Robot

BAB III PERANCANGAN ALAT

Sistem Minimum Mikrokontroler. TTH2D3 Mikroprosesor

Seminar Tugas Akhir Juni 2017

BAB IV ANALISA DAN PENGUJIAN ALAT

IV. PERANCANGAN SISTEM

DAFTAR ISI. HALAMAN PENGESAHAN... i. KATA PENGANTAR... iii. DAFTAR ISI... v. DAFTAR TABEL... x. DAFTAR GAMBAR... xi. DAFTAR LAMPIRAN...

BAB II TINJAUAN PUSTAKA

ANALISIS SINYAL PHOTOPLETHYSMOGRAM DENGAN METODE TRANSMITTAN DAN REFLEKTAN ROICHATUN NASHICHA P

Perancangan Alat Fermentasi Kakao Otomatis Berbasis Mikrokontroler Arduino Uno

BAB IV CARA KERJA DAN PERANCANGAN SISTEM. ketiga juri diarea pertandingan menekan keypad pada alat pencatat score, setelah

ABSTRAK. Kata kunci: Sensor LM35,ATmega 8535

BAB 3 PERANCANGAN SISTEM PEMANTAUAN POSISI DAN TINGKAT PENCEMARAN UDARA BEGERAK

BAB III ANALISIS DAN PERANCANGAN

BAB 3 PERANCANGAN SISTEM. Bab ini akan membahas tentang perancangan sistem yang digunakan dari alat

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN SISTEM

BAB II KONSEP DASAR PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB III RANCANG BANGUN SISTEM KARAKTERISASI LED. Rancangan sistem karakterisasi LED diperlihatkan pada blok diagram Gambar

BAB III METODE PENELITIAN DAN PERANCANGAN SISTEM. secara otomatis. Sistem ini dibuat untuk mempermudah user dalam memilih

BAB III PERANCANGAN DAN PEMBUATAN SISTEM. Gambar 3. 1 Diagram Blok Sistem Kecepatan Motor DC

Journal of Control and Network Systems

III. METODE PENELITIAN. Penelitian ini dilaksanakan mulai pada November 2011 hingga Mei Adapun tempat

BAB III PERENCANAAN DAN PERANCANGAN

BAB III PERANCANGAN ALAT

BAB III PERENCANAAN PERANGKAT KERAS DAN LUNAK

Modifikasi Perimetri dengan 2 Kontrol (Personal Komputer)

SISTEM PENGATURAN POSISI SUDUT PUTAR MOTOR DC PADA MODEL ROTARY PARKING MENGGUNAKAN KONTROLER PID BERBASIS ARDUINO MEGA 2560

IV. HASIL DAN PEMBAHASAN. Hasil dari perancangan perangkat keras sistem penyiraman tanaman secara

BAB III METODE PENELITIAN. dapat bekerja untuk menjalankan perangkat keras. sensor yang berawal dari percobaan - percobaan yang dilakukan, menggunakan

BAB IV PENGUJIAN ALAT DAN ANALISA

DT-51 Application Note

DAFTAR ISI HALAMAN PENGESAHAN... ABSTRAKSI... KATA PENGANTAR... DAFTAR ISI... DAFTAR TABEL... DAFTAR GAMBAR... DAFTAR LAMPIRAN...

Mikrokontroler AVR. Hendawan Soebhakti 2009

JEMURAN PAKAIAN OTOMATIS DENGAN MENGGUNAKAN. SENSOR CAHAYA (LDR) dan SENSOR HUJAN. Naskah Publikasi

DAFTAR ISI LEMBAR PENGESAHAN... LEMBAR PERSETUJUAN... PERNYATAAN KEASLIAN... ABSTRAK... ABSTRACT... KATA PENGANTAR... vii DAFTAR ISI...

BAB II LANDASAN TEORI

Automatic Processing Film (APF) berbasis mikrokontroller ATMEGA 8535 (Kontrol Suhu)

BAB IV PEMBAHASAN Rancangan Mesin Panjang Terpal PUSH BUTTON. ATMega 128 (Kendali Kecepatan Motor Dua Arah)

Transkripsi:

BAB III METODE PENELITIAN Metode penelitian yang digunakan pada pembuatan perangkat keras dan perangkat lunak adalah studi kepustakaan dan penelitian laboratorium. Dengan cara ini penulis berusaha untuk mendapatkan dan mengumpulkan data-data, informasi, konsep-konsep yang bersifat teoretis dari buku, bahan-bahan kuliah, dan referensi dari internet yang berkaitan dengan permasalahan. Penelitian laboratorium dilakukan dengan perancangan perangkat keras dan perangkat lunak, kemudian melakukan pengujian terhadap perangkat keras dan perangkat lunak. Langkah berikutnya adalah mengambil atau mengumpulkan data hasil percobaan. Langkah terakhir adalah melakukan evaluasi dan analisis terhadap hasil data yang dikumpulkan. Diagram blok yang digunakan dalam sistem dengan menggunakan kendali PID dan fuzzy untuk optimalisasi kecepatan mobile robot menggunakan komunikasi SPI (Serial Peripheral Interface), dapat dilihat pada Gambar 3. : 39

40 Input : jarak dan waktu Minimum sistem master Proses Fuzzy Feedback jarak Sensor jarak spi spi Feedback kecepatan Minimum sistem slave Proses PID Minimum sistem slave Proses PID Feedback kecepatan Gambar 3. Diagram blok sistem keseluruhan Motor kanan Motor kiri Dari blok diagram pada Gambar 3. dapat dilihat porsi untuk masingmasing sistem kendali PID dan fuzzy. Pada sistem ini memiliki input berupa jarak dan waktu yang kemudian akan menjadi input fuzzy yang diproses oleh microcontroller ATmega6 sebagai Master. Metode fuzzy yang digunakan adalah metode Sugeno. Setelah proses fuzzy selesai dilakukan oleh microcontroller Master, maka microcontroller Master akan mengeluarkan output berupa kecepatan (dalam satuan rpm) yang kemudian akan dikirim ke dua buah microcontroller ATmega8 sebagai Slave. Microcontroller Slave pada tugas akhir

4 kali ini berfungsi sebagai pengontrol motor kanan dan motor kiri yang satu sama lain tidak berkomunikasi secara langsung. Pada microcontroller Slave dilakukan proses kendali PID yang digunakan untuk mengontrol motor kanan dan motor kiri. Di mana proses PID mendapatkan input berasal dari microcontroller Master yang mengirimkan kecepatan yang selalu berubah-ubah sesuai dengan output fuzzy yang dihasilkan. 3. Perancangan Perangkat Keras 3.. Perancangan Mekanik Robot Robot yang digunakan penulis terdiri atas buah roda disertai motor yang terletak disisi kiri dan kanan bagian base robot digunakan untuk menjalankan robot. Berikut arsitektur robot secara detail adalah sebagai berikut. Ukuran dimensi Ukuran Robot Struktur Material Bahan Material yang digunakan : a. Bagian Rangka. Aluminium Profile.. Aluminium Sheet. 3. Bearing. 4. Mur dan Baut. b. Bagian dari Penggerak Robot :. Motor DC Volt.. Aluminium. : 500 mm x 600 mm x 00 mm

4 3. Roda dari karet Silikon. 4. Roda Bebas. 5. Belt. 6. Gear. Berikut arsitektur robot secara detail adalah sebagai berikut : 3.. Perancangan Minimum System Gambar 3. Desain robot keseluruhan Rangkaian minimum system dibuat untuk mendukung kerja dari microchip ATmega dimana microchip tidak bisa berdiri sendiri melainkan harus ada rangkaian dan komponen pendukung seperti halnya rangakaian catu daya, kristal dan lain sebagainya yang biasanya disebut minimum system.

43 Microchip berfungsi sebagai otak dalam mengolah semua instruksi baik input maupun output seperti halnya pemroses data input fuzzy maupun PID yang kemudian menghasilkan output yang digunakan untuk menjalankan motor. Minimum system yang dirancang penulis dalam tugas akhir kali ini menggunakan minimum system dengan komunikasi SPI (Serial Peripheral Interface) yang terdiri dari satu buah microcontroller ATmega6 sebagai microcontroller Master dan dua buah ATmega8 sebagai microcontroller Slave. Dalam komunikasi SPI terdapat satu Minimum system sebagai Master dan dua minimum system sebagai Slave. Pada rangkaian minimum system ini penulis memberikan pin VCC masukan tegangan operasi berkisar antara 4,5 Volt sampai dengan 5 Volt. pin reset berfungsi untuk masukan reset program secara otomatis atau manual. Sedangkan pin MOSI (Master Output Slave Input), MISO (Master Input Slave Output), dan SCK (Signal Clock) digunakan untuk keperluan pemrograman microcontroller dan sebagai komunikasi antara Master dan Slave (komunikasi SPI), sedangkan pin SS (Slave Select) digunakan oleh Master sebagai selektor antara Slave dan slave. Untuk melakukan proses downloading program dari komputer ke microcontroller harus dilakukan secara terpisah antara Master dan Slave.

3 GND GND pushbutton GND VCC 0 44 Minimum sistem master (Proses fuzzy) Rotary encoder SPI SPI Rotary encoder Minimum sistem slave (proses PID) Minimum sistem slave (proses PID) Rotary encoder Driver motor Driver motor Gambar 3.3 Diagram blok rancangan Minimum system keseluruhan A. Minimum System Master v v 00uF/5v R 00 f use 5v regulator LM7805 VI R 0k reset cap 0uF/6v 5v DIODE VO R 330 LED 3 sumber tegangan v 470uf /6v 5v cap 30pf cap 30pf T M ss ss mosi miso sck reset ATMega6 3 4 5 6 7 8 9 cry stal.095.000 3 4 5 6 7 8 9 0 5 V cap 00u PB0/(XCK/T0) PA0/(ADC0) PB/(T) PA/(ADC) PB/(INT/AIN0) PA/(ADC) PB3/(OC0/AIN) PA3/(ADC3) PB4/(SS) PA4/(ADC4) PB5/(MOSI) PA5/(ADC5) PB6/(MISO) PA6/(ADC6) PB7/(SCK) PA7/(ADC7) RESET XTAL XTAL PD0/(RXD) PD/(TXD) PD/(INT0) PD3/(INT) PD4/(OCB) PD5/(OCA) PD6/(ICP) PD7/(OC) AREF AVCC PC7/(TOSC) PC6/(TOSC) PC5/(TDI) PC4/(TDO) PC3/(TMS) PC/(TCK) PC/(SDA) PC0/(SCL) Motor DC Motor DC 40 39 38 37 36 35 34 33 3 30 9 8 7 6 5 4 3 Gambar 3. Rangkaian skematik minimum system Master

45 Minimum system Master menggunakan microcontroller ATmega6 yang mempunyai 40 pin I/O dan salah satunya terdapat fasilitas untuk berkomunikasi antar microcontroller yaitu komunikasi SPI. Dalam komunikasi SPI minimum system Master merupakan salah satu komponen penting, dimana dalam tugas akhir ini Minimum system Master digunakan sebagai pemroses fuzzy yang mempunyai input berupa jarak dan waktu seperti yang telah digambarkan pada blok diagram dan akan menghasilkan output berupa kecepatan yang akan dikirimkan ke minimum system Slave. Tabel di bawah ini merupakan pin I/O yang digunakan penulis dalam pembuatan tugas akhir pada minimum system Master. Pin I/O Vcc Gnd PA0-PA7 PB PD T/PB Mosi/PB5 Miso/PB6 Sck/PB7 Reset PC0-PC7 Tabel 3. Pin I/O Minimum system Master Fungsi Power 5v Ground LCD Sebagai slave select (selektor) ke microcontrollerkontroler slave Sebagai slave select (selektor) ke microcontrollerkontroler slave Sebagai counter 6 bit nilai jarak dari rotary encoder Master out, slave in (digunakan dalam komunikasi SPI) Master in, salve out (digunakan dalam komunikasi SPI) Serial Clock (digunakan dalam komunikasi SPI) Mereset program Digunakan sebagai keypad

pushbutton GND 46 B. Minimum System Slave v Cap 00uF/5v reset T0 S cap 30 pf cry stal 5 V cap 00u.059 Mhz dir cap 30 pf dir Regulator LM7805 VI IC4 8 PC6 (RESET)(SCL/ADC5) PC5 7 3 PD0 (RxD) (SDA/ADC4) PC4 6 4 PD (TxD) (ADC3) PC3 5 5 PD (INT0) (ADC) PC 4 6 PD3 (INT) (ADC) PC 3 7 PD4 (XCK/T0) (ADC0) PC0 8 VCC AGND 9 GND AREF 0 0 PB6 (XT/TOSC) AVCC 9 PB7 (XT/TOSC) (SCK) PB5 8 PD5 (T) (MISO) PB4 7 3 PD6 (AIN0) (OC/MOSI) PB3 6 4 PD7 (AIN) (SS/OCB) PB 5 PB0 (ICP) (OCA) PB ATmega8 VO Cap 470uf /6v v sck miso mosi ss pwm Gambar 3.3 Rangkaian skematik Minimum system slave Pada Gambar 3.3 merupakan rangkaian skematik minimum system slave, minimum system Slave disini menggunakan microcontroller ATmega8 yang mempunyai 8 pin I/O dan salah satunya terdapat fasilitas untuk berkomunikasi antar microcontroller yaitu komunikasi SPI. Dalam komunikasi SPI minimum system Slave merupakan salah satu komponen penting, dimana dalam tugas akhir ini Minimum system Slave digunakan sebagai pemroses kendali PID yang mempunyai input berupa kecepatan yang berasal dari minimum system Master dan menghasilkan output berupa PWM yang akan digunakan untuk mengendalikan motor DC. Tabel di bawah ini merupakan pin I/O yang digunakan penulis dalam pembuatan tugas akhir pada minimum system Slave. 3 5v konektor fuse 00 5v R 0k reset Cap 0uF/6v DIODE 5v sumber tegangan V R 330 LED 5v sck miso mosi reset 3 4 5 6 downloader

47 Pin I/O Vcc Gnd PB/ORA T0/PC4 Mosi/PB3 Miso/PB4 Sck/PB5 Reset PB/SS Tabel 3. Pin I/O Minimum system slave Fungsi Power 5v Ground Sebagai output pwm 8 bit atau 0 bit Sebagai counter 8 bit nilai rpm dari rotary encoder Master out, slave in (digunakan dalam komunikasi SPI) Master in, salve out (digunakan dalam komunikasi SPI) Serial clock (digunakan dalam komunikasi SPI) Mereset program Sebagai Slave select dari microcontrollerkontroler Master 3..3 Perancangan Driver Motor L98 Driver motor merupakan salah satu komponen terpenting dalam pengerjaan tugas akhir kali ini, di mana driver motor digunakan sebagai pengendali motor DC. Dalam konteks tugas akhir kali ini driver motor yang digunakan penulis adalah driver motor L98. Driver motor L98 diparalel agar mendapatkan arus yang besar untuk menjalankan motor DC. Driver motor L98 mempunyai dua channel output motor, dalam satu channel mempunyai arus sebesar A, sedangkan untuk menjalankan motor DC yang ada pada robot, penulis membutuhkan arus yang lebih besar guna menstabilkan motor pada robot. Maka solusi yang tepat adalah memparalel dua channel output driver motor tersebut agar menjadi satu untuk mendapatkan arus sebesar 4A. Berikut gambar rangkaian driver motor yang telah diparalel.

pushbutton GND 48 3..4 Program kendali Fuzzy Gambar 3.4 Rangkaian driver motor L98 Program kendali fuzzy terdiri atas fuzzification, evaluasi aturan, mekanisme pengambilan keputusan metode Sugeno. Keluaran pada proses mekanisme pengambilan keputusan metode Sugeno merupakan hasil dari proses kendali fuzzy secara keseluruhan untuk mendapatkan nilai tegasnya yaitu sinyal kontrol (rpm). Blok diagram program kendali fuzzy diperlihatkan pada Gambar 3.9. v Cap 00uF/5v reset T0 S cap 30 pf cry stal 5 V cap 00u.059 Mhz dir cap 30 pf dir Regulator LM7805 VI IC4 8 PC6 (RESET)(SCL/ADC5) PC5 7 3 PD0 (RxD) (SDA/ADC4) PC4 6 4 PD (TxD) (ADC3) PC3 5 5 PD (INT0) (ADC) PC 4 6 PD3 (INT) (ADC) PC 3 7 PD4 (XCK/T0) (ADC0) PC0 8 VCC AGND 9 GND AREF 0 0 PB6 (XT/TOSC) AVCC 9 PB7 (XT/TOSC) (SCK) PB5 8 PD5 (T) (MISO) PB4 7 3 PD6 (AIN0) (OC/MOSI) PB3 6 4 PD7 (AIN) (SS/OCB) PB 5 PB0 (ICP) (OCA) PB ATmega8 VO 3 5v Cap 470uf /6v v sck miso mosi ss pwm konektor fuse 00 5v R 0k reset Cap 0uF/6v DIODE 5v sumber tegangan V R 330 LED 5v sck miso mosi reset 3 4 5 6 downloader

49 Gambar 3.5 Flowchart Logika Fuzzy

50 Pada gambar 3.5 dapat dijelaskan sebagai berikut :. Input fuzzy diperoleh dari penekanan keypad berupa nilai jarak dan waktu. Adapaun program penekanan keypad sebagai berikut. unsigned int tekan_keypad(unsigned char tanda) unsigned int itung = 0,x = 6; //Deklarasi variabel unsigned int hasil; unsigned char buffer; unsigned char temp_hasil[3],temp_hasil[5]; while() buffer = '-'; colom = ; //output keypad colom = 0; //output keypad colom3 = ; //output keypad colom4 = ; //output keypad if (!row) buffer = '#',waiting(); //input keypad else if (!row) buffer = '9',waiting();//input keypad else if (!row3) buffer = '6',waiting();//input keypad else if (!row4) buffer = '3',waiting();//input keypad delay_ms(50); colom = ; colom = ; colom3 = 0; colom4 = ; if (!row) buffer = '0',waiting(); else if (!row) buffer = '8',waiting(); else if (!row3) buffer = '5',waiting(); else if (!row4) buffer = '',waiting(); delay_ms(50); colom = ; colom = ; colom3 = ; colom4 = 0; if (!row) buffer = '*',waiting(); else if (!row) buffer = '7',waiting(); else if (!row3) buffer = '4',waiting(); else if (!row4) buffer = '',waiting(); if(tanda == 0) lcd_gotoxy(x,0); lcd_putchar('_'); if (tanda == ) Lcd_gotoxy(x,); Lcd_putchar('_'); if (buffer == '#')goto exit; //keluar dari fungsi tekan //keypad if (buffer!= '-') if (tanda == 0 ) temp_hasil[itung++] = buffer; lcd_gotoxy(x++,0); lcd_putchar(buffer);

5 else if(tanda == ) temp_hasil[itung++] = buffer; lcd_gotoxy(x++,); lcd_putchar(buffer); else temp_hasil[itung++] = buffer; exit: lcd_gotoxy(x,0); lcd_putchar(' '); if(tanda == ) hasil = atoi(temp_hasil); else hasil = atoi(temp_hasil); return hasil;. Fuzzification adalah proses pemetaan input crisp ke dalam himpunanhimpunan fuzzy dalam bentuk fungsi keanggotaan. Tujuan dari fuzzification adalah untuk mendapatkan derajat keanggotaan dari hasil pemetaan input crisp kedalam fungsi keanggotaan yang bersesuaian. Derajat keanggotaan bernilai antara 0 dan. Tahapan awal proses fuzzification adalah menentukan parameter-parameter fungsi keanggotaan pada setiap himpunan fuzzy masukan. Pada pemrograman fuzzification ini digunakan parameter fungsi keanggotaan masukan berupa nilai jarak dan nilai waktu. Gambar 3.6 dan Gambar 3.7 merupakan parameter fungsi keanggotaan jarak dan waktu. Gambar 3.6 Fungsi keanggotaan jarak

5 Gambar 3.7 Fungsi keanggotaan waktu Pada Gambar 3.6 dan 3.7 adalah fungsi keanggotaan dari jarak dan waktu yang merupakan suatu variabel linguistic. Nilai linguistic S (jarak) = Habis, Dekat, Sedang, Jauh) dan T (waktu) = Selesai, Habis, Sedang, Lama, dimana nilai semesta pembicaraanya terletak antara -4 sampai 0. Distribusi fungsi keanggotaannya adalah fungsi segitiga dan fungsi trapesoid. Fungsi trapesoid mempunyai empat parameter = [a, b, c, d], dimana a, b, c dan d adalah proyeksi titik-titik sudut trapesium pada sumbu mendatar, contohnya pada fungsi trapesoid keanggotaan sedang jarak terdapat empat parameter nilai yaitu [4, 8,, 6]. Penggunaan rumus fungsi segitiga dan trapesoid sama dibedakan hanya parameter segitiga b dan c berhimpit sehingga dalam fungsi segitiga nilai b dan c bernilai sama. Untuk mencari nilai bobot dari derajat keanggotaan masing-masing fungsi menggunakan rumus trapesoid yaitu : ( ) ( ( ) ) (3.) Keterangan :. u(x) adalah nilai derajat keanggotaan. x adalah nilai input crisp atau nilai tegas

53 3. a, b, c, d merupakan parameter nilai dari fungsi trapesoid Sedangkan realisasi proses memperoleh derajat keanggotaan dari masing masing fungsi keanggotaan adalah sebagai berikut. /*variable array dk[0] sampai dk[3] merupakan nilai derajat keanggotaan dari jarak sedangkan dk[4] sampai dk[7] merupakan nilai derajat keanggotaan dari waktu Untuk nilai parameter fungsi keanggotaan jarak dikalikan 00 karena sensor membacanya dalam centimeter */ dk[0] = derajat_keanggotaan(-900,-800,0,00,s_jarak); dk[] = derajat_keanggotaan(0,400,400,800,s_jarak); dk[] = derajat_keanggotaan(400,800,00,600,s_jarak); dk[3] = derajat_keanggotaan(00,600,3000,3400,s_jarak); dk[4] = derajat_keanggotaan(-0,-6,0,,t_waktu); dk[5] = derajat_keanggotaan(0,4,4,8,t_waktu); dk[6] = derajat_keanggotaan(4,8,,6,t_waktu); dk[7] = derajat_keanggotaan(,6,30,34,t_waktu); /*fungsi dari program yang digunakan untuk memperoleh nilai derajat keanggotaan */ float derajat_keanggotaan (float a,float b,float c,float d,float input) float m,m,m3,m4,m5,m6,m7; m = b-a; m7 = d-c; if (m!=0)m = (input-a)/(b-a); else m=0; if (m7!=0)m3 = (d-input)/(d-c); else m3=0; m4 = fmin(m,); m5 = fmin(m4,m3); m6 = fmax(m5,0); return m6; 3. Rule set atau evaluasi aturan adalah proses mengevaluasi derajat keanggotaan tiap-tiap fungsi keanggotaan himpunan fuzzy masukan ke dalam basis aturan yang telah ditetapkan. Tujuan dari evaluasi aturan ini adalah menentukan derajat keanggotaan dari keluaran fuzzy. Sebelum melakukan evaluasi aturan terlebih dahulu ditetapkan basis aturan. Basis aturan merupakan keseluruhan aturan dari kombinasi dua masukan yang mungkin. Secara lengkap, jumlah kombinasi yang mungkin dari dua himpunan fuzzy masukan dengan masing-

54 masing empat fungsi keanggotaan sehingga jumlah aturannya adalah enambelas aturan. Basis aturan yang dibuat berdasarkan tingkah laku plant yang diinginkan. Pada bentuk yang lebih sederhana, sembilan aturan kendali fuzzy dapat dilihat pada tabel 3. Jarak Waktu Tabel 3. Basis aturan kendali fuzzy Selesai Dekat Sedang Jauh Selesai Berhenti Berhenti Berhenti Berhenti Habis Berhenti Lambat Sedang Cepat Sedang Berhenti Lambat Sedang Cepat Lama Berhenti Lambat Lambat Lambat Berhenti, Lambat, Sedang, Cepat merupakan konstanta konsekuen dari anteseden dan masing-masing konstanta memiliki nilai yaitu Berhenti = 0, Lambat = 500, Sedang = 850, Cepat = 000. Setelah proses fuzzification dieksekusi, dilakukan proses agregasi dengan mengambil nilai maksimal dari masing masing fungsi keanggotaan variable keluaran. Realisasi proses evaluasi aturan dalam bentuk program adalah sebagai berikut. /*mencari nilai korelasi AND antara fungsi keanggotaan jarak dan waktu*/ nilai_penyebut = k = 0;for (i = 0; i < 4; i++) for (j = 4; j < 8; j++) u[k] = rule_set(dk[i],dk[j]); nilai_penyebut = nilai_penyebut + u[k++]; k=0; float rule_set(float a,float b) float nilai; nilai = fmin(a,b);

55 return nilai; 4. Defuzzification adalah kebalikan dari proses fuzzification, yaitu mengubah himpunan Fuzzy keluaran menjadi keluaran tegas (crisp). Pengubahan ini diperlukan karena konstanta kendali PID hanya mengenal nilai tegas sebagai variable sinyal kontrol. Perancangan ini, menggunakan sebuah himpunan fuzzy keluaran dengan fungsi keanggotaannya berupa singleton yaitu fungsi keanggotaan keluaran sinyal control dapat dilihat pada Gambar 3.8 Gambar 3.8 Fungsi keanggotaan keluaran sinyal control Hasil keluaran crisp output akan dikirim ke Slave dengan komunikasi SPI sebagai sinyal kontrol PID. Realisasi proses pengambilan keputusan metode sugeno menjadi bentuk crisp output dalam bentuk program adalah sebagai berikut : u[0] = u[0] * berhenti; u[] = u[] * berhenti; u[] = u[] * berhenti; u[3] = u[3] * berhenti; u[4] = u[4] * berhenti; u[5] = u[5] * lambat; u[6] = u[6] * lambat; u[7] = u[7] * lambat; u[8] = u[8] * berhenti; u[9] = u[9] * sedang; u[0] = u[0] * sedang;

56 u[] = u[] * lambat; u[] = u[] * berhenti; u[3] = u[3] * cepat; u[4] = u[4] * cepat; u[5] = u[5] * lambat; nilai_pembilang = 0; for (i=0;i < 6; i++) nilai_pembilang = nilai_pembilang + u[i]; if(nilai_penyebut!=0)rpmdata = nilai_pembilang/nilai_penyebut; else RPMdata = 0; 3..5 Kontroler PID (Proportional Integral Derivative) Dalam pengontrolan PID dapat dinyatakan dengan persamaan differensial sebagai berikut : ( ) * ( ) ( ) ( ) + (3.) Dimana e(t) = r(t) c(t), r(t) adalah setpoint, c(t) adalah variable proses dan m(t) adalah variable manipulasi. Dan untuk mengimplementasikan kontrol PID dengan perangkat digital, maka haus dilakukan konversi dari bentuk kontinu ke bentuk diskrit. Dengan melihat bahwa : ( ) Maka persamaan diatas menjadi persamaan PID diskrit : ( ) (3.3) ( ) * ( ) + (3.4) Dimana m(n) menyatakan nilai m pada suatu interval n t, dengan n bilangan bulat. Dengan memperkenalkan parameter : ( ) (3.5) ( ) (3.6)

57 Dimana Ts = t = waktu sampling dari input, maka persamaan PID diskrit di atas dapat dinyatakan dalam sebuah algoritma perumusan sebagai berikut : (3.7) ( ) ( ) (3.8) Dimana S n = jumlah seluruh nilai error pada interval 0 sampai nt s Pada desain tugas akhir kali ini kontrol PID mendapat input yang berasal dari metode fuzzy yang sebelumnya melakukan proses perhitungan fuzzification yang menghasilkan output berupa kecepatan (Rpm). Gambar 3.9 merupakan formula kendali kontrol PID yang digambarkan melalui sebuah flowchart adalah sebagai berikut :

58 Start Sn = 0 D_error = 0 Y Y Sn < 0 N D_error < 0 N N Error = sp - pv P = kp*error Sn = Sn_lm + error Y Over flow Sn = 03 I = ki*sn D_error = error error_lm N Inisialisasi : kp,ki,kd Input : sp=output fuzzy Over flow Y D_error = 03 D = kd*d_error error_lm = error Sn_lm = Sn pwm = pwm + PID PID = P + I + D Gambar 3.9 Flowchart Kontrol PID

59 Dari program flowchart di atas dapat dilihat bahwa input kontrol PID berasal dari output fuzzy berupa kecepatan yang kemudian diolah melalui perumusan kontrol PID. Pada kontrol PID terdapat feedback atau yang disebut dengan PV (present value) dari motor DC yang telah diolah oleh sensor rotary encoder yang akan digunakan sebagai perhitungan kontrol PID. Berikut merupakan cuplikan program pengambilan feedback oleh sensor optocoupler : Pv = 0; delay_ms(00); //time sampling data pv pv = TCNT0*0; //rumus perhitungan rps dimana 0 //didapatkan dari jumlah time sampling //dikali 0 agar mendapatkan waktu //detik. pv = (pv/55)*60; //rumus perhitungan rpm Berikut merupakan cuplikan program kontrol P, kontrol I, dan kontrol D sebagai berikut :. Kontrol P. Kontrol I kp = 0.5; //nilai kp didapatkan dari trial error error = sp - pv; //sp didapatkan dari inputan dari fuzzy p = kp*error; Ki = 0.0000; //nilai ki didaptkan dari trial error sn = sn_lm + error;//sn adalah jumlah keselutuhan dari error if (sn > 03) sn = 03; else if (sn < 0) sn = 0; pi = ki*sn; 3. Kontrol D kd = 0.000; //nilai kd didapatkan dari trial error delta_e = error - error_lm; if (delta_e > 03)

60 delta_e = 03; else if (delta_e < 0) delta_e = 0; d = kd*delta_e; 4. Kontrol PID pid = (kp*error)+(ki*sn)+(kd*delta_e); pwm = pwm_lm + pid; if (pwm > 03) pwm = 03; else if (pwm < 0) pwm = 0;