PROYEK AKHIR
Rancang Bangun Becak Listrik Bertenaga Hybrid Dengan Menggunakan Kontrol PI-Fuzzy (Software)
Oleh: HANDOKO NRP. 7308 030 044
Dosen Pembimbing : Ainur Rofiq Nansur, ST, MT NIP. 19640713 198903 1 005 Endro Wahyono, S.ST, MT NIP. 19681109 199103 1 012
JURUSAN TEKNIK ELEKTRO INDUSTRI POLITEKNIK ELEKTRONIKA NEGERI SURABAYA INSTITUT TEKNOLOGI SEPULUH NOPEMBER SURABAYA 2011
i
Rancang Bangun Becak Listrik Bertenaga Hybrid Dengan Menggunakan Kontrol PI-Fuzzy (Software) Oleh: HANDOKO 7308 030 044 Proyek Akhir ini Diajukan Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Ahli Madya (A.Md) Di Politeknik Elektronika Negeri Surabaya Institut Teknologi Sepuluh Nopember Surabaya Disetujui oleh : Tim Penguji Proyek Akhir
Dosen Pembimbing
1
Renny Rakhmawati, ST, MT NIP. 19721024 199903 2 001
1 Ainur Rofiq Nansur, ST, MT NIP. 19640713 198903 1 005
2
Epyk Sunarno, S.ST, MT NIP. 19620723 199103 1 002
2 Endro Wahyono, S.ST, MT NIP. 19681109 199103 1 012
3
Mohamad Safrodin, B.Sc, MT NIP. 19770826 200812 1 002 Surabaya,30 Juli 2011 Mengetahui Ketua Jurusan Teknik Elektro Industri
Ainur Rofiq Nansur, ST, MT NIP. 19640713 198903 1 005
ii
ABSTRAK Keberadaan kendaraan becak saat ini mulai berkurang seiring dengan kemajuan teknologi di bidang transportasi. Hal ini sangat disayangkan karena becak merupakan alat transportasi traditional yang nyaman digunakan terutama untuk jarak dekat, selain itu becak merupakan alat transportasi yang ramah lingkungan karena tidak menghasilkan asap kendaraan yang menimbulkan polusi udara. Untuk tetap menjaga keberadaan becak, penulis akan merancang becak listrik yang bertenaga hybrid sebagai sumber tenaganya. Dengan memanfaatkan sel suryal, cahaya matahari diubah menjadi energi listrik. Keluaran energi listrik dari sel surya diinputkan ke rangkaian boost converter,output dari boost converter kemudian digunakan untuk mengisi akumulator untuk mensuplai motor DC. Selain itu dapat menggunakan sumber dari PLN secara langsung untuk mengisi akumulator. Kecepatan putaran motor diatur menggunakan kontrol PI-Fuzzy. Dengan terciptanya becak listrik tenaga hybrid ini diharapkan dapat menjaga keberadaan becak sebagai alat transportasi.
Kata kunci : motor DC, kontrol PI-Fuzzy, solar cell
iii
ABSTRACT The existence of the current pedicab vehicle began to decline in line with technological advances in transportation. This is unfortunate because traditional pedicab is a convenient means of transportation used primarily for short distances, other than that pedicabs are an environmentally friendly means of transportation because it does not produce fumes that cause air pollution. To keep the existence of a pedicab, the authors will design a hybrid-powered electric pedicab as its power source. Taking advantage of solar cells, sunlight is converted into electrical energy. Electrical energy output of solar cells entered into a series of boost converter, the output of the boost converter is then used to charging accumulators to supply the dc motor. Also from the PLN can use the source directly to charging accumulator. The speed of motor is regulated using a PI-fuzzy controlerl. With the creation of hybrid electric pedicab is expected to maintain the existence of pedicab as a means of transportation. Keywords: DC motor, PI-Fuzzy control, solar cell
iv
KATA PENGANTAR
Puji dan syukur senantiasa kita panjatkan ke hadirat Allah SWT atas segala nikmat, kekuatan, taufiq serta hidayah-Nya. Shalawat dan salam semoga tercurah kepada Rasulullah SAW, keluarga, sahabat, dan para pengikut setianya. Aamiiin. Atas kehendak Allah sajalah, penulis dapat menyelesaikan proyek akhir yang berjudul : RANCANG BANGUN SISTEM PENGATURAN PENERANGAN RUANGAN BERBASIS MIKROKONTROLER ( PERANGKAT KERAS ) Pembuatan Proyek Akhir ini merupakan salah satu syarat untuk memperoleh gelar Ahli Madya (A.Md) di Politeknik Elektronika Negeri Surabaya – Institut Teknologi Sepuluh Nopember. Penulis berharap agar proyek akhir dapat menambah literatur dan memberikan banyak manfaat bagi para pembacanya. Penulis menyadari bahwa apa yang kami lakukan dalam penyusunan buku tugas akhir ini masih jauh dari kata sempurna. Oleh karena itu, kami sangat mengharapkan kritik dan saran yang berguna dalam penyempurnaan sistem proyek akhir ini di masa yang akan datang. Akhirnya tak lupa penulis ucapkan terima kasih kepada semua pihak yang telah memberikan bantuan sehingga terselesaikannya Proyek Akhir ini. Semoga apa yang telah dilakukan dapat bermanfaat bagi kita semua. Surabaya,
Penyusun
v
UCAPAN TERIMAKASIH Dengan penuh keikhlasan dan kerendahan hati, penulis menghaturkan syukur Alhamdulillah yang sebesar – besarnya kepada ALLAH Yang Maha Rohman dan Maha Rokhim yang senantiasa memberikan kekuatan, bimbingan, ampunan yang seluas – luasnya dan pertolongan dengan seagung – agungnya pertolongan, serta Sholawat dan Salam sepenuhnya kami haturkan kepada junjungan kami Baginda Rosul Nabi Besar Muhammad SAW sebagai panutan dan sebagai suri tauladan kami. Tidak lupa juga kami ucapkan banyak terima kasih kepada berbagai pihak yang telah membantu penulis untuk menyelesaikan Proyek Akhir ini, diantaranya adalah:
1. Orang tua, kakak-kakakku yang penulis hormati. Terima kasih 2.
3.
4. 5.
karena selalu mendukung penulis baik lewat doa, materi, motivasi dan juga kasih sayang yang tak pernah henti. Bapak Ainur Rofiq Nansur, ST, MT dan bapak Endro Wahjono, SST, selaku Dosen Pembimbing yang telah banyak meluangkan waktu, pikiran, tenaga serta dengan sabar memberikan bimbingan serta motivasi kepada penulis, sehingga penulis menyelesaikannya Proyek Akhir ini dengan baik dan tepat waktu. Ibu Reni Rakhmawati ST, MT, bapak Epyk Sunarno, S.ST, MT, bapak Mohamad Safrodin B.sc, MT,dan selaku Dosen Penguji Proyek Akhir yang telah banyak memberikan banyak masukan kepada penulis. Bapak Ainur Rofiq Nansur, ST, MT, selaku Ketua Jurusan Teknik Elektro Industri yang selalu memberikan yang terbaik bagi penulis. Semua khalayak yang tidak bisa saya sebutkan satu – persatu, yang telah banyak membantu penulis dari awal hingga akhir pembuatan Tugas Akhir ini.
vi
DAFTAR ISI HALAMAN JUDUL ........................................................................ i HALAMAN PENGESAHAN .......................................................... ii ABSTRAK ........................................................................................ iii ABSTRACT ..................................................................................... iv KATA PENGANTAR ...................................................................... v UCAPAN TERIMA KASIH ............................................................ vi DAFTAR ISI .................................................................................... vii DAFTAR GAMBAR ........................................................................ xi DAFTAR TABEL ............................................................................ xiii
BAB I PENDAHULUAN ................................................................. 1 1.1 LATAR BELAKANG .................................................................. 1 1.2 TUJUAN ...................................................................................... 1 1.3 PERUMUSAN MASALAH ......................................................... 2 1.4 BATASAN MASALAH .............................................................. 2 1.5 METODOLOGI ........................................................................... 2 1.5.1 Study Literatur ................................................................... 2 1.5.2 Perancangan Sistem ............................................................ 3 1.5.3 Implementasi Dan Pembuatan Alat ..................................... 3 1.5.4 Pengujian Alat .................................................................... 3 1.5.5 Pembuatan Laporan Proyek Akhir ...................................... 3 1.6 SISTEMATIKA LAPORAN ........................................................ 4 1.7 TINJAUAN PUSTAKA ............................................................... 4 BAB II TEORI PENUNJANG ........................................................ 7 2.1 MIKROKONTROLER .............................................................. 7 2.1.1 Mikrokontroler AVR Atmega 16 ........................................ 7 2.1.2 Arsitektur Mikrokontroler AVR Atmega 16........................ 8 2.1.3 Konfigurasi Pin Atmega 16 ................................................ 10 2.1.4 Struktur Memori ................................................................. 13 2.1.5 Port Sebagai Input/output Digital ........................................ 14 2.1.6 Port Sebagai Analog Digital Converter ............................... 15 2.1.7 Timer/counter ..................................................................... 17 2.2 KONTROL OTOMATIS ........................................................... 18
vii
2.2.1 Definisi Kontrol ................................................................. 21 2.2.2 Kontrol Proporsional .......................................................... 21 2.2.3 Kontrol Integrator ............................................................... 23 2.2.4 Kontrol Proportional Integrator........................................... 24 2.3 FUZZY LOGIC CONTROLLER ................................................. 26 2.3.1 Fuzzification....................................................................... 25 2.3.2 Rule Evaluation .................................................................. 29 2.3.3 Defuzzification ................................................................... 27 2.3.4 Kontrol PI-Fuzzy ................................................................ 31 BAB III PERENCANAAN DAN PEMBUATAN PERANGKAT LUNAK...................................................................................... 33 3.1 KONFIGURASI SISTEM ............................................................ 33 3.1.1 Solar cell ............................................................................ 34 3.1.2 Konverter boost .................................................................. 34 3.1.3 Sensor tegangan ................................................................. 34 3.1.4 Charger PLN ...................................................................... 34 3.1.5 Battery ............................................................................... 34 3.1.6 Rangkaian Totempole ......................................................... 34 3.1.7 Microcontroller atmega 16 .................................................. 35 3.1.8 Driver ................................................................................. 35 3.1.9 Sensor Kecepatan ............................................................... 35 3.2 SISTEM OPEN LOOP ................................................................. 35 3.3 SISTEM CLOSE LOOP DENGAN KONTROL TIPE PI ............. 36 3.4SISTEM CLOSE LOOP DENGAN KONTROL TIPE PI FUZZY . 38 3.5 PEMBUATAN ALGORITMA PI FUZZY ................................... 38 3.5.1 Perencanaan program Fuzzy ............................................... 39 3.5.2 Fungsi Keanggotaan ........................................................... 36 3.5.3 Rule Base ........................................................................... 41 3.6.4 Membership Function ......................................................... 42 3.6.Flowchart System .................................................................. 42 BAB VI PENGUJIAN DAN ANALISA .......................................... 44 4.1 PENGUJIAN MINIMUM SISTEM MIKROKONTROLER ........ 44 4.2 PENGUJIAN ADC ...................................................................... 46 4.3 PENGUJIAN SENSOR KECEPATAN ........................................ 49
viii
4.4 PENGUJIAN SINYAL PWM MIKROKONTROLER PADA KAKI MOSFET ................................................................................. 51 4.5PENGUJIAN RESPON KONTROL PI-FUZZY ........................... 52 BAB V PENUTUP ............................................................................ 57 5.1 KESIMPULAN ............................................................................ 57 5.2 SARAN ........................................................................................ 57 DAFTAR PUSTAKA ....................................................................... 59 LAMPIRAN
ix
DAFTAR GAMBAR Gambar 2.1 ChipAT Mega 16 buatan ATMEL ...................................... 8 Gambar 2.2 Blok Diagram Arsitektur AT Mega 16 ................................. 10 Gambar 2.3 Pin-pin AVR Atmega 16 ............................................... 11 Gambar 2.4 Peta Memori Flash ........................................................ 13 Gambar 2.5 PetaMemoriSRAM ........................................................... 14 Gambar 2.6 Blok Diagram Timer/Counter............................................. 18 Gambar 2.7 Timing diagram timer/counter, tanpa prescaling ................... 19 Gambar 2.8 Timing diagram timer/counter, dengan prescaling ................ 19 Gambar 2.9 Timing diagram timer/counter, menyeting OCFO, dengan prescaller (fclk_I/O/8) ..................................................................... 20 Gambar 2.10 Timing diagram timer/counter, menyeting OCFO, pengosongan data timer sesuai dengan data pembanding,denganprescailer (fclk_I/O/8) ......................................... 20 Gambar 2.11 Kontrol ketinggian air secara manual................................. 21 Gambar 2.12 Diagram blok kontrol tipe proporsional.............................. 22
Gambar 2.13 Proporsionalband dari kontrol tipe proporsional tergantung pada penguatan ........................................................... 22 Gambar 2.14 Blok diagram hubungan antara sinyal error dengan sinyal keluaran kontrol tipe integral .............................................. 23 Gambar 2.15 Blok diagram kontrol tipe PI analog ................................. 24 Gambar 2.16 Perbedaan Fuzzy Logic dan Boolean Logic......................... 26 Gambar 2.17 Istilah yang digunakan dalam fuzzy ................................... 26 Gambar 2.18 Proses fuzzyfication ........................................................ 28 Gambar 2.19 Proses perubahan dari Crispinput menjadi fuzzyinput ........... 28 Gambar 2.20 Diagram blok proses rule evaluation ................................. 29 Gambar 2.21 Proses defuzzyfication ..................................................... 31 Gambar 2.22 Bentuk fuzzy output ........................................................ 31 Gambar 2.23 Blok diagram PI Fuzzycontroller ...................................... 32 Gambar 3.1 Blokdiagram sistem .......................................................... 33 Gambar 3.2 Blokdiagramsistemsecara open loop.................................... 36 Gambar 3.3 Blok diagram sistem dengan kontrol tipe PI ................... 36 Gambar 3.4 Gam Blok diagram sistem secara closeloop dengan kontrol PI ..................................................................................... 38 Gambar 3.5 Blok Diagram kontrol PI Fuzzy .......................................... 38 Gambar 3.6 Flowchart logika fuzzy................................................... 39
x
Gambar 3.7 Blok diagram kontroler .................................................. 39 Gambar 3.8 Flowchart proses penentuan crisp Input(kuantisasi) dan penentuan crisp output ....................................................... 40 Gambar 3.9 Flowchart proses Fuzzyfikasi ........................................ 46 Gambar 3.10 Flowchart System ........................................................ 43 Gambar 4.1 Pengujian Minimum sistem AT-Mega 16 ............................. 41 Gambar 4.2 Perbandingan nilai kecepatan pada sensor kecepatan dengan tachometer ..................................................................... 50 Gambar 4.3 Grafik pembacaan sensor kecepatan .............................. 51 Gambar 4.4 Penyulutan mosfet pada duty cycle 50 % ....................... 51 Gambar 4.5 Penyulutan mosfet pada duty cycle 60 % ....................... 52 Gambar 4.6 Respon Kontrol Pada Hyperterminal ................................... 52 Gambar 4.7 Grafik respon control ........................................................ 53 Gambar 4.8 Respon Kontrol Pada Hyperterminal ................................... 53 Gambar 4.9 Grafik respon control Pada Hyperterminal ........................... 54 Gambar 4.10 respon control saat diberi beban ........................................ 54 Gambar 4.20 Grafik Hubungan Set Point Dengan Iluminasi
xi
DAFTAR TABEL Tabel 1 Rule base fuzzy ....................................................................... 42 Tabel 2 Tabel data pengujian ADC internal mikrokontroler ................ 48 Tabel 3 data pengujian sensor kecepatan .................................................. 49
xii
BAB I PENDAHULUAN 1.1.
Latar Belakang
Becak merupakan salah alat transportasi tradisional yang sering digunakan dan dijumpai di Indonesia. Namun saat teknologi semakin maju dan berkembang, keberadaan becak mulai berkurang. Hal ini sangat disayangkan karena becak merupakan alat transpotasi tradisional yang nyaman digunakan dan ramah lingkungan karena tidak menimbulkan polusi udara. Disisi lain becak dianggap sebagai alat transportasi yang sering menimbulkan kemacetan dijalan raya karena lajunya yang lamban. Oleh karena itu pada proyek akhir ini dirancang sebuah becak dengan teknologi kendaraan listrik. Becak listrik ini memanfaatkan tenaga matahari sebagai sumber tenaganya. Selain dengan tenaga matahari, becak ini juga dapat langsung dicharge dengan sumber PLN. Kontrol PI-Fuzzy adalah sistem kontrol yang modern dan sering digunakan karena memiliki respon yang stabil dalam pengaturan kecepatan motor.Dengan penggunaan kontrol PI-Fuzzy ini diharapkan becak listrik ini dapat memberi kenyamanam dalam berkendara dan dapat terus menjaga keberadaan dari becak di Indonesia. 1.2.
Tujuan
Pada pengerjaan tugas akhir ini mempunyai beberapa tujuan, diantaranya: 1. Merancang becak listrik dengan sumber energy hybrid yaitu menggunakan tenaga surya (solarcell) dan charger PLN. 2. Merancang kontrol PI-Fuzzy untuk mengatur kecepatan putaran motor DC.
1
1.3.
Perumusan Masalah
Berdasarkan dari latar belakang masalah dan mengacu pada penelaahan studi kepustakaan, secara umum dapat dirumuskan “Bagaimana merancang program Mikrokontroler untuk dapat mengontrol tegangan luaran dari solarcell sebagai masukan charger aki? Dan merancang kontrol PI-Fuzzy untuk mengontrol kecepatan putaran motor DC? 1.4.
Batasan Masalah
Pada pengerjaan tugas akhir ini mempunyai beberapa batasan masalah, diantaranya: 1. Kemampuan becak listrik berjalan masih terbatas pada beban satu orang penumpang 2. Pengaplikasian becak listrik masih terbatas pada kondisi jalan lurus. 3. Menggunakan dua sumber yaitu tenaga surya sebagai sumber utamadan charger PLN. 4. Sistem kontrol menggunakan PI-Fuzzy. 5. Sistem pengereman menggunakan pengereman mekanik. 6. Penggerak menggunakan sebuah motor DC seri untuk menggerakkan roda belakang. 1.5.
Metodologi
Dalam pengerjaan Proyek Akhir ini diperlukan suatu metodologi untuk mendapatkan hasil yang maksimal. Rancangan metodologi dalam Proyek Akhir yang akan dibuat adalah sebagai berikut : 1.5.1 Study Literatur Studi literatur ini merupakan pengumpulan konsep dasar proyek akhir yang bertujuan untuk mendapatkan metode yangterbaik dan tepat. Agar mendapatkan hasil yang maksimal maka diperlukan banyak referensi selain masukan dari dosen, sehingga hasil yang didapatkan semakin maksimal.Studi literatur ini bertujuan untuk memperoleh teori-teori penunjang yang melandasi pemecahan 2
masalah di lapangan, baik itu bersumber dari buku, situs web internet, maupun jurnal ilmiah.
1.5.2
Perancangan Sistem
Langkah selanjutnya adalah perancangan dari sistem yang akan dibuat. Mengacu pada blok diagram sistem, perancangan system meliputi pembuatan blok diagram dari kerja sistem meliputi Mikrokontroler untuk pengaturan dutycycle boost konverter sehingga mendapatkan tegangan output yang konstan serta kontrol PWM untuk penyulutan pada driver motor DC. 1.5.3 Implementasi Dan Pembuatan Alat Tahap ini adalah proses penerapan dan implementasi hasil dari perancangan sistem dan hasil simulasi menjadi sebuah alat. Alat tersebut berupa perangkat keras dan perangkat lunak. Diantaranya adalah pembuatan driver motor dc, pembuatan sensor tegangan, dan sensor kecepatan untuk perangkat keras, dan proses pemrograman pada CodeVision AVR. 1.5.4 Pengujian Sistem Pada tahap ini dilakukan pengujian terhadap sistem yangdibuat sehingga dapat ditemukan permasalahan dan dilakukan perbaikan. Beberapa hal diujikan terhadap alat diantaranya kesesuaian besar dutycycle PWM input dengan besar tegangan output yang dihasilkan oleh konverter, pengujian bentuk sinyal drive dari konverter, serta pengujian sinyal kontrol pada driver motor DC. 1.5.5
Pembuatan Laporan Proyek Akhir
Tahap ini merupakan tahap akhir dari proses pengerjaan proyek akhir. Laporan ini berisi proses kerja secara keseluruhan mulai awal hingga akhir pengerjaan proyek akhir. selain itu juga berisi analisa data dan hasil serta kesimpulan yang didapat.
3
1.6
Sistematika Laporan
Adapun sistematika penulisan laporan dalam penelitian ini meliputi : Bab I. Pendahuluan Pada bab ini akan dijelaskan mengenai latar belakang dilaksanakan tugas akhir ini, pokok permasalahan yang akan di teliti, batasan-batasan masalah yang digunakan, tujuan dan sistematika yang digunakan dalam proyek ini. Bab II. Dasar Teori Bab ini menjelaskan secara detail teori-teori tentang perangkat keras, perangkat lunak dan konsep dasar yang dipergunakan dalam tugas akhir ini. Bab III. Perencanaan Dan Pembuatan Perangkat Lunak Penjelasan tentang yang akan dilakukan pada tugas akhir ini akan dijelaskan pada bab ini. Bab IV. Pengujian Dan Analisis Dari perancangan yang dilakukan pada bab sebelumnya, pada bab ini akan dijelasakan hasil dari pengujian sistem yang telah dibuat. Bab V. Penutup Pada bab ini diberikan kesimpulan tentang tugas akhir yang telah dibuat beserta harapan penulis tentang pengembangan dari tugas akhir yang telah dibuat untuk disempurnakan. 1.7 Tinjauan Pustaka Dipilihnya kontrol fuzzy sebagai penggerak motor dc dikarenakan logika fuzzy merupakan jenis kontrol yang faulttolerant. Dalam arti kata sistem tidak akan mengalami perubahan yang signifikan dengan adanya pengurangan rules, diluar rule dasar atau rule tambahan. Sebagaimana yang diuraikan Resmana dan Thiang dalam sebuah seminar yang berjudul ”Implementasi Fuzzy Logic 4
pada mikrokontroler untuk kendali putaran motor dc”[3]. Implementasi logika fuzzy digunakan untuk menjaga kestabilan system dari motor dc ketika terdapat beban yang variabel. Sebagaimana telah dibahas sebelumnya pada motor induksi 3Φ dalam sebuah seminar yang berjudul ” Pengaturan Kecepatan Motor Induksi dengan Pembelajaran Aturan Fuzzy menggunakan Penelusuran Tabu”[1] oleh Agus Adiarta, Era Purwanto dan Mauridhi Hery Purnomo. Dalam tugas akhir karya Zaenal Arifin dengan judul “Portable Solar Charger” di jelaskan bahwa Sel surya menghasilkan tegangan output dengan nilai yang berubah-ubah sesuai dengan intensitas cahaya yang jatuh pada permukaannya. Sel surya akan menghasilkan tegangan maksimum saat intensitas cahaya yang jatuh pada permukaan sel surya maksimal serta kemampuan mengalirkan arus akan turun seiring turunnya intensitas cahaya yang jatuh pada permukaan sel surya. Perubahan nilai tegangan ini akan menghambat sistem pengisian baterei apabila sel surya langsung dihubungkan dengan baterei. Pada saat tegangan output sel surya turun, maka pengisian tidak dapat berlangsung. Begitu juga dengan generator. Sehingga dibutuhkan suatu rangkaian dan kontrol yang mampu menghasilkan tegangan output yang stabil dengan input dari sel surya yang berubah-ubah. Kontrol duty cycle PWM pada konverter boost adalah salah satu metode yang dapat digunakan untuk pengaturan tegangan. Rangkain driver atau pengaturan kecepatan motor menggunakan transistor power switcing dimana keluarannya berupa pulsa, hal ini menyebabkan perputaran motor tidak stabil. Dalam becak listrik ini dikembangkan memakai basic switching, dimana memiliki keluaran tegangan variable tergantung dari duty cycle penyulutan. Oleh Andik Tri Susanto, tugas akhir tahun ajaran 2007. Implementasi Fuzzy Logic Kontroller Pada Motor Dc Sebagai Penggerak Kursi Roda Elektrik Dilengkapi Dengan Safety Distance System (Software) disusun oleh Hari Pramujo dimana dalam mengendalikan kecepatan motor dc adalah Pulse-Width Modulation (PWM) karena ketahanannya terhadap gangguan/derau. Perancang sistem pengaturan kecepatan untuk motor dc menggunakan pengendali logika fuzi berbasis mikrokontroler Atmega16. Dengan menggunakan Fuzzy Logic Kontroller, masukan (eror kecepatan dan 5
deltaeror kecepatan) akan diproses guna mendapatkan nilai duty cycle sinyal PWM, nilai inilah yang digunakan sebagai acuan pembangkit PWM.
6
BAB II TEORI PENUNJANG 2.1 MIKROKONTROLER Semakin cepatnya perkembangan teknologi di zaman sekarang ini, khususnya dunia mikroelektronika, banyak kita temui penggunaan mikrokontroler pada berbagai peralatan. Mikrokontroler dapat kita gunakan untuk berbagai aplikasi misalnya pengendalian, otomasi industri, akuisiisi data dan sebagainya mulai dari sistem yang sederhana hingga sistem yang kompleks. Mikrokontroler ini sering digunakan karena memiliki beberapa keuntungan, diantaranya harga murah, dapat diprogram berulang kali, serta dapat kita program sesuai dengan keinginan. Salah satu mikrokontroler yang sedang berkembang adalah mikrokontroler AVR (Alf and Vegard’s Risc processor) dari Atmel yang digunakan pada proyek akhir ini. 2.1.1Mikrokontroler AVRAT Mega 16 AVR merupakan seri mikrokontroler CMOS 8-bit hasil pabrikan Atmel, berbasis arsitektur RISC (Reduced Instruction Set Computer) yang ditingkatkan.Pada mikrokontroler Hampir semua instruksi dieksekusi dalam waktu satu siklus clock. AVRAT Mega 16 mempunyai 32 register general-purpose, timer/counter fleksibel dengan mode compare, interrupt internal dan eksternal, serial UART, programmable Watchdog Timer, dan mode powe rsaving. Selain itu AVR juga Mempunyai ADC dan PWM internal.AVR juga mempunyai In-System Programmable Flash on-chip, yaitu memori program yang dapat diprogram ulang didalam sistem menggunakan 1 hubungan serial SPI.
1
Atmel, Data Sheet 8-bit AVR MicrokontrolerAT Mega 16, Atmel Corporation, 2002, hal. 1 7
Gambar 2.1 ChipAT Mega 16 buatan ATMEL.
2.1.2 Arsitektur Mikrokontroler AVR AT Mega 16 Untuk lebih jelas tentang arsitektur dari AT Mega 16 ditunjukan pada gambar 2.10 AT Mega 16 mempunyai throughput mendekati 1 MIPS per MHz membuat disainer sistem untuk mengoptimasi komsumsi daya versus kecepatan proses. Beberapa keistimewaan dari AVR AT Mega 16 antara lain: 1. Advanced RISC Architecture a. 130 Powerful Instructions – Most Single Clock Cycle Execution b. 32 x 8 General Purpose Fully Static Operation c. Up to 16 MIPS Throughput at 16 MHz d. On-chip 2-cycle Multiplier 2. Nonvolatile Program and Data Memories a. 8K Bytes of In-System Self-Programmable Flash b. Optional Boot Code Section with Independent Lock Bits c. 512 Bytes EEPROM d. 512 Bytes Internal SRAM e. Programming Lock for Software Security 3. Peripheral Features a. Two 8-bit Timer/Counters with Separate Prescalers and Compare Mode b. Two 8-bit Timer/Counters with Separate Prescalers and Compare Modes 8
c. d. e. f. g. h.
One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture Mode Real Time Counter with Separate Oscillator Four PWM Channels 8-channel, 10-bit ADC Byte-oriented Two-wire Serial Interface Programmable Serial USART
4. Special Microkontroler Features a. Power-on Reset and Programmable Brown-out Detection b. Internal Calibrated RC Oscillator c. External and Internal Interrupt Sources d. Six Sleep Modes: Idle, ADC Noise Reduction, Power-save, Power-down, Standby and Extended Standby. 5. I/O and Package a. 32 Programmable I/O Lines b. 40-pin PDIP, 44-lead TQFP, 44-lead PLCC, and 44-pad MLF 6. Operating Voltages a. 2.7 - 5.5V for AT Mega 16L b. 4.5 - 5.5V for AT Mega 16
9
Gambar 2.2 Blok Diagram Arsitektur AT Mega 16
2.1.3 Konfigurasi Pin AVR AT Mega 16 Pin-pin yang terdapat pada Mikrokontroler AVR AT Mega 16 dengan jenis kemasan 40-pin DIP (dual in-line package) dapat dilihat pada gambar 2.5 Kemasan pin tersebut terdiri dari 4 Port yaitu Port A, Port B, Port C,Port D. Masing-masing Port terdiri dari 8 buah pin. Selain itu terdapat pula pin RESET, VCC, 2 buah 2 GND, AVCC, XTAL1, XTAL2 dan AREF.
2
Pemrograman Mikrokontroler AVR AT Mega 16: Menggunakan Bahasa C (CodeVision AVR) Oleh Heri Andrianto
10
Gambar 2.3 Pin-pin AVR AT Mega 168
Keterangan dan penjelasan dari pin-pin AVR AT Mega 16 pada gambar diatas adalah sebagai berikut : 1. VCC :Suplai tegangan digital 2. GND : Ground 3.Port A : Port A berfungsi sebagai masukan analog ke A/D (Analog /Digitalconverter) Port A juga dapat difungsikan sebagai 8-bit bi-directional port I/O, hal ini dapat dilakukan jika A/D konverter tidak digunakan. Pin-pin pada port ini dilengkapi dengan resistor-resistor internal pull-up. Ketika port A digunakan sebagai input, pull-up eksternal yang rendah akan menjadi sumber arus jika resistor-resistor pull-up diaktifkan. Pin-pin pada port A adalah tri-state ketika kondisi reset menjadi aktif sekalipun clock tidak aktif. 4. Port B : Port B adalah port I/O 8-bit bi-directional dengan resistor-resistor internalpull-up. Bufferoutputport B mempunyai karaketristik drive yang simetris dengan kemampuan sink dan source yang tinggi. Sebagai input, port B akan mempunyai pull jika resistorresistor pull-up diaktifkan. Pin-pin pada port B merupakan jenis tri-state, yaitu ketika kondisi reset 11
AVR AT Mega 16 menjadi aktif sekalipun clock tidak diaktifkan. 5. Port C : Port C adalah port I/O 8-bit bi-directional yang dilengkapi dengan resistor-resistor internal pull-up. Buffer output port C mempunyai karaketristik drive yang simetris dengan kemampuan keduanya sink dan source yang tinggi. Sebagai input, port C yang mempunyai pull-upeksternal yang rendah akan menjadi sumber arus jika resistor-resistor pull-up diaktifkan. Pin-pin pada port C adalah tri-state, yaitu ketika kondisi reset menjadi aktif seklipun clock tidak aktif. Jika antarmuka JTAG enable, resistor-resistor pull-up pada pin-pin PC5(TDI), PC3(TMS), PC2(TCK) akan diktifkan sekalipun terjadi reset. 6. Port D : Port D adalah port I/O 8-bit bi-directional dengan resistor-resistor internalpull-up. Buffer output pada port D mempunyai karaketristik drive yang simetris dengan kemampuan sink dan source yang tinggi. Sebagai input, port D mempunyai pull-up eksternal yang rendah, dan akan menjadi sumber arus jika resistor-resistor pull-up diaktifkan. Pin-pin pada port D adalah tri-state, yaitu ketika kondisi reset menjadi aktif sekalipun clock tidak aktif. 7. Reset : Sebuah low level pulsa yang lebih lama daripada lebar pulsa minimum pada pin ini akan menghasilkan reset meskipun clock tidak berjalan. 8. XTAL1 : Inputinverting penguat Oscilator dan input intenal clock operasi rangkaian. 9. XTAL2 : Output dari penguat invertingOscilator. 10. AVCC : Pin suplai tegangan untuk PortA dan A/D converter . Sebaiknya eksternalnya dihubungkan ke VCC meskipun ADC tidak digunakan. Jika ADC digunakan seharusnya dihubungkan ke VCC melalui low pass filter. 11. AREF : Pin referensi analog untuk A/D konverter.
12
2.1.4 Struktur Memori Untuk memaksimalkan performa dan paralelisme dari sistem mikrokontroler, AVR menggunakan arsitektur Harvard (dengan memori dan bus terpisah untuk program dan data). Instruksi pada memori program dieksekusi dengan singlepipelininglevel. Ketika sebuah instruksi sedang dikerjakan, instruksi berikutnya diambil dari memori program. AT Mega 16 memiliki 16K byte flash memori dengan lebar 1 atau 32 bit. Kapasitas memori tersebut terbagi manjadi dua bagian, yaitu bagian bootprogram dan bagian aplikasi program.
Gambar 2.4 PetaMemori Flash
Pada AT Mega 16 memiliki 32 register, 64 register I/O dan 1024 data internal SRAM yang dapat mengakses semua mode-mode pengalamatan.
13
Gambar 2.5 Peta Memori SRAM
2.1.5 Port Sebagai Input/OutputDigital AT Mega 16 mempunyai empat buah port yang bernama Port A, Port B, Port C, dan Port D. Keempat port tersebut merupakan jenis bi-directional dengan pilihan internal pull-up. Tiap port mempunyai tiga buah register bit, yaitu DDxn, PORTxn dan PINxn. Huruf „x‟mewakili nama huruf dari port sedangkan huruf „n‟ mewakili nomor bit. Bit DDxn terdapat pada I/O address DDRx, bit PORTxn terdapat pada I/Oaddress PORTx dan bit PINxn terdapat pada I/O address PINx. Bit DDxn dalam register DDRx (DataDirectionRegister) menentukan arah pin. Bila DDxn diset 1 maka Px berfungsi sebagai pinoutput. Bila DDxn diset 0 maka Px berfungsi sebagai pininput. Bila PORTxn diset 1 pada saat pin terkonfigurasi sebagai pin masukan, dengan demikian maka resistor pull-up akan diaktifkan. Untuk mematikan resistor pull-up, PORTxn harus diset 0 atau pin dikonfigurasi sebagai pin luaran. Pin port adalah tri-state setelah kondisi reset. Bila PORTxn diset 1 pada saat pin terkonfigurasi sebagai pinoutput maka pinport akan berlogika 1. Dan bila PORTxn diset 0 pada saat pin terkonfigurasi sebagai pinoutput maka pinport akan berlogika 0. Saat mengubah kondisi port dari kondisi tri-state (DDxn=0, PORTxn=0) ke kondisi outputhigh (DDxn=1, PORTxn=1) maka harus ada kondisi peralihan apakah itu kondisi 14
pull-upenabled (DDxn=0, PORTxn=1)atau kondisi outputlow (DDxn=1, PORTxn=0). Pada umumnya kondisi pull-upenabled dapat diterima sepenuhnya. Jika hal ini bukan suatu masalah, maka bit PUD pada register SFIOR dapat diset „1‟ untuk mematikan semua pull-up dalam semua port. Peralihan dari kondisi input dengan pull-up ke kondisi output low juga menimbulkan masalah yang sama. Kita harus menggunakan kondisi tri-state (DDxn=0, PORTxn=0) atau kondisi output high (DDxn=1, PORTxn=0) sebagai kondisi transisi. 2.1.6 PortSebagai Analog DigitalConverter (ADC) AT Mega 16 memiliki kelebihan berupa 10 bit internal ADC. ADC ini terhubung paada 8 channel multiplexer analog yang melewatkan 8 jenis masukan dari pin-pin pada port A. Piranti ini juga dilengkapi 16 kombinasi masukan tegangan differensial. Dua dari masukan differensial (ADC 1, ADC 0 dan ADC 2, ADC 3) juga dilengkapi dengan programmable gain stage. Pin-pin ADC ini juga memiliki rangkaian sample dan hold, yang membuat nilai masukan menjadi konstan hingga berakhir konversi. Waktu yang diperlukan ADC untuk menyelesaikan konversi adalah 60 –260 uS. ADC internal dapat diaktifkan dengan cara mengatur ADC enable bit, ADEN didalam ADCSRA. Tegangan referensi dan pemilihan input channel tidak akan berjalan sampai ADEN telahdiset. Hasil berupa 10 bit data disimpan didalam register-registerkhusus, yaitu ADC Data Registers (ADCH dan ADCL). Ketika konversi telah selesai maka ADC dapat meng-interupt diri sendiri. Saat ADC berada dalam posisi antara membaca register ADCH dan ADCL, maka interupsi akan aktif meskipun data yang telah dihasilkan hilang. Hal-hal yang berhubungan dengan internal ADC pada AT Mega 16 sebagai berikut : 1.
Channel Masukan ADC
Single Conversion Mode. Pada saat menggunakan mode Single Conversion Mode, harus selalu dipastikan telah memilih salah satu channel sebagai masukan. Untuk memindahkan channel masukanharus menunggu hingga ADC selesai melakukan konversi. Free Running Mode: Sama seperti 15
pada Single Conversion Mode, namun karena masukan ADC telah dimulai secara otomatis, maka hasil konversi ini merupakan cerminan dari hasil konversi yanglalu pada channel tersebut. Ketika memindah ke channel penguatan differensial, hasil dari konversi pertama memiliki akurasi yang buruk, sehingga disarankan untuk tidak menggunakan hasil konversi yang pertama. 2.
Tegangan Referensi
Tegangan Referensi dari ADC (VREF) menunjukkan range konversi dari ADC. VREF dapat dipilih mulai dari AVCC, internal 2.56 V referensi, atau melalui pin AREF. AVCC terhubung dengan ADC melalui switch pasif, sementara internal 2.56 V dihasilkan dari internalbandgap (VBG) penguat internal dan pin AREF langsung terhubung ke ADC. Ketika menggunakan tegangan referensi eksternal (AREF) maka tidak diperbolehkan untuk menggunakan tegangan referensi internal. 3.
Akurasi ADC
n-bitsingle-endedADC mengkonversi tegangan secara linier antara GND dan VREF dalam tingkat 2n (LSB). Kode terendah dibaca sebagai 0 dan kode tertinggi dibaca 2n – 1. 4.
Offset
Penyimpangan dari perpindahan pertama (0x000 ke 0x001) dibandingkan dengan perpindahan ideal (pada 0.5 LSB).Nilai adalah 0 LSB. 5.
Gain Error
Setelah menaikkan nilai offset, gainerror ada sebagai penyimpangan pada saat perpindahan terakhir (0x3FE ke 0x3FF) dibandingkan dengan perpindahan yang ideal (pada 1.5 LSB dibawah maksimum). Dengan nilai ideal 0 LSB.
16
6.
Integral Non-Linearity (INL)
Setelah Offset dan Gainerror, INL adalah penyimpangan maksimum dari perpindahan aktual dibandingkan dengan perpindahan ideal untuk semua kode. Dengan nilai idealnya adalah 0 LSB. 7.
Differential Non-Linearity(DNL)
Penyimpangan maksimum pada lebar perpindahan aktual (jarak antara dua batas perpindahan) terhadap lebar perpindahan ideal (1 LSB). Nilai idealnya adalah 0 LSB. 8.
Hasil Konversi ADC
Setelah konversi selesai (ADIF dalam posisi high), hasil dari konversi ini dapat ditemukan di ADC Result Registers (ADCH, ADCL).Untuk Single-Ended Conversion, menghasilkan:
Dimana : Vin= tegangan pada pin masukan Vref = tegangan referensi yang dipilih 2.1.7 Timer/Counter Timer/couter adalah tujuan umum single channel, module 8 bit timer/counter. Beberapa fasilitas chanel dari timer/counter antara lain: a. Counterchannel tunggal b. Pengosongan data timer sesuai dengan data pembanding c. Bebas glitch, tahap yang tepat Pulse Width Modulator (PWM). d. Pembangkit frekuensi e. Eventcounterexternal
17
3
Gambar 2.6 Blok Diagram Timer/Counter
Gambar diagram blok timer/counter 8 bit ditunjukan pada gambar di bawah ini. Untuk penempatan pin I/O telah di jelaskan pada bagian I/O di atas. CPU dapat diakses register I/O, termasuk dalam pin-pin I/O dan bit I/O. Device khusus registerI/O dan lokasi bit terdaftar pada deskripsi timer/counter 8 bit. Mikrokontroler AVR AT Mega 16 memiliki tiga buah Timer/Counter, yaituTimer 0 (8 bit), Timer 1 (16 bit) dan Timer 2 (8 bit). Timer/Counter 1 dapat menghitung sampai dengan 65536, Timer/Counter 0 atau 2 hanya sampai dengan 256. Diagram Waku Timer/Counter Timer/counter sinkron clock timer (clkT0) oleh karena itu ditunjukan sebagai sinyal enableclock pada gambar berikut. Gambar ini termasuk informasi ketika flaginterrupt dalam kondisi set. Data timing digunakan sebagai dasar dari operasi timer/counter.
3
Dokumen Teori dasar Mikrokontroler AT Mega 16,diambil dari:: elib.unikom.ac.id pada tanggal 20 januari 2011
18
Gambar 2.7 Timing diagram timer/counter, tanpa prescaling
Sesuai dengan gambar dibawah timing diagram timer/counter dengan prescaling maksudnya adalah counter akan menambahkan data counter (TCNTn) ketika terjadi pulsa clock telah mencapai 8 kali pulsa dan sinyal clock pembagi aktif clock dan ketika telah mencapai nilai maksimal maka nilai TCNTn akan kembali ke nol. Dan kondisi flagtimer akan aktif ketika TCNTn maksimal.
Gambar 2.8 Timing diagram timer/counter, dengan prescaling
Sama halnya timing timer diatas, timing timer/counter dengan seting OCFO timer mode ini memasukan data ORCn sebagai data inputtimer. Ketika nilai ORCn sama dengan nilaiTCNTn maka pulsa flagtimer akan aktif. TCNTn akan bertambah nilainya ketika pulsa clock telah mencapai 8 pulsa. Dan kondisi flag akan berbalik (komplemen) kondisi ketika nilai TCNTn kembali kenilai 0 (overflow)
19
Gambar 2.9 Timing diagram timer/counter, menyeting OCFO, dengan prescaller (fclk_I/O/8)
Ketika nilai ORCn sama dengan nilai TCNTn maka pulsa flagtimer akan aktif. TCNTn akan bertambah nilainya ketika pulsa clock telah mencapai 8 pulsa. Dan kondisi akan berbalik (komplemen) kondisi ketika nilai TCNTn kembali kenilai 0 (overflow).
Gambar 2.10Timing diagram timer/counter, menyeting OCFO, pengosongan data timer sesuai dengan data pembanding,dengan prescailer (fclk_I/O/8)
20
2.2 Kontrol Otomatis 2.2.1 Definisi Kontrol Kontrol didefinisikan sebagai operasi pengaturan pengendalian beberapa obyek untuk tujuan tertentu. Pada kontrol manual, yang bertindak sebagai kontroler adalah manusia. Untuk hal-hal yang sederhana, hal ini memang mungkin dilakukan.Tapi untuk hal-hal dimana manusia sulit bahkan tidak dapat menjangkaunya, maka manusia jelas membutuhkan alat b antu berupa sistem kontrol otomatis. Kontrol Otomatis memungkinkan untuk melakukann pekerjaan – pekerjaan yang tidak dapat ditangani oleh manusia secara langsung sehingga dapat membantu manusia dalam memudahkan dan mempercepat proses dalam aktivitasnya. Contoh kontrol manual untuk pengaturan ketinggian air ditunjukkan pada Gambar 2.1.
Gambar 2.11 Kontrol ketinggian air secara manual1
4
2.2.2 Kontrol Proportional Kontroler proporsional memiliki keluaran yang sebanding /proposional dengan besar dari sinyal kesalahan (selisih antara besaran yang diinginkan dengan harga a ktual). Secara lebih sederhana dapat dikatakan, bahwa keluaran kontroler proporsional merupakan perkalian antara konstanta proporsional dengan error, 4
Ogata katsuhiko, Teknik kontrol automatik (sistem pengaturan), 1989, hal. 149 21
yang disajikan seperti pada Gambar 2.2.
Gambar 2.12 Diagram blok kontrol tipe proporsional
Menurut Gunterus, daerah kerja efektif dari proporsional kontroller terletak pada parameter proporsionalband (PB). Sedangkan parameter konstanta proporsional menunjukkan nilai faktor penguatan (Kp) terhadap sinyal error. Hubungan kedua parameter tersebut adalah sebagai berikut :
Hubungan antara proporsional band, sinyal keluaran dan Sinyal error ditunjukkan pada Gambar 2 dimana jika nilai Kp semakin tinggi, PB akan mengecil, sehingga daerah kerja yang dikuatkan akan semakin sempit [2].
Gambar 2.13 Proporsional band dari kontrol tipe proporsional tergantung pada penguatan.
Perubahan pada sinyal masukan akan segera menyebabkan sistem secara langsung mengubah keluaran sebesar konstanta pengali. Berikut ini merupakan ketentuan -ketentuan kontroler proporsional yang perlu diperhatikan saat diterapkan pada suatu sistem, antara lain: 22
1.
2.
Jika nilai Kp kecil, kontroler proporsional hanya mampu melakukan koreksi kesalahan yang kecil, sehingga akan menghasilkan respon sistem yang lambat. Jika nilai Kp dinaikkan, respon sistem menunjukkan semakin cepat mencapai keadaan mantap. Namun jika nilai Kp diperbesar sehingga mencapai harga yang berlebihan, akan mengakibatkan sistem bekerja tidak stabil, atau respon system akan berosilasi. Pengendali Proporsional menghasilkan keluaran sebanding dengan masukan. 2.2.3 Kontrol Integral Fungsi dari kontroler Integral yaitu untuk menghasilkan respon sistem yang memiliki kesalahan dengan keadaan mantap nol.Untuk mendapatkan kerja kontroler yang maksimal maka dalam sebuah plant harus memiliki unsur integrator (I/s). Pemasangan kontroler integral dalam sebuah sistem dapat memperbaiki respon sistem yaitu mempunyai kesalahan ( error) dengan keadaan stabil nol. Hal ini disebabkan terlalu cepat respon yang dihasilkan oleh pengendali proporsional sehingga sulit menekan agar sinyal error yang dihasilkan menjadi nol. Keluaran kontroler integral sangat dipengaruhi olch perubahan yang sebanding dengan nilai sinyal kesalahan., yang disajikan seperti pada Gambar 2.4.
Gambar 2.14 Blok diagram hubungan antara sinyal error dengan sinyal keluaran kontrol tipe integral
Keluaran kontroler ini merupakan jumlahan yang terus menerus dari perubahan masukan. Kalau sinyal kesalahan tidakmengalami perubahan, keluaran aka n menjaga keadaan seperti sebelum terjadi perubahan masukan. Beberapa karakteristik yang perlu diperhatikan saat menggunakan kontroler integral antara lain : 23
1. 2. 3.
4.
Keluaran kontroler membutuhkan selang waktu tertentu, sehingga kontroler integral cenderung memperlambat respon. Ketika sinyal kesalahan berharga nol. keluaran kontroler akanbertahan pada nilai sebelum ada kesalahan. Jika sinyal kesalahan tidak berharga nol, keluaran akan menunjukkan kenaikan atau penurunan yang dipengaruhi oleh besar dari sinyal kesalahan dan nilai Ki. Konstanta integral Ki yang berharga besar akan mempercepat penghilangan offset. Tetapi semakin besar nilai konstanta Ki akan mengakibatkan peningkatan osilasi dari sinyal keluaran kontroler.
2.2.3
Kontrol Proportional-Integral
Kontroler yang digunakan adalah kontroler Proporsional Integral. Output respon yang dihasilkan sama dengan setting point karena memiliki zero offset. Kontrol Proporsional Integral merupakan kombinasi karakteristik dari kontrol Proporsional dan kontrol Integral, dimana keluaran kontroler Proporsional adalah Proporsional terhadap error system, sedangkan kontroler Integral merespon ukuran dan lama waktu dari sinyal error, sehingga sinyal output dari pengontrol integral adalah hasil integral matematik dari sinya l error. Sinyal error akan muncul ketika terdapat perubahan antara output yang dihasilkan dengan setting point yang diberikan. Aksi integral akan menyebabkan output terus berubah sampai tidak ada error dalam proses. Besarnya aksi integral diukur dalam menit pergulungan yang merupakan hubungan antara perubahan terhadap waktu. Kontroler integral juga mempunyai keluaran dengan perubahan rate yang sebanding terhadap error, yang disajikan seperti pada Gambar 2.15.
24
Gambar 2.15 Blok diagram kontrol tipe PI analog
Secara garis besar Kontrol Proporsional Integral bekerja berdasarkan perubahan step pada pengukuran sehinggamenyebabkan pengontrol merespon dengan cara yang proporsionalyang juga diikuti oleh respon integral, ditambah dengan respon proporsi. Dengan kata lain bagian integral juga bisa mengeliminasikesalahan yang muncul jika hanya menggunakan kontrol Proporsional saja. Karena mode integral menentukan perubahan output sebagai fungsi waktu, maka semakin banyak aksi integral pada kontrol akan menjadikan semakin cepat pula perubahan output. Mode kontrol Proporsional Integral digunakan dalam situasi dimana perubahan tidak sering terjadi dalam sebuah proses tetapi jika terjadi, perubahan yang dirasakan hanya kecil. Selain itu kontrol Proporsional Integral akan lebih efektif dalam system dengan perubahan beban secara perlahan karena perubahan beban yang cepat akan menyebabkan instabilitas sistem, jika waktu integrasi tidak ditentukan dengan baik. Kontroler integral mempunyai beberapa karakteristik berikut ini: 1. Sinyal Keluaran kontroler cenderung memperlambat respon sistem. 2. Ketika sinyal error berharga nol, sinyal keluaran bertahan pada nilai sebelumnya, sedangkan jika sinyal error tidak berharga nol, maka sinyal keluaran akan mengalami perubahan sesuai dengan besarnya sinyal error dan nilai Ki [3]. Nilai Ki yang besar akan mempercepat hilangnya nilai offset tetapi mengakibatkan peningkatan osilasi dari sinyal kontrol.
25
2.3 Fuzzy Logic Kontroller Teori logika fuzzy dikemukakan pertama kali oleh Prof.Lotfi A. Zadeh, seorang ilmuwan berkebangsaan Iran yang menjadi guru beasr di University of Berkeley, pada tahun 1965, melalui sebuah tulisannya tentang ide dasar fuzzy set yang meliputi inclusion, union, intersection, complement, convexity dan relation. Ide tersebut senantiasa diperbaiki oleh para peneliti di bidang komputasi cerdas, diantaranya Prof.Ebrahim Mamdani dari Queen Mary College. Sistem ini diciptakan karena Boolean Logic tidak mempunyai ketelitian yang tinggi, hanya mempunyai logika 0 dan1 saja.Sehingga untuk membuat sistem yang mempunyai ketelitian yang tinggi maka tidak dapat menggunakan Boolean Logic. Bedanya fuzzy dengan Boolean Logic dapat diilustrasikanpada Gambar dibawah ini, yang disajikan seperti pada Gambar 2.16.
Gambar 2.16 Perbedaan Fuzzy Logic dan Boolean Logic
Dari contoh Gambar 1, pada saat suhu berada pada 75° maka sistem yang pertama akan bingung karena batas kondisi dingin < 75 dan kondisi panas > 75°, pada Fuzzy Logic, suhu 75° dapat dinyatakan dengan 0.50 dingin dan 0.50 panas. Pengambilan nilai 0.50 berasal dari proses fuzzifikasi yang akan diterangkan pada proses fuzzification, yang disajikan seperti pada Gambar 2.7.
Gambar 2.17 Istilah yang digunakan dalam fuzzy
26
Pada Gambar 2.17 dapat dilihat istilah yang digun akan dalam fuzzy dan keterangannya adalah sebagai berikut: 1. Degree Of Membership Fungsi dari degree of membership ini adalah untuk memberikan bobot pada suatu input yang telah diberikan, sehingga input tadi dapat dinyatakan dengan nilai. Misalnya suhu adalah dingin, dengan adanya degree of membership maka suhu dingin tersebut dapat mempunyai suatu nilai misal 0,5. Batas dari degree of membership adalah dari 0 – 1. 2.
Scope / Domain Merupakan suatu batas dari kumpulan input tertentu. Misalnya suhu dingin adalah dari 10 – 50 derajat, sangat cepat adalah dari 200 – 500 rpm.
3.
Label Adalah kata – kata untuk memberikan suatu keterangan pada Scope/Domain. Contohnya: panas, dingin, cepat, sangat cepat, dll.
4.
Membership Function Suatu bentuk bangun yang merepresentasikan suatu batas dari scope / domain.
5.
Crisp Input Nilai input analog yang telah diberikan untuk mencari degree of membership.
6.
Universe Of Discourse Batas input yang telah diberikan dalam merancang suatu fuzzy system. Batas ini berbeda dengan batas scope/domain. Universe of discourse adalah batas semua input yang akan diberikan sedangkan scope/domain adalah suatu batas yang menentukan bahwa input tersebut dinyatakan panas, dingin, cepat, dll. Pada fuzzy system terdapat tiga proses yaitu: Fuzzification., Rule evaluation., Defuzification. 27
2.3.1 Fuzzification Proses ini berfungsi untuk merubah suatu besaran analog menjadi fuzzy input. Secara diagram blok dapat anda lihat pada Gambar 2.8. Prosesnya adalah sebagai berikut:
Gambar 2.18 Proses fuzzyfication
Suatu besaran analog dimasukkan sebagai input (Crispinput), lalu input tersebut dimasukkan pada batas scope / domain sehingga input tersebut dapat dinyatakan dengan label (dingin, panas, cepat, dll) dari membership function. Membership function ini biasanya dinamakan membership function input. Dari membership function bias mengetahui berapa degree of membership function-nya. Bentuk membership function yang digunakan dalam DT-51 PetraFuz adalah bentuk trapesium dan segitiga seperti yang ditunjukkan di Gambar 2.9.
Gambar 2.19 Proses perubahan dari Crispinput menjadi fuzzyinput
28
Sehingga didapat 2 fuzzyinput yang masing -masing adalah dingin (x2) dan hangat (x1). Nilai x1 dan x2 dapat dicari dengan rumus persamaan garis. Yang menentukan sistem anda sensitive atau tidak adalah membership function ini. Jika membership function-nya banyak maka sistem anda menjadi sensitif. Yang dimaksud dengan sensitif dalam hal ini adalah jika input –nya berubah sedikit saja maka sistem akan cepat merespon dan menghasilkan suatu output lain. Output dari proses fuzzification ini adalah sebuah nilai input fuzzy atau yang biasanya dinamakan fuzzy input. 2.3.2 Rule Evaluation Proses ini berfungsi untuk untuk mencari suatu nilaifuzzy output dari fuzzy input. Prosesnya adalah sebagai berikut: suatu nilai fuzzyinput yang berasal dari proses fuzzification kemudian dimasukkan kedalam sebuah rule yang telah dibuat untuk dijadikan sebuah fuzzy output. Gambar diagram bloknya dapat anda lihat pada Gambar 2.20.
Gambar 2.20 Diagram blok proses rule evaluation
Ini merupakan bagian utama dari fuzzy, karena disinilah sistem anda akan menjadi pintar atau tidak. Jika anda tidak pintar dalam mengatur rule maka sistem yang akan dikontrol menjadi kacau. Format dari rule adalah sebagai berikut: If antecedent1 operator antecendent2 then consequent1 operatorconsequent2 Contoh: If suhu is panas and kelembaban is kering then penyemprot is sangat lama Adanya dua antecedent belum tentu berarti ada dua sensor. 29
Contohnya jika anda melakukan pengontrolan motor DC maka feedback dari motor juga dapat digunakan sebagai masukan Error sebagai input pertama dan turunan errornya atau yang biasanya disebut dError sebagai input kedua. Ada beberapa operator yang digunakan dalam fuzzy: AND, OR, NOT. Jika operator yang digunakan adalah AND maka input terkecil yang diambil. Misalnya: If suhu is panas (0.15) and kelembaban is kering (0.19) then penyemprot is sangat lama Nilai fuzzyoutput dari pernyataan tersebut adalah 0.15. Nilai 0.15 dan 0.19 dari contoh diatas diambil dari dua membership function input dengan cara menarik garis lurus vertikal dari nilai yang diinginkan. Seperti yang dijelaskan pada Gambar 1.08. Jika operator yang digunakan adalah OR maka fuzzyoutput-nya diambil dari nilai yang terbesar. Jika operator yang digunakan adalah operator NOT maka fuzzy output -nya adalah kebalikannya, misalnya NOT 0.9 maka akan menghasilkan 0.1 dan NOT 0.8 akan menghasilkan 0.2. Dalam melakukan perancangan dengan menggunakan DT-51 PetraFuz hanya menggunakan operator AND. 2.3 3 Defuzzification Proses ini berfungsi untuk menentukan suatu nilai Crispoutput. Prosesnya adalah sebagai berikut: suatu nilai fuzzy output yang berasal dari rule evaluation diambil kemudian dimasukkan ke dalam suatu membership function output. Bentuk bangun yang digunakan dalam membership function output adalah bentuk singleton yaitu garis lurus vertikal ke atas, seperti yang ditunjukkan pada Gambar 2.11. Besar nilai fuzzy output dinyatakan sebagai degree of membership function output. Nilai - nilai tersebut dimasukkan ke dalam suatu rumus yang dinamakan COG (CenterOfGravity) untuk mendapatkan hasil akhir yang disebut Crispoutput. Crispoutput a dalah suatu nilai analog yang akan dibutuhkan untuk mengolah data pada sistem yang telah dirancang.
30
Gambar 2.21 Proses defuzzyfication
Rumus yang digunakan dalam proses ini adalah :
(2.3)
Gambar 2.22 Bentuk fuzzy output
2.3.4 Kontrol PI- Fuzzy Berdasarkan structur dari InferenceRule, Sistem Fuzzy dapat dibedakan menjadi 3 kategori model: 31
1. 2. 3.
Linguistic Fuzzy Model Fuzzy Relational Model Takagi-Sugeno Fuzzy Model (TS Fuzzy Model) .Gambar 2.13 menunjukkan blok diagram PI Fuzzy kontroler.
FLC refff I
Plant
Gambar 2.23 Blok diagram PI Fuzzy kontroller
Pada kategori pertama dan kedua sering dikenal sebagai Mamdani Fuzzy Model . Sistem kontrol PI fuzzy adalah perkembangan antara kontroler PI dan fuzzy, dimana dari sinyal error diproses oleh Fuzzy Logickontroller utuk menentukan Kp dan Ki dari setiap kontroler P dan I. Dalam menentukan Kp dan Ki diperlukan parameter input dan output dari FLC yang tepat. Dengan menggunakan input dari error(e)dan Δerror (Δe), Δe=ekek- 1, maka Fuzzy Kontroller System (FCS) menghasilkan output sinyal yang dibutuhkan bagi PI kontroller untuk mnghasilkan sinyal kontrol.
32
BAB III PERENCANAAN DAN PEMBUATAN PERANGKAT LUNAK 3.1 Konfigurasi Sistem Dalam membangun sistem dalam Becak tenaga hybrid dibutuhkan beberapa bagian pendukung seperti terlihat pada Gambar 3.1.
Gambar 3.1 Blok diagram sistem
Pada Gambar 3.1 blok diagaram sistem, tegangan dari solar sell dinaikkan dengan menggunakan boost konverter, dimana duty cycle boost konverter diatur oleh microcontroller. Tegangan keluaran dari boost konverter dibaca oleh sensor tegangan dan di inputkan ke microcrontroller sebagai sensor tegangan. Selanjutnya tegangan output dari boost konverter masuk ke accu (batterai) sebagai charger. Dan apabila sumber dari PLN telah masuk, maka tegangan yang masuk akan masuk rangkaian charger dan selanjutnya akan digunakan untuk melakukan charging pada aki. 33
3.1.1 Solar cell Pada proyek akhir ini memakai dua buah sel surya dengan spesifikasi daya maksimum 50WP. Hal ini dikarenakan output tegangan dan arus dari solar sell terlampau kecil maka dipergunakan dua buah solar sell. Solar sell ini digunakan untuk mengcharge baterai (accumulator). 3.1.2 Konverter Boost Pada sistem ini, konverter boost digunakan untuk menaikkan tegangan dari solar cell yang bernilai sekitar 18V ke 26V yang digunakan untuk mengisi baterai. 3.1.3 Sensor Tegangan Sensor tegangan dibangun dengan menggunakan resistor yang bertujuan sebagai pembagi tegangan, karena tegangan yang diukur besarnya lebih dari 5V. 1.1.4 Charger PLN Charger PLN dirancang untuk digunakan , apabila keadaan becak dalam keadaan diam (berhenti). 3.1.5 Battery Back up battery digunakan untuk menyimpan energy sementara saat cahaya matahari tersedia dan beban belum terpasang, sehingga untuk menyimpan cadangan energy digunakan 2 buah back up battery dengan masing-masing 12V/36Ah yang dipasang secara seri. 3.1.6 Rangkaian Totempole Rangkaian Totempole digunakan sebagai kopling antara microcontroller dengan konverter DC-DC karena microcontroller tidak mampu mengendalikan konverter secara langsung. 34
3.1.7 Microcontroller ATmega 16 microcontroller adalah otak dari kerja keseluruhan sistem. Pada proyek akhir ini digunakan microcontroller jenis Atmega 16 yang memiliki 4 Port yang masing masing 8 bit. Pada sistem ini microcontroller memproduksi sinyal PWM untuk switching konverter-konverter serta membaca tegangan yang dihasilkan untuk dijaga nilainya. 3.1.8 Driver Driver digunakan untuk menggerakkan motor dan mengatur kecepatan putar motor sesuaai dengan nilai set point yang telah diberikan. 3.1.9 Sensor Kecepatan Sensor kecepatan digunakan untuk membaca kecepatan putar motor dan akan mengirimkan pada mikrokontroler. Selanjutnya data yang diterima oleh mikrokontroler akan dibandingkan dengan nilai kecepatan yang telah di setting.
3.2 Sistem Open Loop Perencanaan sistem secara open loop bertujuan untuk mendapatkan nilai karekteristik dari plant yang dikontrol. Parameter yang diambil dari perancangan sistem secara open loop ini adalah sebagai berikut : a. Nilai Set point (Volt) b. Nilai Present Value (Volt) c. Nilai Time Settling (s) d. Nilai Konstanta K e. Grafik output response Blok diagram perencanaan sistem secara open loop ditunjukkan pada Gambar 3.2. Sedangkan Gambar 15 menunjukanGambar perancangan sistem dengan disertai hardware. 35
Gambar 3.2 Blok diagram system secara open loop
3.3 Sistem Close Loop dengan Kontrol Tipe PI Tujuan dari pemasangan kontrol PI pada sistem adalah agar settling time lebih cepat sehingga posisi steady state lebih cepat terpenuhi dan menjaga agar selalu pada posisi steady state, (%ess=0). Blok diagram sistem dengan kontrol PI ditunjukkan pada Gambar 3.3.
Gambar 3.3 Blok diagram sistem dengan kontrol tipe PI Dari blok diagram diatas didapatkan close loop transfer function, yamg disajikan pada persamaan 3.1.
Jika i dipilih (tuning) sama dengan t , maka didapatkan persamaan 3.2.
36
Parameter yang diambil dari perancangan sistem secara close loop dengan kontrol PI ini adalah sebagai berikut : 1. Nilai Setpoint (Volt) 2. Nilai Present Value (Volt) 3. Nilai Time Settling (s) 4. Nilai Konstanta K 5. Grafik output response Blok diagram perencanaan sistem close loop dengan kontrol PI ditunjukkan pada Gambar 3.43. Sedangkan Gambar 3.4 menunjukan Gambar perancangan sistem dengan disertai hardware.
37
Gambar 3.4 Blok diagram sistem secara close loop dengan kontrol PI
3.4 Sistem Close Loop dengan Kontrol Tipe PI Fuzzy Sama seperti kontrol PI, tujuan dari pemasangan kontrol pada sistem adalah agar settling time lebih cepat sehingga posisi steady state lebih cepat terpenuhi dan menjaga agar selalu pada posisi steady state, (%ess=0). Hanya saja digunakan Fuzzy Logic Kontroller untuk proses tuning dari Kp dan Ki. Blok diagram sistem dengan kontrol PI Fuzzy ditunjukkan pada Gambar 3.5
Gambar 3.5 Blok Diagram kontrol PI Fuzzy
38
3.5 Pembuatan Algoritma PI Fuzzy Perancangan perangkat lunak fuzzy Logic Controller secara rinci terdiri dari proses desain fuzzy inference system yang meliputi beberapa hal sebagai berikut: 3.5.1 Perencanaan Program Fuzzy Dalam proses perancangan perangkat lunak (software) program fuzzy logic controller memerlukan program development yang digunakan untuk membangun parameter-parameter yang dibutuhkan dalam proses penulisan program fuzzy. Berikut ini adalah flowchart proses pengendali logika fuzzy secara lengkap beserta blok diagram kontroler secara lengkap START
PROSES KUANTISASI
CRISP INPUT
INPUT MEMBERSHIP FUNCTION
FUZZYFICATION
FUZZY INPUT
RULE BASE
RULE EVALUATION
FUZZY OUTPUT
OUTPPUT MEMBERSHIP FUNCTON
DEFUZZYFICATION
CRISP OUTPUT
Gambar 3.6 Flowchart logika fuzzy sp
E Fuzzyfication
Rule Base
DeFuzzyfication
Motor
dE
Sensor Kecepatan
Gambar 3.7 Blok diagram kontroler 39
Beban
Langkah pertama dalam proses pembuatan sistem logika fuzzy di awali dengan penentuan dan pembuatan crisp input dan crisp output. Langkah pertama dalam proses logika fuzzy mengandung transformasi domain yang dinamakan fuzzyfikasi. Masukan crisp ini berupa besaran numerik yang nantinya akan diubah menjadi besaran linguistic pada proses fuzzyfikasi. Sebagai contoh, masukan crisp 100 derajat akan ditransformasikan dalam variable linguistik berupa „low‟. Untuk mengubah bentuk masukan crisp menjadi besaran linguistic sebagai masukan fuzzy, fungsi keanggotaan pertama kali harus ditentukan untuk setiap masukan. Sekali fungsi keanggotaan ditentukan, nilai tersebut akan diproses menggunakan fuzzyfikasi secara realtime. Setelah itu nilai tersebut akan dibandingkan dengan informasi fungsi keanggotaan yang tersimpan untuk menghasilkan nilai masukan fuzzy. Berikut ini adalah flowchart proses penentuan Crisp Input dan Crisp output secara umum, dapat dilihat pada gambar 3.14 dibawah ini. START
SENSOR KECEPATAN
DARI PROSES DEFFUZYFIKASI
PROSES KUANTISASI INPUT
PROSES KUANTISASI OUTPUT
FUZZY CRISP INPUT
FUZZY CRISP OUTPUT
MENUJU PROSES FUZZYFIKASI
Gambar 3.8 Flowchart proses penentuan crisp Input(kuantisasi) dan penentuan crisp output Pada proyek akhir ini menggunakan dua input dan satu output. Input yang digunakan adalah error (error = setting point - preset value) dan delta error (delta error = Error – (Error-1)).
40
3.5.2 Fungsi Keanggotaan Fungsi keanggotaan (membership function) digunakan untuk menyatakan fungsi secara keseluruhan dari sistem yang akan dibangun dalam proyek akhir ini. Untuk menyatakan derajat keanggotaan (membership function) bagi masing -masing variable adalah error, delta error, output. Berikut ini adalah flowchart proses Fuzzyfikasi secara umum, dapat dilihat pada gambar 3.17
DARI PROSES KUANTISASI INPUT
FUZZY CRISP INPUT
FUZZY CRISP INPUTFUZZY CRISP INPUT
PROSES FUZZIFIKASI
FUZZY INPUT
MENUJU PROSES RULE EVALUATION
Gambar 3.9 Flowchart proses Fuzzyfikasi Pada sistem ini terdapat tiga buah label membership function error dan lima label membership function delta error, yaitu: NB=negative besar, ZE=zero error, PB=positive besar. Label antara error dan delta error adalah sama. 3.5.3 Rule Base Rule base adalah sekelompok aturan fuzzy dalam berhubungan dengan keadaan sinyal masukan dan sinyal keluaran. Rule base merupakan dasar dari pengambilan keputusan atau inference proses untuk mendapatkan aksi keluaran sinyal kontrol dari suatu kondisi masukan yaitu error dan delta error dengan 41
berdasarkan rule-rule yang telah ditetapkan. Pendefinisian Rule Base tergantung dari sinyal kontrol. Pendefinisian rule -rule tergantung dari kebutuhan dan sesuaikan dengan data yang telah didefinisikan pada table kuantitasi. Jumlah kelompok Rule Base yang dibuat sesuai dengan sinyal keluarannya. Jika sinyal keluarannya dikehendaki hanya terdapat satu macam, maka ini berarti ada dua k elompok Rule Base, demikian seterusnya. Contoh : diketahui sebuah sistem kontrol umum dengan dua input umpan balik yaitu error e(t) dan delta error dE(t). Sebagai outputnya adalah sinyal kontrol u (t). Dari permasalahan diatas, diketeahui bahwa outputnya hanya satu macam yaitu berupa u(t). Oleh karena itu dalam kasus ini hanya terdapat satu macam kelompok Rule Base yaitu kelompok Rule Base untuk sinyal u(t). Lihat Tabel 1 Tabel 1 Rule base fuzzy dE/E NB ZE PB NB PBO PSO NSO ZE PMO ZEO NMO PB PSO NSO NBO 3.5.4 Membership function Fungsi keanggotaan (membership function) menyatakan fungsi secara keseluruhan untuk menyatakan derajat keanggotaan (membership function)bagi masing -masing variabel di sini adalah 3 error, delta error. Fungsi keanggotaan pada umumnya berbentuk segitiga.
42
3.5.5 Flowchart System START
INPUT TEG.REF
Start
A
B
Proses Fuzzyfikasi
PI=P+I
Rule Evaluation
PI=OCR
Proses Defuzzyfikasi
Motor
y BOOST
DUTY CYCLE ++
Set point kecepatan
n
BOOST >TEG.REF n
y
DUTY CYCLE --
Fuzzy Output
Read TCNT 0
BANGKITKAN SINYAL PWM
C
P=FO
Beban
C
A I= Ki * Integral End
END
B
Gambar 3.10 Flowchart System Untuk kontrol kecepatan motor, pertama adalah memasukkan nilai set point, sensor kecapatan membaca kecepatan putaran motor saat awal. Nilai hasil pembacaan sensor kecepatan menjadi input control fuzzy yaitu berupa error dan delta error. Error diperoleh dari set point - present value, sedangkan delta error diperoleh dari error sekarang – error sebelumnya. Nilai error dan delta error kemudian diproses untuk mendapatkan nilai kontrol proportional. Nilai I diperoleh dari Ki*integral. Nilai integral sendiri diperoleh dari error dikalikan dengan time sampling. Hasil dari kontrol PI kemudian digunakan untuk mengatur dutycycle dari PWM yang digunakan untuk mengatur tegangan keluaran dari accu melalui driver.
43
“Halaman ini sengaja dikosongkan”
44
BAB IV PENGUJIAN DAN ANALISA Pada bab ini akan dibahas mengenai pengujian sistem alat, pengujian sistem program beserta integerasi antara sistem alat dan sistem program yang telah direncanakan, di buat dan di analisa. Tujuan dari pengujian dan analisa ini adalah untuk mengetahui keberhasilan dari keseluruhan alat dan program yang telah dirancang. Pengujian dilakukan pada masing-masing bagian terlebih dahulu, kemudian masing-masing bagian tersebut di uji secara integerasi keseluruhan. Setelah proses pengujian dan pengambilan data, langkah selanjutnya adalah menganalisa hasil pengujian tersebut. Acuan yang diguakan dalam proses analisa adalah data yang didapat pada saat proses perencanaan dan juga data-data hasil analisa secara teori. Proses selanjutnya adalah memberikan kesimpulan dari masing-masing analisa yang telah dilakukan sebelumnya. 4.1 PENGUJIAN SISTEM MINIMUM MIKROKONTROLER Pengujian dilakukan untuk mengetahui sistem minimum bekerja dengan baik, maka diadakan pengujian pada jalur-jalur port yang dimiliki oleh mikrokontroler AT Mega 16. Prosedur pengujian : 1. Mempersiapkan voltmeter untuk mengukur level tegangan luaran tiap port dari mikrokontroler. 2. Membuka program yang akan dites, kemudian mengcompile-nya. 3. Mendownload program ke dalam mikrokontroler AT Mega 16 dengan menggunakan ISP downloader. Listing program menyalakan semua port (set tiap port sebagai luaran). PORTA=PORTB=PORTC=PORTD=0xFF. Hasil yang diperoleh adalah semua port akan mengeluarkan tegangan sebesar ± 5 volt, sehingga bisa dipastikan sistem minimum dapat bekerja degan baik.
45
Gambar 4.1 Pengujian Minimum sistem AT-Mega 16
4.2 PENGUJIAN ADC Pengujian analog to digital converter(ADC) internal mikrokontroler ini bertujuan untuk mengetahui kinerja dari ADC dalam mengkonversi tegangan analog ke tegangan digital.ADC yang digunakan adalah 8 bit internal ADC pada channel 0 (PORTA.0).tegangan referensi (Vreff) yang digunakan adalah pada Pin Areff dimana tegangan sama dengan tegangan sumber dari mikrokontroler, yaitu sebesar 5 volt. Setting ADC menggunakan clock sebesar 500.000 Khz dengan menggunakan automatic scant Input. Pengujian ini dilakukan dengan cara memberikan masukan pada ADC internal mikrokontroler ATmega16 pada channel nol berupa tegangan analog dengan nilai maksimal sama dengan Vreff yaitu sebesar 5 Volt DC. Tegangan analog berasal dari keluaran sensor tekanan menggunakan rangkaian potensiometer yang berfungsi untuk mengatur level tegangan analog yang masuk ke Port ADC channel 0. Untuk mengetahui nilai konversi yang terbaca oleh mikrokontroler digunakan LCD sebagai display. Dalam proses perhitungan pembacaan konversi tegangan analog ke tegangan digital secara teori dapat dilakukan dengan menggunakan persamaan 4.2. sebelum menghitung nilai rata-rata 1 Heksadesimal dapat dihitung menggunakan persamaan 4.1 dibawah ini.
46
Untuk membandingkan hasil pembacaan teori dengan pembacaan praktek menggunakan persamaan 4.3 dibawah ini.
Berikut ini adalah contoh perhitungan ADC secara teori, dengan tegangan VREFF = 5 Volt dan dengan tegangan Vin yang berubah-ubah. a) Perhitungan dengan tegangan Input Vin sebesar 1 volt adalah sebagai berikut: b) Dengan perhitungan diatas, setelah dibandingkan dengan hasil pengujian maka didapatkan prosentase error sebagai berikut:
c)
Perhitungan dengan tegangan Input Vin sebesar 2.5 volt adaah sebagai berikut:
47
Dengan perhitungan diatas, setelah dibandingkan dengan hasil pengujian maka didapatkan prosentase error sebagai berikut: d) e) Perhitungan dengan tegangan Input Vin sebesar 4.5 volt adaah sebagai berikut:
Dengan perhitungan diatas, setelah dibandingkan dengan hasil pengujian maka didapatkan prosentase error sebagai berikut:
Data hasil pengujian ADC dapat dilihat pada tabel 4.1 berikut ini:
Data hasil pengujian ADC dapat dilihat pada tabel 2 berikut ini: Tabel 2 data pengujian ADC internal mikrokontroler No
Teg. Input ADC (volt)
1 2 3 4 5 6 7 8 9 10
0.00 0.25 0.50 0.75 1.00 1.25 1.50 1.75 2.00 2.25
Output ADC (praktek) Dec. Teg. (volt) 0 0.00 12 0.24 25 0.49 38 0.75 50 0.98 63 1.24 76 1.49 89 1.75 102 2.00 115 2.25
Output ADC (teori) Teg. Dec. (v) 0 0.00 12.8 0.25 25.6 0.50 38.4 0.75 51.2 1.00 64 1.25 76.8 1.50 89.6 1.75 102.4 2.00 115.2 2.25
48
Prosentase Error Dec. Teg. (%) (%) 0.00 0.00 6.25 4.00 2.34 2.00 1.04 0.00 2.34 2.00 1.56 0.80 1.04 0.67 0.67 0.00 0.39 0.00 0.17 0.00
No
Teg. Input ADC (volt)
11 12 13 14 15 16 17 18 19 20 21
2.50 2.75 3.00 3.25 3.50 3.75 4.00 4.25 4.50 4.75 5.00
Output ADC (praktek) Dec. Teg. (volt) 128 2.51 139 2.76 151 2.98 166 3.25 178 3.49 192 3.76 204 4.00 217 4.25 227 4.45 243 4.76 255 4.98
Output ADC (teori) Teg. Dec. (v) 128 2.50 140.8 2.75 153.6 3.00 166.4 3.25 171.52 3.50 192 3.75 204.8 4.00 217.6 4.25 230.4 4.50 243.2 4.75 256 5.00
Prosentase Error Dec. Teg. (%) (%) 0.00 0.40 1.28 0.36 1.69 0.67 0.24 0.00 3.78 4.18 0.00 0.27 0.39 0.00 0.28 0.00 1.48 1.11 0.08 0.21 0.39 0.40
Data perhitungan konversi tegangan analog ke digital beserta prosentase error-nya secara lengkap dapat dilihat pada tabel 4.1. Proses ketelitian pembacaan ADC pada mikrokontroler ATmega16 ini mempunyai perubahan prosentase error antara 0% sampai dengan 6% dalam setiap perubahan rata-rata heksadesimal yang masuk ke ADC mikrokontroler ATmega16. 4.3 Pengujian Sensor Kecepatan Pada pengujian sensor kecepatan, digunakan motor AC 220 V yang dipasangi sensor rotary yang telah di buat sebelumnya. Kecepatan diregulasi dengan merubah tegangan input pada motor, kemudian di bandigkan dengan tachometer. Dari pengujian, di dapatkan data seperti pada tabel 3. Tabel 3 Data pengujian sensor kecepatan
Tegangan (V)
Speed (RPM) Tacho meter
Sensor Kecepatan
35
812
833
2.59%
40
2374
2433
2.49%
45
2606
2666
2.30%
40
2716
2783
2.47%
49
% Error
Tegangan (V)
Speed (RPM) Tacho meter
Sensor Kecepatan
55
2780
2850
2.52%
60
2828
2900
2.55%
65
2852
2916
2.24%
70
2875
2933
2.02%
75
2890
2966
2.63%
80
2906
2983
2.65%
120
2947
3033
2.34%
160
2965
3041
2.29%
220
2972
3050
2.62%
% Error
Dari hasil percobaan sensor kecepatan yang di bandingkan dengan tachometer, terdapat sedikit perbedaan nilai.
Gambar 4.2 Perbandingan nilai kecepatan pada sensor kecepatan dengan tachometer Ppada gambar 4.3 terlihat bahwa pada pengujian, nlai yang di tampilkan sensor kecepatan sudah hampir sesuai seperti kecepatan motor.
50
Gambar 4.3 Grafik pembacaan sensor kecepatan 4.4 Pengujian Sinyal PWM Mikrokontroler Pada Kaki Mosfet Pengujian PWM ini bertujuan untuk melihat keluaran dari PWM yang dibangkitkan dari mikrokontroler ATmega16 menggunakan instruksi interrupt timer/counter 1.PWM ini nantinya digunakan sebagai masukan rangkaian totempole dan diteruskan untuk menyulut kaki-kaki gate mosfet pada rangkaian boost converter. PWM yang dibangkitkan mempunyai frekuensi yang sama yaitu 40 KHz, yang berubah adalah duty cycle-nya. Hasil pengujian ditampilkan menggunakan oscilloscope dapat dilihat pada gambar dibawah ini.
Gambar 4.4 Penyulutan mosfet pada duty cycle 50 51
Gambar 4.5 Penyulutan mosfet pada duty cycle 60 % 4.5 Pengujian Respon Kontrol PI-Fuzzy Pada pengujian ini dilakukan pengujian respon kontrol PI-Fuzzy yang digunakan untuk mengontrol kecepatan putaran motor DC. Diharapkan dengan menggunakan kontrol ini dapat mempertahankan kecepatan putaran motor dc saat terjadi perubahan beban. Pada pengambilan data kecepatan motor diset pada kecepatan 20 rps, yang diatur langsung pada program seperti berikut : // Global enable interrupts #asm("sei") xPWM = 0; Target = 20; Gambar dibawah adalah respon kontrol yang terekam pada hyperterminal pada codevision
Gambar 4.6 Respon Kontrol Pada Hyperterminal
52
Gambar 4.7Grafik respon kontrol
Rata rata respon yang telah disampling = 20,5
Pada respon kontrol, saat nilai set point diset pada kecepatan 20 rps, masih terdapat error. Pada hyperterminal dapat terlihat saat nilai yang dicapai diantara 19 rps, 20 rps, 21 rps, 22 rps. Respon kontrol di lihat dari hyperterminal codevision saat setpoint 17 rps :
Gambar 4.8 Respon Kontrol Pada Hyperterminal
Rata rata respon yang telah disampling = 17.3 rps % error= x 100%= 1,76%
53
Respon kontrol di lihat dari hyperterminal codevision saat setpoint 19 rps :
Gambar 4.9 Respon Kontrol Pada Hyperterminal
Rata rata respon yang telah disampling = 19,46 rps % error= x 100%= 2,1 % Respon kontrol di lihat dari hyperterminal codevision saat setpoint 20 rps, saatbecak diberi beban :
Gambar 4.10 Grafik respon kontrol saat diberi beban
54
Rata rata respon yang telah disampling = 16,26 rps Pada saat Becak diberi beban, respon kontrol terdapat error yang cukup besar dibandingkan saat becak tanpa beban.
55
“Halaman ini sengaja dikosongkan”
56
BAB V PENUTUP 5.1 Kesimpulan Dari hasil algoritma kontrol PI – fuzzy, dapat disimpulkan beberapa hal sebagai berikut : 1. Hasil dari pengujian sensor kecepatan dibandingkan dengan tachometer memiliki selisih error yang relatif kecil sebesar 2.2 %. 2. Saat becak diberi beban, antara set point kecepatan dan kecepatan yang terbaca oleh sensor terdapat error sebesar 18,5 %. 3. Saat nilai kecepatan motor di set pada kecepatan 17 rps, nilai error sebesar 1,76%, ketika nilai set point dinaikkan menjadi 19 rps besarnya nilai error bertambah menjadi sebesar 2,1 %. 5.1 Saran Kontrol PI – Fuzzy yang dibuat ini memiliki kelemahan diantaranya bahwa membership function untuk masing – masing variabel input dan output adalah fixed / tidak dapat diubah – ubah sehingga jika terjadi perubahan beban dapat direspon dengan cepat oleh kontroller. Untuk pengembangan kontroller PI – Fuzzy yang lebih baik, membership untuk error, delta error, dan membership function parameter I harus dapat diubah –ubah untuk mendapatkan respon yang lebih baik. Agar mendapatkan hasil pembacaan kecepatan motor yang lebih tepat lebih baik menggunakan rotary encoder yang jumlah lubangnya yang lebih banyak lebih dari 32 lubang.
57
“Halaman ini sengaja dikosongkan”
58
DAFTAR PUSTAKA 1. Ogata katsuhiko, Teknik kontrol automatik (sistem pengaturan), 1989. 2. Zuhal, Motor – Motor Listrik, 2001 3. Ogata Katsuhiko, Edi laksono ” Teknik Kontrol Otomatis (sistem pengaturan)”, jilid 1, 2000. 4. Benjamin C.Kuo, ”Automatic kontrol System”, Third
59
“Halaman ini sengaja dikosongkan”
60
LAMPIRAN 1. Listing Program /***************************************************** This program was produced by the CodeWizardAVR V2.03.4 Standard Automatic Program Generator © Copyright 1998-2008 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com Project : Version : 1 Date : 2/25/2011 Author : eepis Company : eepis Comments: bismillah
Chip type : ATmega16 Program type : Application Clock frequency : 11.059200 MHz Memory model : Small External RAM size : 0 Data Stack size : 256 *****************************************************/ #include <mega16.h> #include <delay.h> // Alphanumeric LCD Module functions #asm .equ __lcd_port=0x15 ;PORTC #endasm #include
// Standard Input/Output functions #include <stdio.h> 61
#define RXB8 1 #define TXB8 0 #define UPE 2 #define OVR 3 #define FE 4 #define UDRE 5 #define RXC 7 #define FRAMING_ERROR (1<
#define Maxs 1000 // Konstanta fuzzy error #define aE -25 #define bE -3 #define dE 3 #define eE 25
// Konstanta fuzzy error rate #define aER -25 #define bER -5 #define dER 5 #define eER 25
// member dari fuzzifikasi output #define cPBO 15 #define cPMO 6 #define cPSO 3 #define cNSO -3 #define cNMO -8 #define cNBO -15 62
// parameter motor #define PWMmax 0x1AFF #define PWM OCR1A
// USART Receiver buffer #define RX_BUFFER_SIZE 8 char rx_buffer[RX_BUFFER_SIZE]; #if RX_BUFFER_SIZE<256 unsigned char rx_wr_index,rx_rd_index,rx_counter; #else unsigned int rx_wr_index,rx_rd_index,rx_counter; #endif // This flag is set on USART Receiver buffer overflow bit rx_buffer_overflow; void KirimS100(int x) { if (x<0) { putchar('-'); x = -x; } else putchar('+'); putchar ((x/100) + 0x30); // kirim ratusan 2 putchar ((x/10)%10 + 0x30); // kirim puluhan 3 putchar (x%10 + 0x30); // kirim satuan 4 } void KirimSerial(int x) { if (x<0) { putchar('-'); x = -x; } else putchar('+'); putchar (x/1000 + 0x30); putchar ((x/100)%10 + 0x30); putchar ((x%100)/10 + 0x30); 63
putchar (x%10 + 0x30); } int xPWM, E, ER, Pulsa, Target; long FOutput,x,PI; bit flagSerial=0, Kontrol; unsigned char sData[2], index; float I,P; float Integral = 0; float TimeSampling=0.18; float Ki = 0.4; // USART Receiver interrupt service routine interrupt [USART_RXC] void usart_rx_isr(void) { char status,data; status=UCSRA; data=UDR; if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0) { if(!flagSerial) { if (data=='E') KirimS100(E); else if (data=='R') KirimS100(ER); else if (data=='P') KirimS100(Pulsa else if (data=='W') KirimSerial(xPWM else if (data=='F') KirimSerial(FOutput); else if (data=='T') // T puluhan satuan { flagSerial = 1; index=0; } } else { sData[index]=data; //'1', '2' index++; if(index==2) { Target = (sData[0]-0x30)*10 + (sData[1]-0x30); flagSerial=0; } 64
} }; } #ifndef _DEBUG_TERMINAL_IO_ // Get a character from the USART Receiver buffer #define _ALTERNATE_GETCHAR_ #pragma used+ char getchar(void) { char data; while (rx_counter==0); data=rx_buffer[rx_rd_index]; if (++rx_rd_index == RX_BUFFER_SIZE) rx_rd_index=0; #asm("cli") --rx_counter; #asm("sei") return data; } #pragma used#endif // Timer 2 overflow interrupt service routine interrupt [TIM2_OVF] void timer2_ovf_isr(void) { static int LastE; int NE, ZE, PE, NER, ZER, PER; int PBO, PMO, PSO, NSO, NMO, NBO; char buff[33],buff1[33],buff2[33],buff3[33]; Kontrol=~Kontrol; if(Kontrol) // frek kontrol sekitar 20Hz { // input kontrol = Error (E) dan Error Rate (ER) #asm("cli") Pulsa = TCNT0; TCNT0 = 0; E=Pulsa - Target; ER = E-LastE; LastE = E; 65
KirimSerial(Pulsa); putchar(13); // fuzzyfikasi Error NE = 0; ZE = 0; PE = 0; if (E<=aE) NE = Maxs; else if (E<=0) { NE = Maxs/aE * E; if (E>=bE) ZE = (-Maxs/bE*E) + Maxs; } else if (E<=eE) { PE = Maxs/eE * E; if (E<=dE) ZE = (-Maxs/dE*E) + Maxs; } else PE = Maxs; // fuzzyfikasi Error Rate NER = 0; ZER = 0; PER = 0; if (ER<=aER) NER = Maxs; else if (ER<=0) { NER = Maxs/aER * ER; if (ER>=bER) ZER = (-Maxs/bER * ER) + Maxs; } else if (ER<=eER) { PER = Maxs/eER * ER; if (ER<=dER) ZER = (-Maxs/dER * ER)+1; } else PER = Maxs;
// proses De-fuzzifikasi 66
if (NE>NER) PBO = NER; else PBO = NE; if (NE>ZER) PMO = ZER; else PMO = NE; if (NE>PER) PSO = PER; else PSO = NE; if (ZE>NER) PSO = NER; else PSO = ZE; if (ZE>ZER) ZO = ZER; else ZO = ZE; if (ZE>PER) NSO = PER; else NSO = ZE; if (PE>NER) NSO = NER; else NSO = PE; if (PE>ZER) NMO = ZER; else NMO = PE; if (PE>PER) NBO = PER; else NBO = PE; x = ((cNBO*NBO) + (cNMO*NMO) + (cNSO*NSO) + (cPSO*PSO) + (cPMO*PMO) + (cPBO*PBO))/100; sprintf(buff,"P=%.2f",x) ; lcd_gotoxy(0,1); lcd_puts(buff); delay_ms(100) ; //PI Integral += E*TimeSampling; P = x; I = Ki*Integral; PI = (P+I); 67
PI= FOutput; xPWM += FOutput; if(xPWM>PWMmax) PWM = PWMmax; //menghitung batas atas kontroler else if(xPWM<0) PWM = 0; //menghitung batas atas kontroler else PWM = xPWM; #asm("cli") } }
// Declare your global variables here void main(void) { // Declare your local variables here // Input/Output Ports initialization // Port A initialization // Func7=In Func6=In Func5=Out Func4=Out Func3=Out Func2=In Func1=In Func0=In // State7=T State6=T State5=0 State4=0 State3=0 State2=T State1=T State0=T PORTA=0x00; DDRA=0x38; // Port B initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=P PORTB=0x01; DDRB=0x00; // Port C initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 68
// State7=P State6=P State5=P State4=P State3=P State2=P State1=P State0=P PORTC=0xFF; DDRC=0x00; // Port D initialization // Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out // State7=0 State6=1 State5=0 State4=1 State3=0 State2=1 State1=0 State0=1 PORTD=0x55; DDRD=0xFF; // Timer/Counter 0 initialization // Clock source: T0 pin Falling Edge // Mode: Normal top=FFh // OC0 output: Disconnected TCCR0=0x06; TCNT0=0x00; OCR0=0x00; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: 1382.400 kHz // Mode: Fast PWM top=ICR1 // OC1A output: Non-Inv. // OC1B output: Discon. // Noise Canceler: Off // Input Capture on Falling Edge // Timer 1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x82; TCCR1B=0x1A; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x1A; ICR1L=0xFF; 69
OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // Timer/Counter 2 initialization // Clock source: System Clock // Clock value: 10.800 kHz // Mode: Normal top=FFh // OC2 output: Disconnected ASSR=0x00; TCCR2=0x07; TCNT2=0x00; OCR2=0x00; // External Interrupt(s) initialization // INT0: Off // INT1: Off // INT2: Off MCUCR=0x00; MCUCSR=0x00; // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00; // USART initialization // Communication Parameters: 8 Data, 1 Stop, No Parity // USART Receiver: On // USART Transmitter: On // USART Mode: Asynchronous // USART Baud Rate: 9600 UCSRA=0x00; UCSRB=0x98; UCSRC=0x86; UBRRH=0x00; UBRRL=0x47; // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x40; 70
// Analog Comparator initialization // Analog Comparator: Off // Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80; SFIOR=0x00; // Global enable interrupts #asm("sei") xPWM = 0; Target = 20; // LCD module initialization lcd_init(16); while (1) { } }
71
72
DAFTAR RIWAYAT HIDUP
Nama Tempat tanggal lahir Alamat Telepon / HP Email Hobi Motto
: Handoko : Trenggalek, 13 juni 1988 : Ds.Wonocoyo RT 11 RW 05, Pogalan, Trenggalek : +6285648986975 : [email protected] : Jalan-jalan ke THR, Baca buku : “Semangat…..!!”
Riwayat Pendidikan : SD Negeri 1 Woonocoyo, Tahun 1995 – 2001 SMPN 1 Pogalan, Tahun 2001 – 2004 SMKN 3 Surabaya, Tahun 2004 – 2007 Politeknik Elektronika Negeri Surabaya-ITS, tahun 2008 – 2011 Jurusan D3 Teknik Elektro Industri Penulis telah mengikuti Seminar Proyek Akhir pada tanggal 31 Juli 2011, sebagai salah satu persyaratan untuk memperoleh Ahli Madya (Amd) 73
“Halaman ini sengaja dikosongkan”
74