1
1
PROYEK AKHIR
Rancang Bangun Rangkaian Boost Converter Terkontrol Berbasis PI-Fuzzy
Logic Controller Untuk Menyuplai Motor DC Pada Mobil Listrik
(Subjudul : Software)
Grandis Prima Havilandi
NRP.7309.030.012
DosenPembimbing:
Renny Rakhmawati, ST, MT
NIP: 19721024.199903.2.001
Ainur Rofiq Nansur, ST, MT NIP: 19640713.198903.1.005
PROGRAM STUDI D3 TEKNIK ELEKTRO INDUSTRI
DEPARTEMEN TEKNIK ELEKTRO
POLITEKNIK ELEKTRONIKA NEGERI SURABAYA
INSTITUT TEKNOLOGI SEPULUH NOPEMBER
SURABAYA
2012
ii
PROYEK AKHIR
Rancang Bangun Rangkaian Boost Converter Terkontrol Berbasis PI-
Fuzzy Logic
Controller Untuk Menyuplai Motor DC Pada Mobil Listrik
(Subjudul : Software)
Grandis Prima Havilandi
NRP.7309.030.012
DosenPembimbing:
Renny Rakhmawati, ST, MT
NIP: 19721024.199903.2.001
Ainur Rofiq Nansur, ST, MT NIP: 19640713.198903.1.005
PROGRAM STUDI D3 TEKNIK ELEKTRO INDUSTRI
DEPARTEMEN TEKNIK ELEKTRO
POLITEKNIK ELEKTRONIKA NEGERI SURABAYA
INSTITUT TEKNOLOGISEPULUH NOPEMBER
SURABAYA
2012
iii
Rancang Bangun Rangkaian Boost Converter Terkontrol
Berbasis PI-Fuzzy Logic Conroller
Untuk Menyuplai Motor DC Pada Mobil Listrik
(Subjudul : Software)
Oleh:
Grandis Prima Havilandi
NRP. 7309030012
Proyek Akhir ini Diajukan Sebagai Salah Satu Syarat Untuk
Memperoleh Gelar Ahli Madya
di Politeknik Elektronika Negeri Surabaya
Institut Teknologi Sepuluh Nopember Surabaya
Disetujui oleh:
Tim Penguji Proyek Akhir Dosen Pembimbing
1. Indhana Sudiharto, ST, MT 1. Renny Rakhmawati, ST, MT
NIP. 19660227.199403.1.001 NIP. 19721024.199903.2.001
2. Arman Jaya, ST, MT 2. Ainur Rofiq Nansur, ST, MT
NIP. 19660208.198903.1.002 NIP. 19640713.198903.1.005
3. Rusiana, ST, MT
NIP. 19570126.199003.2.001
Mengetahui:
Ketua Program Studi
D3 Teknik Elektro Industri
Novie Ayub Windarko,ST,MT,Ph.D
NIP. 19751114.200003.1.001
i
ABSTRAK
Mobil listrik adalah termasuk salah satu aplikasi dari
disiplin ilmu electric drives, yang dapat didefinisikan sebagai
konversi energi listrik ke energi mekanik. Dalam penelitian ini,
penggerak dari mobil listrik yang digunakan adalah motor DC,
karena motor DC itu lebih mudah untuk diatur kecepatannya dari
pada motor AC. Jenis konverter daya yang digunakan dalam aplikasi
penggerak mobil listrik ini adalah Boost Converter berbasis PI –
Fuzzy, karena mampu menghasilkan efisiensi tinggi, rangkaian
sederhana, tanpa transformer dan tingkat ripple yang rendah pada
arus masukan.
Rancang bangun rangkaian boost converter berbasis PI -
fuzzy logic controller ini difungsikan untuk menaikkan tegangan
secara terkontrol untuk menyuplai kecepatan motor DC pada mobil
listrik saat beban berubah-ubah. Kontrol PI – fuzzy digunakan untuk
mengatur tegangan output boost melalui pengontrolan sudut
penyulutan rangkaian switching nya sehingga kecepatan motor DC
akan konstan pada referensi tegangan output yang diinginkan.
Kata kunci: Electric drives, boost converter, PI – Fuzzy Logic
Controller.
ii
ABSTRACT
The electric car is one of the application of electric drives
of disciplines, which can be defined as the conversion of electrical
energy into mechanical energy. In this study, driver of electric car
uses the DC motor, because it is easier to set the speed than the AC
motor. Types of power converters used in electric car propulsion
applications is Boost Converter-based PI – fuzzy logic controller,
being able to produce high efficiency, simple circuit, with no
transformer and low levels of ripple on the input current.
Boost converter circuit design based PI – fuzzy logic
controller is enabled to raise the voltage which is controlled to
supply the DC motor speed on electric cars at the variable load. PI
– fuzzy controller is used to adjust the voltage output of the boost
which is control the ignition angle of the switching circuit, so that dc
motor speed will be constant according to the output voltage
reference.
Keywords: Electric drives, boost converter, PI – Fuzzy Logic
Controller.
iii
KATA PENGANTAR
Segala puji dan syukur penulis panjatkan kehadirat Allah
SWT yang telah memberikan rahmat dan ridho-Nya sehingga penulis
dapat menyelesaikan buku proyek akhir yang berjudul ” Rancang
Bangun Rangkaian Boost Converter Terkontrol Berbasis PI - Fuzzy
Logic Controller Untuk Menyuplai Motor dc Pada Mobil Listrik
(Subjudul : Software) ”.
Buku ini disusun sebagai gambaran proyek akhir yang akan
kami kerjakan. Buku ini berisi tentang alasan pemilihan judul dan
proses menstabilkan putaran mobil listrik pada beban yang berubah-
ubah dengan cara menstabilkan tegangan output boost converter.
Selama pembuatan buku ini kami telah banyak memperoleh
bimbingan dan arahan. Oleh karena itu kami mengucapkan banyak
terima kasih kepada :
1. Renny Rakhmawati, ST, MT selaku dosen pembimbing 1 Tugas
Akhir.
2. Ainur Rofiq Nansur, ST, MT selaku dosen pembimbing 2 Tugas
Akhir.
3. Teman-teman, serta semua pihak yang tidak dapat kami
sebutkan satu per-satu.
Dengan menyadari keterbatasan ilmu kami, tentu buku ini
masih jauh dari sempurna. Untuk itu kami selaku penulis dengan
senang hati menerima kritik dan saran yang bersifat membangun dari
para pembaca buku ini.
Surabaya, Juni 2012
Penyusun
iv
UCAPAN TERIMA KASIH
Pada kesempatan yang berbahagia ini, penulis
menyampaikan rasa terima kasih kepada:
1. Allah SWT, karena dengan ridho dan karunia Nya saya
telah menyelesaikan projek akhir ini.
2. Nabi Muhammad SAW, Beliau yang selalu menjadi
motivasi dan panutan dihidupku.
3. Kedua orang tua, Bapak dan Ibu yang selalu tanpa
kenal lelah mendukung saya dari segala hal.
4. Kedua dosen pembimbing, Ibu Renny Rakhmawati,
ST, MT dan Bapak Ainur Rofiq, ST, MT atas segala
perhatian dan bimbingan yang telah diberikan sehingga
Proyek Akhir ini dapat terselesaikan.
5. Para ’alim ulama’ yang menjadi panutan saya di
zaman sekarang.
6. Semua Guru dan Dosen yang telah memberikan saya
ilmu baik formal maupun non formal.
7. Semua teman – teman saya yang selalu menginspirasi
saya lewat keseriusan dan candanya.
8. Seluruh keluarga D3 ELIN 09, yang banyak berjasa
buat hidup saya.
9. Seluruh warga PENS ITS meliputi karyawan, warga
jurusan lain, staff, satpam dan Pak OB yang selalu
memberikan fasilitas istimewa belajar saya.
10. Seluruh pihak yang tidak dapat kami sebutkan satu-
persatu atas bantuan yang telah diberikan selama ini.
Penulis berharap semoga bantuan dan keikhlasan
penyelesaian Proyek Akhir ini mendapat barokah dari Allah SWT.
v
DAFTAR ISI
Halaman
HALAMAN JUDUL ...................................................................... i
LEMBAR PENGESAHAN ........................................................... ii
ABSTRAK ...................................................................................... iii
KATA PENGANTAR ................................................................... v
UCAPAN TERIMA KASIH ......................................................... vi
DAFTAR ISI .................................................................................. vii
DAFTAR GAMBAR ..................................................................... ix
DAFTAR TABEL .......................................................................... xii
BAB I PENDAHULUAN
1.1. Latar Belakang ........................................................... 1
1.2. Tujuan ........................................................................ 2
1.3. Metodologi ................................................................. 2
1.4. Perumusan Masalah ................................................... 4
1.5. Batasan Masalah ......................................................... 5
1.6. Sistematika Pembahasan ............................................ 5
1.7. Tinjauan Pustaka ........................................................ 6
BAB II TEORI PENUNJANG
2.1. Motor DC ................................................................... 9
2.1.1. Motor DC Shunt ............................................... 11
2.1.2. Rangkaian PWM .............................................. 12
2.2. Kontrol PI ................................................................... 13
2.2.1. Kontroler Proporsional (P) ............................... 13
2.2.2. Kontroller Integral (I) ....................................... 14
2.3. Kontrol Fuzzy ............................................................. 15
2.3.1. Fuzzyfikasi ....................................................... 16
2.3.2. Kumpulan Aturan Fuzzy .................................. 16
2.3.3. Fungsi Keanggotaan Membershipfuntion ........ 17
2.3.4. Fungsi Implikasi Fuzzy .................................... 18
2.3.5. Defuzzyfikasi ................................................... 19
2.3.6. Pemodelan control Logika Fuzzy ..................... 19
2.4. Karakteristik Beban Non - Linier ............................... 20
2.5. Mikrokontroller .......................................................... 24
2.5.1. Mikrokontroller AVRAT Mega 16 .................. 24
2.5.2. Arsitektur AVRAT Mega 16 ............................ 25
vi
2.5.3. Konfigurasi AVRAT Mega 16 ......................... 27
2.5.4. Struktur Memori ............................................... 30
2.5.5. Port Sebagai Input / Output Digital .................. 31
2.5.6. Port Sebagai Analog Digital Converter (ADC) . 32
2.5.7. Timer / Counter ................................................ 34
BAB III PERENCANAAN DAN PEMBUATAN
PERANGKAT Lunak
3.1. Konfigurasi Sistem ..................................................... 39
3.2. Sistem Open Loop ...................................................... 41
3.3. Sistem Close Loop Dengan Kontrol Tipe PI .............. 44
3.4. Sistem Close Loop Dengan Kontrol Tipe Fuzzy ........ 46
3.5. Pembuatan Algoritma PI Fuzzy ................................. 47
3.5.1. Perencanaan Program Fuzzy ........................... 47
3.5.2. Fungsi keanggotaan ......................................... 50
3.5.3. Rule Base ........................................................ 51
3.5.4. Membership Funtion ....................................... 52
3.5.5. Flowchart ........................................................ 54
BAB IV PENGUJIAN DAN ANALISA
4.1. Pengujian Sistem Minimum Mikrokontroller ............ 57
4.2. Pengujian ADC .......................................................... 58
4.3 Pengujian Rangkaian dan Sambungan ....................... 61
4.4 Pengujian Sensor tegangan ........................................ 62
4.5 Pengujian Sensor kecepatan ....................................... 64
4.6 Pengujian Respon Kontrol PI - Fuzzy ........................ 65
4.7 Kesesuaian Antara Perencanaan dan Hasil ................ 66
BAB V PENUTUP
5.1. Kesimpulan ................................................................ 67
5.2. Saran-saran ................................................................. 67
DAFTAR PUSTAKA .................................................................... 68
LAMPIRAN ................................................................................... 69
vii
DAFTAR GAMBAR
Gambar Halaman
1.1. Blok Diagram Kontrol ....................................................... 3
2.1. Kaidah Motor DC .............................................................. 11
2.2. Rangkaian Motor DC Shunt .............................................. 12
2.3. Output Dari PWM ............................................................. 13
2.4. Kurva PI Kontroller ........................................................... 15
2.5. Struktur Dasar Dari Kontrol PI - Fuzzy ............................. 16
2.6. Fungsi Keanggotaan Trigular Function ............................. 17
2.7. Fungsi Keanggotaan Trapezoidal Function ....................... 18
2.8. Chip ATMEGA 16 Buatan ATMEL ................................. 25
2.9. Blok Diagram Arsitektur ATMEGA 16 ............................ 27
2.10. Pin – pin AVR ATMEGA 16 ............................................ 28
2.11. Peta Memori Flash ............................................................. 30
2.12. Peta Memori SRAM .......................................................... 31
2.13. Blok Diagram Timer Counter ............................................ 35
2.14. Timing Diagram Timer / Counter, Tanpa
Prescaling .......................................................................... 37
2.15. Timing Diagram Timer / Counter, Dengan
Prescalling ......................................................................... 37
3.1. Blok Diagram Kontrol ....................................................... 39
3.2. Blok Diagram Sistem Secara Open Loop .......................... 42
3.3. Rangkaian Simulasi Open Loop Pada Saat
Beban Bawah .................................................................... 42
3.4. Hasil Gelombang Output Saat Batas Bawah
Beban 56 kg ...................................................................... 43
3.5. Rangkaian Simulasi Open Loop Pada Saat Beban
Atas .................................................................................. 43
3.6. Hasil Gelombang Output Saat Batas Atas
Beban80kg ……………………..………………………… 44
3.7. Blok Diagram Sistem Dengan Kontrol tipe PI.................. 44
3.8. Blok Diagram Sistem Secara Close Loop
Dengan Kontrol PI ............................... ............................ 46
3.9. Boost Converter Dengan Kontrol PI Fuzzy ....................... 46
3.10. Gelombang Output Boost Converter Dengan
Kontrol PI Fuzzy ............................................................... 47
3.11. Flowchart Logika Fuzzy .................................................... 48
3.12. Blok Diagram Kontroller ................................................... 48
viii
3.13. Flowchart Proses Penentuan Crisp Input
(Kuantitas) dan Penentuan Crisp Output ............................ 49
3.14. Flowchart proses fuzzyfikasi ............................................. 50
3.15. Rule Base Fuzzy ................................................................ 52
3.16. Membershipfunction Error ................................................ 53
3.17. Membershipfunction Derror .............................................. 54
3.18. MembershipFuntion Output .............................................. 54
3.19. Flowchart Utama Sistem ................................................... 54
3.20. Flowchart Sistem ............................................................... 55
4.1. Pengujian Minimum Sistem ATMEGA 16 ....................... 58
4.2. Fluk 41B ............................................................................ 61
4.3. Rangkaian Sensor Tegangan ............................................. 62
4.4. Sensor Rotary Encoder Pada AS Roda Dan
Driver ... ............................................................................ 64
4.5. Pembacaan Sensor Kecepatan Pada LCD Saat
Tanpa Beban ..................................................................... 64
4.6. Respon Kontrol Yang Terekam Pada
Hyperterminal Pada Codevision ........................................ 65
4.7. Alat Secara Keseluruhan ................................................... 66
ix
DAFTAR TABEL Tabel Halaman
2.1. Rule Base Kontroller Logika Fuzzy ................................. 17
2.2. Beberapa Tipe Fungsi Implikasi Fuzzy ............................ 19
3.1. Hasil Simulasi Open Loop ................................................ 44
3.2. Rule Base Fuzzy ............................................................... 51
4.1. Data Pengujian ADC Internal Mikrokontroller ................ 60
4.2. Data Pecobaan Sensor Tegangan ...................................... 63
4.3. Pembacaan Putaran Berdasarkan Perubahan Beban. ......... 64
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Mobil listrik adalah kendaraan penumpang untuk pribadi, yang
beroperasi pada jalan raya, dan untuk kenyamanan umumnya
menggunakan roda empat dan yang digerakkan secara elektrik.
Mobil listrik termasuk salah satu bagian dari disiplin ilmu
pengemudian elektrik (electric drives), yang dapat didefinisikan
sebagai konversi energi listrik ke energi mekanik, serta cara-cara
pengaturannya. Komponen utama mobil listrik adalah motor listrik
sebagai penggerak, baterei sebagai sumber energi, sistem control
sebagai pusat kendali, dan konverter daya sebagai peralatan elektrik
atau rangkaian elektrik yang mengubah kebutuhan variabel sumber
energi dengan kebutuhan variabel mobil listrik melalui switching
devices.
Motor arus searah (motor dc) adalah salah satu jenis motor yang
telah ada selama lebih dari seabad. Munculnya motor DC membawa
perubahan besar pada dunia mesin listrik yang sebelumnya telah ada
motor AC karena motor dc mempunyai keunggulan dalam
kemudahan untuk mengatur dan mengontrol kecepatan dibandingkan
motor ac (motor bolak-balik yang bekerja memerlukan suplay
tegangan bolak balik ). Motor dc dapat berfungsi sebagai motor
apabila didalam motor listrik tersebut terjadi proses konversi dari
energi listrik menjadi energi mekanik. Motor dc itu sendiri
memerlukan suplai tegangan yang searah pada kumparan jangkar
dan kumparan medan untuk diubah menjadi energi mekanik. Pada
motor dc kumparan medan disebut stator (bagian yang tidak
berputar) dan kumparan jangkar disebut rotor (bagian yang berputar).
Keuntungan utama motor DC adalah sebagai pengendali
kecepatan, yang tidak mempengaruhi kualitas pasokan daya. Motor
ini dapat dikendalikan dengan mengatur:
a) Tegangan dynamo-meningkatkan tegangan dinamo akan
meningkatkan kecepatan.
b) Arus medan – menurunkan arus medan akan meningkatkan
kecepatan.
2
Prinsip kerja motor dc adalah daerah kumparan medan yang
yang dialiri arus listrik akan menghasilkan medan magnet yang
melingkupi kumparan jangkar dengan arah tertentu. Konversi dari
energi listrik menjadi energi mekanik (motor) maupun sebaliknya
berlangsung melalui medan magnet, dengan demikian medan magnet
disini selain berfungsi sebagai tempat untuk menyimpan energi,
sekaligus berfungsi sebagai tempat berlangsungnya proses perubahan
energi. Dengan mengacu pada hukum kekekalan energi. Proses
energi listrik = energi mekanik + energi panas + energi didalam
medan magnet.
Topologi konverter daya yang cocok dalam aplikasi penggerak
mobil listrik ini adalah Boost Converter terkontrol karena mampu
menghasilkan efisiensi tinggi, rangkaian sederhana, tanpa
transformer dan tingkat ripple yang rendah pada arus masukan. Boost
converter terkontrol ini difungsikan untuk menaikkan tegangan dan
mencatu dengan tegangan yang konstan. Konverter ini didesain
terkontrol karena sebagai pengaturan kecepatannya dengan megatur
frekuensi sudut penyulutan pada proses switching nya.
1.2 Tujuan
Mendesain dan membuat konverter terkontrol untuk mengatur
kecepatan motor dc dengan menaikkan tegangan input sebagai
penggerak mobil listrik, sehingga tercipta konverter untuk mobil
listrik yang aplikatif, handal, fleksibel dan effisien untuk
pengembangan mobil listrik.
1.3 Metodologi
Untuk pembuatan Proyek Akhir ini dilakukan prosedur atau
langkah-langkah pengerjaan yang dapat diuraikan sebagai berikut:
1.3.1 Studi Literatur
1) Mempelajari teori dasar yang berhubungan dengan topik yang
dibahas dalam tugas akhir ini dan berusaha mempelajari
permasalahan yang dihadapi.
2) Pengambilan dan pengumpulan data serta dasar teori yang
digunakan sebagai acuan dalam penyelesaian proyek akhir
3
antara lain motor dc, boost converter, kontrol PI, Kontrol
fuzzy dan teori lainya yang terkait dalam penyelesaian proyek
akhir ini.
1.3.2 Perencanaan Sistem
Setelah mempelajari literatur yang tersedia maka bisa dimulai
dengan mengetahui prinsip kerja dari motor dc yang akan digunakan
sebagai proyek akhir ini. Pada proyek akhir ini akan mengatur
kecepatan motor dc.
1.3.2.a Fuzzy Logic Controller
Pada kontroler ini masukan diambil dari sinyal speed error
(selisih antara putaran as referensi dan putaran as umpan balik yang
dihasilkan oleh tacho meter) dan perubahan sinyal speed error
(selisih sinyal error sebelumnya dengan sinyal error sekarang)
sebagai masukan.
Masukan akan masuk ke kontrol fuzzy yang kemudian mengatur
gain dari Kp, sedangkan gain Ki dibuat tetap. Keluaran dari kontrol
ini akan mengatur sinyal trigger pada PWM.
PWM akan diatur duty cycle nya sampai putaran as sesuai
dengan putaran as referensi. PWM ini memberikan sinyal pulsa ke
boost converter. Berikut ini gambar 1.1 blok diagram secara
keseluruhan.
Gambar 1.1. Blok Diagram Kontrol
4
1.3.2.b Batterai (Accu)
Pada proyek akhir ini dipilih baterai dengan spesifikasi tegangan
12V/36Ah yang diseri. Hal ini dikarenakan untuk menaikkan
tegangan dengan perbandingan terlalu besar yaitu 1:3 namun mampu
dioperasikan dalam sistem hingga sekitar 1 jam. Namun sebenarnya
dalam perancangan secara teoritis dibutuhkan baterai dengan
kapasitas 60Ah. Perhitungan kapasitas ini didasarkan pada
kebutuhan dari waktu pengoperasian atau pemakaian dalam sistem.
Desain perhitungan pemakaian aki
Efisiensi Boost converter = 80 %
Efisiensi = Pout Boost converter/Pin Boost converter
Pin Boost converter = Pout Boost converter/Efisiensi.
Dari perhitungan diatas kita dapat mengetahui Arus masukan
Boost converter yang nilainya sama dengan arus yang dikeluarkan
aki:
Pin Boost converter = Vin . In
Iin = Pin Boost converter/Vin
Jika Asumsi lama pemakaian dari mobil listrik sekitar 3 jam,
maka kapasitas aki dapat dihitung dengan persamaan.
Ta = Iin x Lama pemakaian (jam)
1.4 Perumusan Masalah
Pada proyek akhir ini untuk mengetahui fungsi dari
perbedaan antara teori pengendali dengan praktek yang berada
di lapangan, yang diinginkan untuk mengatur kecepatan motor
dc yang konstan meskipun ada beban yang sifatnya berubah-
ubah. Adapun permasalahan yang akan dibahas pada proyek
akhir ini adalah :
1. Pengonrolan sudut penyulutan pada PWM melalui PI –
Fuzzy logic Controller dan mendesain induktor pada
rangkaian boost converter.
5
2. Apakah beban berubah mempengaruhi output boost
converter.
3. Pengontrolan pada penyulutan tegangan output boost
converter, yang mengacu pada set point tegangan yang telah
ditentukan.
1.5 Batasan Masalah
Pada proyek akhir ini membahas tentang bagaimana cara
mengatur kecepatan pada motor dc. Dengan cara memberikan
input tegangan pada motor dc yang diatur melalui Boost
Converter terkontrol. Sehingga kami membuat driver dan
kontrol motor dc yang mencakup kontrol PI - Fuzzy juga
sebagai pengatur pulsa ke motor.
1. Mobil listrik dibatasi penggunaanya dalam medan lurus
saja, tidak menanjak dan turun.
2. Set point dari kecepatan mobil listrik juga dibatasi
maksimal kecepatan diset saat tegangan output boost 48 V.
3. Membership Function dari kontrol fuzzy dibatasi maksimal
5.
4. Mobil tidak bisa berjalan mundur.
5. Set point sudah ditentukan, tidak bisa diubah.
6. Sistem control menggunakan PI-Fuzzy
7. Penggerak menggunakan sebuah motor dc untuk
menggerakkan roda belakang
8. Penumpang dibatasi satu orang saja.
1.6 Sistematika Pembahasan
Sistematika pembahasan penyusunan Proyek Akhir ini
direncanakan sebagai berikut:
BAB I. PENDAHULUAN
Bab ini membahas pendahuluan yang terdiri dari latar
belakang, tujuan, metodologi, batasan dan perumusan masalah,
sistematika pembahasan Proyek Akhir dan tinjauan pustaka.
6
BAB II . TEORI PENUNJANG
Bab ini membahas teori-teori yang menunjang dan
berkaitan dengan penyelesaian Proyek Akhir, antara lain teori
tentang PI-Fuzzy, dan Boost Converter .
BAB III. PERENCANAAN DAN PEMBUATAN
Bab ini membahas tahap perencanaan dan proses pembuatan
perangkat keras Proyek Akhir.
BAB IV. PENGUJIAN DAN ANALISA
Bab ini membahas secara keseluruhan dari sistem dan dilakukan
pengujian serta analisa pada setiap percobaan perangkat keras.
Mengintegrasikan seluruh sistem dan pengujian, kemudian
berdasarkan data hasil pengujian dan dilakukan analisa terhadap
keseluruhan sistem.
BAB V. KESIMPULAN DAN SARAN
Bab ini membahas kesimpulan dari pembahasan, perencanaan,
pengujian dan analisa berdasarkan data hasil pengujian sistem. Untuk
meningkatkan hasil akhir yang lebih baik diberikan saran-saran
terhadap hasil pembuatan Proyek Akhir.
1.7 Tinjauan Pustaka
Pada referensi yang berjudul Desain penyearah 1 fase dengan
power factor mendekati unity dan memiliki THD minimum
menggunakan kontrol PID-fuzzy pada boost converter, Setyo Suka
Wahyu, PENS-ITS, TA 2011. Didalam referensi tersebut terdapat
beberapa kekurangan antara lain kontrol pada motor menggunakan
kontrol derivative.
Dari referensi tersebut bertujuan untuk menelaah dan
menghasilkan respon plan sistem kendali melalui proses
perencanaan rangkaian boost converter terkontrol sehingga keluaran
7
yang dihasilkan sesuai dengan apa yang diharapkan, yaitu dapat
mengendalikan output pada beban yang berubah-ubah. sehingga
kami disini mencoba dengan mendesain rangkaian boost converter
terkontrol berbasis fuzzy pada beban motor dc, dimana kontrol ini
berfungsi untuk mengatur tegangan input pada motor dc dengan
mengontrol sudut penyulutan rangkaian switching nya, kontrol
derivative tidak cocok digunakan untuk mengontrol motor karena
energi yang digunakan cukup besar, kontrol fuzzy memilki respon
yang mendekati set poin, output bisa lebih dari satu dan lebih
smooth.
Refrensi yang kedua yaitu berjudul Rancang Bangun Becak
listrik tenaga Hybrid dengan menggunakan kontrol PI-Fuzzy,
Handoko, PENS-ITS, TA 2011. Pada refrensi kedua ini, sangat
berkaitan erat dengan judul yang kami buat, yaitu bertujuan
merancang kontrol PI-Fuzzy untuk mengatur kecepatan putar motor
dc. Kontrol putaran motor dc pada judul ini digunakan untuk
mengontrol output tegangan boost yang akan digunakan untuk
mencharge battery, selain itu digunakan juga untuk menyulut driver
yang akan mengatur putaran motor dc. Dengan adanya refrensi
kedua ini sangat membantu kami dalam mengerjakan proyek akhir
dikarenakan memiliki tujuan yang hamper sama.
9
BAB II
TEORI PENUNJANG
Analisa dan perhitungan sangat penting dilakukan sebelum
merencanakan suatu sistem. Sehingga diperlukan teori penunjang
sebagai pendukung kebenaran dari analisa yang dilakukan. Teori
dasar pada proyek akhir ini diambil dari mata perkuliahan Power
Quality dan Elektronika Daya.
Teori dan analisa penunjang yang lain diambil dari mata
kuliah yang masih berkaitan dengan rangkaian Elektronika Daya
antara lain : Pengaturaan Otomatis, Dasar Pengendali
Cerdas,Mikrokontroller, Interface, Bahasa Pemrograman, Rangkaian
Listrik, Mesin Listrik dan Rangkaian Elektronika, serta buku – buku
literatur ( ada pada halaman Daftar Pustaka ).
Setiap pembahasan – pembahasan pada sub bab saling
berkaitan dengan teori dan analisa yang pernah diberikan pada
perkuliahan yang pernah didapatkan.
2.1 Motor DC
Motor arus searah (motor dc) adalah salah satu jenis motor
yang telah ada selama lebih dari seabad. Keberadaan motor dc telah
membawa perubahan besar sejak dikenalkan motor induksi yang
nama lain dari motor listrik arus bolak balik (ac) karena motor dc
mempunyai keunggulan dalam kemudahan untuk mengatur dan
mengontrol kecepatan dibandingkan motor ac (motor bolak-balik
yang bekerja memerlukan suplay tegangan bolak balik ). Motor dc
dapat berfungsi sebagai motor apabila didalam motor listrik tersebut
terjadi proses konversi dari energi listrik menjadi energi mekanik.
Motor dc itu sendiri memerlukan suplai tegangan yang searah pada
kumparan jangkar dan kumparan medan untuk diubah menjadi
energi mekanik. Pada motor dc kumparan medan disebut stator
(bagian yang tidak berputar) dan kumparan jangkar disebut rotor
(bagian yang berputar).
Keuntungan utama motor DC adalah sebagai pengendali
kecepatan, yang tidak mempengaruhi kualitas pasokan daya. Motor
ini dapat dikendalikan dengan mengatur:
10
a) Tegangan dynamo - meningkatkan tegangan dinamo akan
meningkatkan kecepatan
b) Arus medan - menurunkan arus medan akan meningkatkan
kecepatan.
Prinsip kerja motor dc adalah daerah kumparan medan yang
yang dialiri arus listrik akan menghasilkan medan magnet yang
melingkupi kumparan jangkar dengan arah tertentu. Konversi dari
energi listrik menjadi energi mekanik (motor) maupun sebaliknya
berlangsung melalui medan magnet, dengan demikian medan magnet
disini selain berfungsi sebagai tempat untuk menyimpan energi,
sekaligus berfungsi sebagai tempat berlangsungnya proses perubahan
energi.
Dengan mengacu pada hukum kekekalan energi :
Proses energi listrik = energi mekanik + energi panas + energi
didalam medan magnet.
Maka dalam medan magnet akan dihasilkan kumparan medan
dengan kerapatan fluks sebesar B dengan arus adalah I serta panjang
konduktor sama dengan L maka diperoleh gaya sebesar F, dengan
persamaan sebagai berikut :
F = B I L dengan : (2.1)
F = Gaya magnet pada sebuah arus (Newton)
B = Medan magnet (Tesla)
I = Arus yang mengalir (Ampere)
L = Panjang konduktor (meter)
Hubungan antara kecepatan, flux medan dan tegangan dinamo
ditunjukkan dalam persamaan berikut:
Gaya elektromagnetik: E = KΦN (2.2)
Torque: T = KΦIa
Dimana:
E =gaya elektromagnetik (volt)
Φ = flux medan yang berbanding lurus dengan arus medan
N = kecepatan dalam RPM (putaran per menit)
T = torque electromagnetik
Ia = arus dinamo
11
K = konstanta persamaan
Arah dari gaya ini ditentukan oleh aturan kaidah tangan kiri,
adapun kaidah tangan kiri tersebut dapat dilihat pada pada gambar
2.1 dibawah ini :
Gambar 2.1.
Kaidah Motor DC
Ibu jari sebagai arah gaya (F), telunjuk jari sebagai fluks (B),
dan jari tengah sebagai arus (I). Saat gaya (F) tersebut dibandingkan,
konduktor akan bergerak didalam kumparan medan magnet dan
menimbulkan gaya gerak listrik yang merupakan reaksi lawan
terhadap tegangan sumber. Agar proses perubahan energi mekanik
tersebut dapat berlangsung secara sempurna, maka tegangan sumber
harus lebih besar dari pada tegangan gerak yang disebabkan reaksi
lawan. Dengan memberi arus pada kumparan jangkar yang
dilindungi oleh medan maka menimbulkan perputaran pada motor.
2.1.1 Motor DC Shunt
Pada motor shunt, gulungan medan (medan shunt)
disambungkan secara paralel dengan gulungan dinamo. Oleh karena
itu total arus dalam jalur merupakan penjumlahan arus medan dan
arus dinamo. Berikut tentang kecepatan motor shunt :
Kecepatan pada prakteknya konstan tidak tergantung pada
beban (hingga torque tertentu setelah kecepatannya berkurang) dan
oleh karena itu cocok untuk penggunaan komersial dengan beban
awal yang rendah, seperti peralatan mesin.
Kecepatan dapat dikendalikan dengan cara memasang
tahanan dalam susunan seri dengan dinamo (kecepatan berkurang)
12
atau dengan memasang tahanan pada arus medan (kecepatan
bertambah). Dapat dilihat pada gambar 2.2 dibawah ini :
Gambar 2.2
Rangkaian Motor DC Shunt
2.1.2 Rangkaian PWM
PWM atau Pulse width Modulation adalah salah satu
teknik pemodulasian sinyal dimana besar duty cycle pulsa dapat
diubah-ubah. PWM biasa digunakan untuk aplikasi-aplikasi analog
yang menggunakan kontrol digital atau microcontroller, hal ini
dikarenakan mikrokontroler tidak mampu menghasilkan tegangan
analog secara langsung. Terdapat beberapa teknik untuk
membangkitkan sinyal PWM, namun secara garis besar terbagi
dalam 2 cara, yaitu pembangkitan sinyal dengan rangkaian analog
dan dengan kontrol digital atau dengan mikrokontroler. Secara
analog, pembangkitan sinyal PWM yang paling sederhana adalah
dengan cara membandingkan sebuah sinyal segi tiga atau gigi gergaji
dengan tegangan referensi seperti yang terlihat pada Gambar
dibawah. Gelombang segitiga atau gigi gergaji sebagai frekuensi
pembawa yang juga merupakan frekuensi sinyal output PWM.
Sedangkan tegangan referensi adalah tegangan yang menentukan
besarnya duty cycle dari output sinyal PWM.
Cara kerja dari komparator analog ini adalah membandingkan
gelombang tegangan gigi gergaji dengan tegangan referensi seperti
yang terlihat pada Gambar dibawah ini. Saat nilai tegangan referensi
13
lebih besar dari tegangan ramp (gigi gergaji) maka output
komparator akan bernilai high atau saturasi mendekati Vcc. Namun
saat tegangan referensi bernilai lebih kecil dari tegangan ramp, maka
output komparator akan bernilai low atau cut off. Dengan
memanfaatkan prinsip kerja dari komparator inilah, untuk mengubah
duty cycle dari sinyal output cukup dengan mengubah-ubah besar
tegangan referensi. Berikut ini hasil output dari PWM dapat dilihat
pada gambar 2.3 dibawah ini
Gambar 2.3.
Output Dari PWM
2.2 Kontrol PI
PI (dari singkatan bahasa Proportional–Integral controller)
merupakan kontroler untuk menentukan presisi suatu sistem
instrumentasi dengan karakteristik adanya umpan balik pada sistem
tesebut. Komponen kontrol PI ini terdiri dari dua jenis yaitu
Proportional dan Integratif. Keduanya dapat dipakai bersamaan
maupun sendiri-sendiri tergantung dari respon yang kita inginkan
terhadap suatu plant.
2.2.1 Kontroler Proporsional (P)
Pengaruh pada sistem :
1. Menambah atau mengurangi kestabilan.
2. Dapat memperbaiki respon transien khususnya : rise time,
settling time
3. Mengurangi (bukan menghilangkan) Error steady state.
14
4. Mengurangi settling time.
Nb: untuk menghilangkan Ess, dibutuhkan KP besar, yang akan
membuat sistem lebih tidak stabil
a) Persamaan matematis :
u(t) = KP . e(t) (2.3)
dimana KP : konstanta proporsional dalam Laplace
U(s)/E(s) = KP (2.4)
b) Dikenal juga sebagai : gain/penguatan
2.2.2 Kontroler Integral (I)
Pengaruh pada sistem :
1. Menghilangkan Error Steady State
2. Respon lebih lambat (dibandingkan dengan P)
3. Dapat Menambah Ketidakstabilan (karena menambah orde
pada sistem).
4. Menaikkan settling time, sehingga mendekati 0 error steady
state.
Persamaan matematis :
(2.5)
dimana Ki : konstanta integral
dalam Laplace
(2.6)
t
i dtteKtu0
)()(
s
K
sE
sU i)(
)(
15
Perubahan sinyal kontrol sebanding dengan perubahan error.
Semakin besar error, semakin cepat sinyal kontrol
bertambah/berubah. Lebih jelasnya maka lihat gambar berikut.
Kontroler Proporsional memberi pengaruh langsung (sebanding)
pada error. Semakin besar error, semakin besar sinyal kendali yang
dihasilkan kontroler. Pada gambar 2.4 dibawah ini adalah kurva PI
controller
Gambar 2.4.
Kurva PI Controller
• Prosedur praktis
1. Berikan input step pada sistem
2. Dapatkan kurva respons berbentuk S
3. Tentukan nilai L dan T
4. Masukkan ke tabel berikut untuk mendapatkan nilai Kp, dan Ki
Kontrol PI :
Kp = 0.9 x
Ki = 0.27 x
2.3 Kontrol Fuzzy
Kontrol logika fuzzy merupakan salah satu bentuk kontrol
cerdas (intelligent control). Penggunaan control logika fuzzy dapat
menyelesaikan permasalahan pada system yang memiliki perilaku
komplek. Struktur dasar dari Kontrol Logika Fuzzy dapat dilihat
pada gambar 2.5 dibawah ini:
16
Gambar 2.5. Struktur Dasar Dari Kontrol PI – Fuzzy
2.3.1 Fuzzyfikasi
Pada proses fuzzifikasi terjadi konversi variabel crisp kedalam
variable fuzzy melalui teknik fungsi keanggotaan, dimana error dan
delta error dipetakan kedalam rentang kerja semesta pembicaraan
melalui persamaan berikut:
Qe(k) = G1*e(k) (2.7)
Qe(k) = G2*e(k) (2.8)
Pada unit fuzzifikasi ini terjadi proses transformasi dengan cara
pemetaan ruang masukan dengan bantuan faktor penskala.
Perbedaaan kecepatan (error) diskala dengan gain G1, sedangkan
perbedaan perubahan kecepatan (delta error) diskala dengan gain G2.
2.3.2 Kumpulan aturan Fuzzy
Kumpulan aturan fuzzy terdiri dari beberapa aturan fuzzy yang
dikelompokkan kedalam basis aturan yang merupakan dasar dari
pengambilan keputusan (inference process) untuk mendapatkan aksi
keluaran sinyal kontrol dari suatu kondisi masukan. Proses
pengambilan keputusan menghasilkan sinyal keluaran yang masih
dalam bentuk bilangan fuzzy, yaitu derajat keanggotaan dari sinyal
kontrol. Basis aturan dari kontroller logika fuzzy dapat dilihat pada
tabel 2.1.
Fuzzifik
asi
Fuzzy rule -
Base
Defuzzifi
kasi
Data -
Base
17
Tabel 2.1.
Rule base kontroller logika fuzzy
2.3.3 Fungsi Keanggotaan (Membership Function)
Fungsi keanggotaan Fuzzy merupakan fungsi untuk
menyatakan tingkat keanggotaan fuzzy yang nilainya antara nol dan
satu. Ada beberapa bentuk fungsi keanggotaan fuzzy, diantaranya
adalah: segitiga (Triangular Function), trapezium (Trapezoid
Function), sigmoid, gauss dan lain-lain. Bentuk fungsi keanggotaan
yang dipakai pada paper ini yang digunakan adalah bentuk segitiga
dan trapezium.
Definisi Triangular function secara matematika dapat dilihat pada
gambar 2.6 dibawah ini :
Gambar 2.6.
Fungsi keanggotaan Triangular function
18
Definisi Trapezoidal function secara matematika dapat dilihat pada
gambar 2.7 dibawah ini:
Gambar 2.7.
Fungsi keanggotaan Trapezoidal function
2.3.4 Fungsi Implikasi Fuzzy
Pada umumnya aturan-aturan fuzzy dinyatakan dalam bentuk
logika IF-THEN yang merupakan dasar relasi fuzzy (R). Relasi
fuzzy dalam basis pengetahuan fuzzy didefinisikan sebagaifungsi
implikasi fuzzy. Beberapa fungsi implikasi fuzzy terdapat pada tabel
2.2 dibawah ini.
19
Tabel 2.2. Beberapa tipe fungsi implikasi fuzzy
2.3.5 Defuzzifikasi
Defuzzifikasi merupakan proses dimana suatu nilai fuzzy
output dari fuzzy rule diambil dan dimasukkan kedalam suatu fungsi
keanggotaan keluaran untuk mendapatkan hasil akhir yang disebut
crisp output. Metoda defuzzifikasi yang umum digunakan adalah
Centre of Gravity (COG) defuzzification , didefinisikan sebagai
berikut:
dengan
y = nilai keluaran (output)
cj = nilai tengah da ri keluaran fungsi keanggotaan ke-j
Uuj(u) = keluaran fungsi anggota
Uj = fuzzy set
R = jumlah aturan (rule)
2.3.6 Pemodelan Kontrol Logika Fuzzy
Pada paper ini dikembangkan control motor dc mengunakan
Logika Fuzzy yang dibentuk kedalam 2 kontroler:
a) Fuzzy Speed Controller yang digunakan untuk mengontrol
kecepatan motor .
b) Fuzzy Current Limitter yang digunakan untuk membatasi
arus jangkar pada motor.
(2.9)
20
2.4 Karakteristik Beban Non-linier
2.4.1 Perencanaan Mobil Listrik
2.4.1.a Kecepatan
Kecepatan mobil listrik yang kami buat diharapkan mencapai
kecepatan maksimum pada jalan lurus + 20 km/jam dengan
memperhitungkan gaya gesekan antara roda dengan jalan, dan gaya
aerodinamika.
2.4.1.b Massa
Massa total mobil beserta driver adalah 200 kg dengan rincian
massa driver (pengendara) 70kg, rangka mobil 70 kg, 3 buah accu 39
kg (tiap aki sekitar 13 kg) , 1 buah motor brushed dc 15 kg,
rangkaian driver 6 kg.
2.4.1.c Konsep Desain
Spesifikasi desain mobil listrik:
Panjang mobil
- Panjang keseluruhan (body) : 185 cm
- Panjang antar roda (depan belakang) : 95 cm
Lebar mobil
- Body : 95 cm
- Antar roda (kanan kiri) : 77 cm
Tinggi mobil
- Tanah ke chasis : 12,5 cm
- Tinggi body keseluruhan (termasuk rollbar) :113 cm
- Mesin : Motor Brushed DC 48V/700W
- Sistem Pengereman : Mekanik
- Ukuran velg : 14 inchi
- Bodi : Besi + plastik
21
2.4.2 Teori Pendukung Rancangan Mekanik Mobil Listrik
Pada mobil saat melaju mempunyai tiga buah macam gaya.
Gaya ini sangat berpengaruh pada pendisaianan mobil apakah mobil
akan sesuai dengan yang kita inginkan. Tiga buah macam gaya
tersebut adalah sebagai berikut:
2.4.2.a Gaya gesekan pada roda
Gaya ini sangat dipengaruhi oleh koefisien gesek antara ban
dengan lintasan serta kemiringan/tanjakan pada lintasan.
Persamaan untuk gaya gesek ini adalah sebagai berikut:
Untuk kemiringan lintasan sama dengan 0 derajat
F = m.g.Cg.cos 0 (2.10)
= m.g.Cg
Untuk kemiringan lintasan sebesar Θ
F1 = m.g.Cg.cos Θ (2.11)
Dimana :
F = gaya gesek yang bekerja pada mobil (N)
m = massa total mobil ( termasuk driver ) (kg)
g = percepatan gravitasi bumi (9,81 m/s2) (m/s
2)
Cg = koefisien gesek
2.4.2.b Gaya berat pada mobil
Gaya ini bekerja pada saat mobil berada di kemiringan tertentu.
Besarnya kemiringan sangat mempengaruhi besarnya gaya ini.
Dengan m merupakan massa total mobil , g percepatan gravitasi
bumi (9,81 m/s2), dan merupakan besarnya sudut kemiringan
lintasan, maka besarnya gaya dapat ditentukan dengan persamaan
berikut :
F2 = m.g.sin (2.12)
22
2.4.2.b.1 Gaya gesekan udara ( gaya aerodinamika )
Gaya ini adalah gaya yang bekerja pada saat mobil melaju dan
sangat dipengaruhi oleh kecepatan angin. Besarnya gaya ini dapat
ditentukan sebagai berikut :
F3 = ½ CB ρA V2
(2.13)
Sehingga besarnya gaya total mobil saat melaju adalah :
Ftotal = F1+F2+F3 (2.14)
2.4.2.c Torsi Motor DC
Tenaga mekanis yang dibangkitkan oleh jangkar yang berputar
pada kecepatan ωm rad/s adalah τωm dengan τ adalah torsi
(elektromagnetik). Torsi ini ditimbulkan pada saat arus jangkar
adalah ia pada tegangan (induksi) jangkar e, tenaga jangkar adalah e
ia. Jadi τωm = e ia , menjadi :
τ = F x s (2.15)
= B.ia.l.s
m.g.Cg.s
Keterangan :
τ = torsi (Nm)
F = Gaya (Newton)
s = Jarak (Meter)
m = massa total mobil ( termasuk driver ) (kg)
g = percepatan gravitasi bumi (9,81 m/s2) (m/s
2)
Cg = koefisien gesek pada brushed / komutator dan bearing
B = Kerapatan fluks (Wb/ m2 )
L = Panjang konduktor (m)
Sehingga dari rumus diatas, didapatkan daya yang dibutuhkan
oleh motor untuk menggerakkan mobil listrik dengan beban yang
telah ditentukan.
Pout = Eb x ia (2.16)
23
Eb = x = C.
Keterangan :
Pout = Daya pada motor (Watt)
Eb = Tegangan jangkar motor (Volt)
ia = arus jangkar (A)
Z = Jumlah lilitan konduktor
P = Jumlah kutub
N = Putaran motor (rpm)
a = P (untuk Lap Winding) atau a = 2 (untuk Wave Winding)
Hubungan antara torsi dengan daya adalah :
Pout = T x ω (2.17)
= T.2.Nr
Jika kita gabungkan 2 persamaan di atas maka akan diperoleh :
Pout = T.2.Nr (2.18)
T =
T=
Substitusi persamaan 5 & 7
m.g.Cg.s = (2.19)
m
Keterangan :
T = Torsi (Nm)
24
Berdasarkan teori diatas, maka di dapatkan :
1. Chasis mobil menggunakan bahan pipa besi dan besi siku dengan
prosentase 85%, digunakan pada bagian rangka utama. Plastik
dengan prosentase 15%, digunakan sebagai bahan body bagian
depan dan samping mobil.
2. Untuk penggerak dari mobil listrik menggunakan 1 Motor
brushed DC 48 Volt, 700 Watt yang dipasang ke roda belakang.
3. Sistem Rem menggunakan pengereman secara mekanik
menggunakan disc brake sepeda motor jenis bebek, dipasang pada
bagian As roda belakang mobil bagian kanan dan kiri.
2.5 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.5.1 Mikrokontroler 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 power saving. Selain itu AVR juga Mempunyai ADC dan
PWM internal.AVR juga mempunyai In-System Programmable
25
Flash on-chip, yaitu memori program yang dapat diprogram
ulang didalam sistem menggunakan hubungan serial SPI.1, Berikut
ini pada gambar 2.8 contoh chip AMEGA 16.
Gambar 2.8
Chip ATMEGA 16 buatan ATMEL
2.5.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
26
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.
c. One 16-bit Timer/Counter with Separate Prescaler,
Compare Mode, and Capture Mode
d. Real Time Counter with Separate Oscillator
e. Four PWM Channels
f. 8-channel, 10-bit ADC
g. Byte-oriented Two-wire Serial Interface
h. 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
Pada gambar 2.9 dibawah ini adalah blok diagram arsitektur
ATMEGA 16.
27
Gambar 2.9
Blok Diagram Arsitektur ATMEGA 16
2.5.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 GND, AVCC, XTAL1, XTAL2 dan AREF.2
28
Gambar 2.10
PIN – pin AVR ATMEGA 16
Keterangan dan penjelasan dari pin-pin AVR AT Mega 16
pada gambar 2.10 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 resistor-
resistor pull-up diaktifkan. Pin-pin pada port B
merupakan jenis tri-state, yaitu ketika kondisi reset
29
AVR ATMEGA 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.
30
2.5.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.
Berikut ini gambar 2.11 sebuah peta memori flash.
Gambar 2.11 Peta memori Flash
Pada AT Mega 16 memiliki 32 register, 64 register I/O dan
1024 data internal SRAM yang dapat mengakses semua mode-mode
pengalamatan. Pada gambar 2.12 dibawah ini sebuah peta memori
SRAM.
31
Gambar 2.12
Peta memori SRAM
2.5.5 Port Sebagai Input/Output Digital
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
32
itu kondisi pull-upenabled (DDxn=0, PORTxn=1)atau kondisi
outputlow (DDxn=1, PORTxn=0). Pada umumnya kondisi
pullupenabled 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.5.6 Port Sebagai Analog Digital Converter (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 :
33
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 masukan harus menunggu hingga ADC selesai melakukan
konversi. Free Running
Mode: Sama seperti 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.
34
5. Gain Error
Setelah menaikkan nilai offset, gainerror ada sebagai
penyimpangan pada saat perpindahan terakhir (0x3FE ke0x3FF)
dibandingkan dengan perpindahan yang ideal (pada 1.5LSB
dibawah maksimum). Dengan nilai ideal 0 LSB.
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.5.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
(2.20)
35
c. Bebas glitch, tahap yang tepat Pulse Width Modulator (PWM).
d. Pembangkit frekuensi
e. Eventcounterexternal
Gambar 2.13
Blok diagram timer counter
Gambar 2.13 diatas sebuah 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 Waktu Timer/Counter
Timer/counter sinkron clock timer (clkT0) oleh karena itu
ditunjukan sebagai sinyal enableclock pada gambar 2.14 berikut.
Gambar ini termasuk informasi ketika flaginterrupt dalam kondisi
set. Pada Data timing digunakan sebagai dasar dari operasi
timer/counter.
36
Gambar 2.14
Timing diagram timer/counter, tanpa prescaling
Sesuai dengan gambar 2.15 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.15
Timing diagram timer/counter, dengan prescaling
37
Gambar 2.16
Timing diagram timer/counter, menyeting OCFO, dengan prescaller
(fclk_I/O/8)
Pada gambar 2.16 diatas etika nilai ORCn sama dengan
nilai TCNTn maka pulsa flagtimer akan aktif. TCNTn akan
bertambah nilainya ketika pulsa clock telah mencapai 8 pulsa.
Dan Pada gambar 2.17 dibawah kondisi akan berbalik
(komplemen) kondisi ketika nilai TCNTn kembali kenilai 0
(overflow).
Gambar 2.17
Timing diagram timer/counter, menyating OCFO, pengosongan
data timer sesuai dengan data pembanding, dengan prescailer
(fclk_I/O/8)
39
PI
BAB III
PERANCANAAN DAN PEMBUATAN
PERANGKAT LUNAK
3.1 Konfigurasi Sistem
Dalam membangun sistem rancang bangun Rancang
Bangun Rangkaian Boost Converter Terkontrol Berbasis PI-Fuzzy
Logic Controller Untuk Menyuplai Motor DC Pada Mobil Listrik
dibutuhkan beberapa pendukung seperti yang terlihat pada gambar
3.1.
Gambar 3.1
Blok Diagram Kontrol
Pada kontroler ini masukan diambil dari sinyal speed error
(selisih antara putaran as referensi dan putaran as umpan balik yang
dihasilkan oleh tacho meter) dan perubahan sinyal speed error
(selisih sinyal error sebelumnya dengan sinyal error sekarang)
sebagai masukan.
Masukan akan masuk ke kontrol fuzzy yang kemudian mengatur
gain dari Kp, sedangkan gain Ki dibuat tetap. Keluaran dari kontrol
ini akan mengatur sinyal trigger pada PWM.
PWM akan diatur duty cycle nya sampai putaran as sesuai
dengan putaran as referensi. PWM ini memberikan sinyal pulsa ke
bosst converter.
Set
Point
48
FL
C
Boost Konverter
Trigger Mobil
Listrik
Sensor
Tegangan
Motor
DC Shunt
ACCU
Gear
Box
40
3.1.1 Boost Converter
Pada sistem ini, boost converter digunakan untuk menaikkan
tegangan dari baterai (accumulator) yang bernilai 36V ke 48V yang
digunakan untuk menyuplai motor.
3.1.2 Sensor Tegangan
Sensor tegangan dibangun dengan menggunakan resistor
yang bertujuan sebagai pembagi tegangan, karena tegangan yang
diukur besarnya lebih dari 5V.
3.1.3 Battery
Pada proyek akhir ini battery digunakan sebagai sumber energi
utama untuk menyuplai mobil listrik battery ini dipilih dengan
spesifikasi tegangan 12V/36Ah yang diseri sebanyak 3 buah
sehingga tegangan menjadi 36V.
Pada proyek akhir ini dipilih baterai dengan spesifikasi
tegangan 12V/36Ah yang diseri. Hal ini dikarenakan untuk
menaikkan tegangan dengan perbandingan terlalu besar yaitu 1:3
namun mampu dioperasikan dalam sistem hingga sekitar 1 jam.
Perhitungan kapasitas ini didasarkan pada kebutuhan dari waktu
pengoperasian atau pemakaian dalam sistem. Desain perhitungan
pemakaian aki:
Dari perhitungan diatas kita dapat mengetahui Arus masukan
Boost converter yang nilainya sama dengan arus pada Induktor:
Iin = IL (Avg)
Data yang diketahui :
Vin = 36 V
Vout = 48 V
Io = 10 A
Pout = 480 Watt
R = = = 4,8 Ω
Fs = 40 KHz ;
41
IL(Avg) = = = 13,33 A
Jadi, Iin = IL(Avg) = 13,33 A
Jika Asumsi lama pemakaian dari mobil listrik sekitar 3 jam,
maka kapasitas aki dapat dihitung dengan persamaan.
Ta = Iin x Lama pemakaian (jam)
Lama pemakaian = Ta/Iin
= 36/13,33
= 2,7 Jam
Keterangan :
Ta = Lama pemakaian arus baterei (dalam Ah)
3.1.4 Rangkaian Totempole
Rangkaian Totempole digunakan sebagai kopling antara
microcontroller dengan konverter DC-DC karena microcontroller
tidak mampu mengendalikan konverter secara langsung.
3.1.5 Microcontroller ATmega 16
Microcontroller adalah otak dari kerja keseluruhan
sistem.Pada proyek akhir ini digunakan microcontroller jenis
Atmega16 yang memiliki 4 Port yang masing masing 8 bit. Pada
sistemini microcontroller memproduksi sinyal PWM untuk
switchingkonverter-konverter serta membaca tegangan yang
dihasilkanuntuk dijaga nilainya.
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 :
42
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 3.3
menunjukan Gambar perancangan sistem dengan disertai
hardware.
Gambar 3.2
Blok diagram system secara open loop
Berikut ini simulasi open loop pada saat beban 56kg :
Chopper-Fed DC Motor Drive (Continuous)
Read the Model Properties
for initialization details
Continuous
pow ergui
Vdc
36 V
v+-
Vd
Torque Step
618.03
Torque (N.m)
Torque
selection
Speed Step
wm
wrefIref
Speed Controller
Scope
Reference Speed
selection
6
Ref. Speed (rad/s)
Pulse
Generator
g DS
Mosfet
?
More Info
Ls
Filter
ma
k
Diode
m
A+
F+
A-
F-
dc
TL
DC Machine
300 W / 48 V
Iref
Iag
Current Controller
Ia
<Speed wm (rad/s)>
<Speed wm (rad/s)>
<Armature current ia (A)>
Va
Gambar 3.3
Rangkaian Simulasi Open Loop Pada Saat Beban Bawah
Diketahui pada gambar 3.3 diatas adalah percobaan dengan beban
56 Kg, 1 Kg = 9,81 N.m, Jadi Torsi = 549,46 N.m. Pada gambar
3.4 dibawah ini adalah hasil outputnya
Output Input Plant
43
Sehingga outputnya
Gambar 3.4
Hasil Gelombang Output Saat Batas Bawah Beban 56 kg.
Berikut ini simulasi open loop pada saat beban 80 :
Chopper-Fed DC Motor Drive (Continuous)
Read the Model Properties
for initialization details
Continuous
pow ergui
Vdc
36 V
v+-
Vd
Torque Step
784.8
Torque (N.m)
Torque
selection
Speed Step
wm
wrefIref
Speed Controller
Scope
Reference Speed
selection
6
Ref. Speed (rad/s)
Pulse
Generator
g DS
Mosfet
?
More Info
Ls
Filter
ma
k
Diode
m
A+
F+
A-
F-
dc
TL
DC Machine
300 W / 48 V
Iref
Iag
Current Controller
Ia
<Speed wm (rad/s)>
<Speed wm (rad/s)>
<Armature current ia (A)>
Va
Gambar 3.5
Rangkaian Simulasi Open Loop Pada Saat Beban Atas
Diketahui pada gambar 3.5 diatas adalah percobaan dengan beban
80 Kg, 1 Kg = 9,81 N.m, Jadi Torsi = 784.8 N.m. Pada gambar 3.6
dibawah ini adalah hasil outputnya.
44
Hasil Outputnya
Gambar 3.6
Hasil Gelombang Output Saat Batas Atas Beban 80 kg.
Pada table 3.1 dibawah ini didapatkan hasil simulasinya :
Tabel 3.1 Hasil simulasi open loop
No. Berat Orang
(Kg)
Vout
Boost (V)
1. 56 44.1
2. 67 43.841
3. 70 43.7
4. 74 43.388
5. 80 43
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.7.
Gambar 3.7
Blok diagram sistem dengan kontrol tipe PI
45
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.
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.8. Sedangkan gambar 3.9
menunjukan Gambar perancangan sistem dengan disertai hardware.
Gambar 3.8
Blok diagram sistem secara close loop dengan kontrol PI
(3.1)
(3.2)
46
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.9
Boost Converter Dengan Kontrol PI Fuzzy
Gambar 3.10
Gelombang Output Boost Converter Dengan Kontrol PI Fuzzy
47
Pada gambar 3.10 hasil output diatas, masih kurang sesuai
dengan set point 48, tetapi respon diatas menunjukkan kalu fuzzy
responnya smooth dan berkat Ʈi di set 0.01 maka respon kembali ke
set poinnya lebih cepat.
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 gambar 3.11 adalah flowchart proses pengendali
logika fuzzy secara lengkap beserta blok diagram kontroler secara
lengkap
Gambar 3.11
Flowchart logika fuzzy
48
Gambar 3.12
Blok diagram kontroler
Pada gambar 3.12 Langkah pertama dalam proses
pembuatan system 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.13 dibawah ini.
49
Gambar 3.13
Flowchart proses penentuan crisp input (kuantitas) dan
penentuan crispoutput
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)
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.14
Sensor
Kecepatan
A
A
50
Gambar 3.14
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.berdasarkan rule-rule yang telah ditetapkan. Pendefinisian
Rule Base tergantung dari sinyal kontrol. Pendefinisian rule -rule
51
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 control 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 3.2
Tabel 3.2 Rule base fuzzy
52
Gambar 3.15
Rule Base Fuzzy
3.5.4 Membership function
Fungsi keanggotaan (membership function) menyatakan
fungsi secara keseluruhan untuk menyatakan derajat keanggotaan
(membership function) bagi masing -masing variabel fungsi
keanggotaan pada umumnya berbentuk segitiga. Pada gambar
3.16 dibawah ini adalah membership function error
53
Gambar 3.16
Membership Function Error
Gambar 3.17
Membership Function derror
Pada gambar 3.17 diatas adalah sebuah membership function
dari delta error. Dimana rangenya dibatasi dari 36 sampai 48 Volt.
54
Dibawah ini adalah gambar 3.18 dimana dari membership
function error dan delta error maka dihasilkan membership funtion
output.
Gambar 3.18
Membership Function Output
3.5.5 Flowchart System
Gambar 3.19
Flowchart Utama Sistem
55
Pada gambar 3.19 flowchart diatas saat tegangan input
pada boost converter melebihi tegangan referensi maka nilai duty
cycle akan naik sedangkan saat input boost converter dibawah
tegangan referensi maka nilai duty cycle akan turun.
Gambar 3.20
Flowchart System
56
Pada gambar 3.20 diatas untuk kontrol tegangan output boost
konverter, pertama adalah memasukkan nilai set point, sensor
tegangan tegangan output boost pada saat awal. Nilai hasil
pembacaan sensor tegangan 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 boost konverter.
57
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 Mikrokontroller
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
keluaran tiap port dari mikrokontroler.
2. Membuka program yang akan dites, kemudian meng-
compilenya.
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.
Pada gambar 4.1 hasil yang diperoleh adalah semua port akan
mengeluarkan tegangan sebesar ± 5 volt, sehingga bisa dipastikan
sistem minimum dapat bekerja degan baik.
58
Gambar 4.1.
Pengujian Minimum Sistem AT-MEGA 16
4.2 Pengujian ADC
Pengujian analog ke 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.
59
Dimana :
VADC = Tegangan terstruktur yang masuk ke mikrokontroller
Vin = Tegangan analog yang masuk ke Pin ADC
Vreff = Tegangan referensi sebesar 5 volt
28
= Setting ADC yang digunakan, yaitu sebanyak 8 bit
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 adalah
sebagai berikut:
(4.1)
(4.2)
(4.3)
(4.5)
(4.4)
(4.6)
60
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:
Tabel 4.1 Data pengujian ADC internal mikrokontroler
(4.7)
(4.9)
(4.8)
61
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 rangkaian dan sambungan
Pengujian dilakukan mulai dari pengecekan terhadap setiap
rangkaian dan sambungan yang telah dibuat apakah sudah sesuai dengan
gambar rangkaian yang dimaksud atau belum. Pemasangan kabel,
penyolderan dan komponen yang lainnya juga perlu di cek ulang apakah
sudah terpasang dengan tepat.
Pada pengujian proyek akhir ini pengujian dilakukan dengan
menggunakan alat ukur power harmonic analyzer seperti yang terlihat
pada Gambar 4.2, untuk mengetahui bentuk gelombang, spectrum dan
nilai dari arus, tegangan, daya dan parameter-parameter yang lain.
Gambar 4.2
Fluk 41B
4.4 Pengujian Sensor Tegangan
Sensor tegangan dibangun dengan prinsip pembagi tegangan
dari tegangan panel surya maksimal 48 Volt hingga 36 Volt. Tegangan
48 Volt DC kemudian melalui rangkaian pembagi tegangan karena
tegangan besarnya lebih dari 5 Volt. Tegangan 5 Volt inilah yang
kemudian digunakan sebagai referensi pembacaan oleh mikrokontroler
melalui ADC. Berikut Gambar 4.3 adalah sensor tegangan yang
dipakai pada proyek akhir.
62
Gambar 4.3.
Rangkaian Sensor Tegangan
Tabel 4.2 Data percobaan sensor tegangan :
NO Vin
Vout
Sensor
Tegangan
Vout
Teori
Error
(%)
1 36 2.79 2.81 0.71
2 37 2.8 2.89 3.11
3 38 2.81 2.97 5.38
4 39 2.82 3.05 7.54
5 40 2.88 3.12 7.69
6 41 3.13 3.2 2.18
7 42 3.19 3.28 2.74
8 43 3.21 3.36 4.46
9 44 3.174 3.44 0.07
10 45 3.455 3.51 1.56
63
11 46 3.52 3.59 1.94
12 47 3.63 3.67 1.08
13 48 3.707 3.75 1.14
Pada Tabel 4.2 di atas adalah hasil pengukuran dari sensor
tegangan. Pengukuran dilakukan dengan mengubah tegangan input .
Dari data yang diperoleh dapat dilihat bahwa tegangan output hasil
pengukuran dan hasil perhitungan teori yang hanya memiliki selisih
yang kecil. Hal ini dapat dilihat pada kolom persen error. Error yang
terjadi tidak terlalu besar hanya sekitar ± 1,1%.
4.5 Pengujian Sensor Kecepatan
Pada pengujian sensor kecepatan, digunakan motor dc 48V
yang dipasangi sensor rotary yang telah di buat sebelumnya dapat
dilihat pada gambar 4.4.
Gambar 4.4
Sensor rotary encoder pada as roda dan driver
Kecepatan diregulasi dengan merubah tegangan input pada
motor. Dari pengujian, di dapatkan data seperti pada tabel 4.3.
Tabel 4.3 Pembacaan putaran berdasarkan perubahan beban
No. Berat Orang (Kg) RPM
1. 0 99
2. 56 75
3. 67 67
4. 70 64
64
5. 74 60
6. 80 56
Gambar 4.5 pembacaan sensor kecepatan pada LCD :
Gambar 4.5
Pembacaan sensor kecepatan pada LCD saat tanpa beban
4.6 Pengujian Respon Kontrol PI – Fuzzy
Pada pengujian ini dilakukan pengujian respon kontrol PI-
Fuzzy yang digunakan untuk mengontrol kecepatan putaran motor
DC pada output boost konstan. Diharapkan dengan menggunakan
kontrol ini dapat mempertahankan kecepatan putaran motor dc saat
terjadi perubahan beban. Pada pengambilan data tegangan ouput
boost converter diset pada tegangan 48 V, yang diatur langsung pada
program seperti berikut :
float s=0.3;
float k=0.6;
float l=0.9;
float m =1.12;
float h=1.15;
float TimeSampling=0.5;
float sp=48 ;
float P;
Gambar 4.6 dibawah adalah respon kontrol yang terekam
pada hyperterminal pada codevision :
65
Gambar 4.6
Respon kontrol yang terekam pada hyperterminal pada codevision
Pada saat mobil listrik diberi beban, respon kontrol terdapat
error yang cukup besar dibandingkan saat mobil listrik tanpa beban.
4.7 Kesesuaian Antara Perencanaan dan Hasil
Setelah dilakukan perencanaan pembuatan kontol PI - Fuzzy
untuk mengontrol output boost converter yang digunakan menyuplai
motor dc melalui perhitungan secara teori maka untuk selanjutnya
dilakukan simulasi dengan software Matlab. Dari simulasi bisa didapat
hasil yang hampir sesuai dengan yang di harapkan yaitu memiliki error
<20%, hal ini disebabkan datasheet pada motor pada simulasi berbeda
dengan datasheet motor pada real. Setelah melakukan perencanaan dan
simulasi kemudian dilakukan pembuatan alat. Dari hasil pengujian alat
yang dibuat, hasilnya sudah mendekati hasil yang di harapkan yaitu
dapat menaikkan tegangan dc-dc converter dengan beban yang berubah-
ubah menjadi tegangan yang diharapkan konstan, dikarenakan kualitas
dari komponen yang dipakai dan untuk pemanfaatan belum bisa sesuai
dengan yang diharapakan. Dalam perencanaan output tegangan boost
converter harus pada 48V konstan, tetapi pada alat ini output tegangan
boost converter mendekati 48V, hal ini kemungkinan disebabkan losses
yang terjadi pada integrasi seluruh rangkaian. Berikut pada gambar 4.7
dibawah ini gambar keseluruhan alat
67
BAB V
PENUTUP
5.1 Kesimpulan
Setelah dilakukan proses perencanaan, pembuatan dan
pengujian alat serta dengan membandingkan dengan teori – teori
penunjang, maka dapat disimpulkan beberapa hal mengenai hasil
dari proyek akhir ini, yaitu :
1. Simulasi memperoleh hasil yang hampir sesuai dengan
yang di harapkan yaitu memiliki error <20%, hal ini
disebabkan datasheet pada motor pada simulasi berbeda
dengan datasheet motor pada real.
2. Range duty cycle yang telah diperoleh pada uji hardware
akan menjadi range duty cycle PWM mikrokontroller.
3. Pengaturan PWM mikro berbasis PI - fuzzy logic controller
dapat mengendalikan kestabilan keluaran dari rangkaian
yang disebabkan oleh pembebanan yang berubah-ubah pada
saat rangkaian bekerja.
4. Dari data yang didapat, dapat dilihat bahwa penggunaan PI
- fuzzy logic controller dapat mengendalikan keluaran dari
rangkaian boost agar lebih cepat, smooth dan stabil.
5.2 Saran-saran
Selama pengerjaan proyek akhir ini tentu tidak lepas dari
berbagai macam kekurangan dan kelemahan, baik itu pada sistem
atau peralatan yang dibuat. Untuk itu demi kesempurnaan alat yang
kami buat, disarankan :
1. Pada saat pembuatan kontrol PI – fuzzy logic controller,
maka yang kita lakukan adalah menentukan nilai Kp dan Ki
nya terlebih dahulu. Penetuan ini dilakukan dengan melihat
respon open loop terlebih dahulu.
2. Penentuan batasan membership function dan rule base dari
fuzzy logic controller harus teliti karena sangat berpengaruh
terhadap respon output tegangan boost yang dikontrol.
DAFTAR PUSTAKA
[1] Handy Wicaksono, Analisa Performansi dan Robustness
Beberapa Metode Tuning Kontroler PID pada Motor
DC,Jurnal Teknik Elektro Vol. 4, No. 2, September 2004: 70-
78.
[2] Rancang bangun rangkaian boost converter converter dan
inverter 3 fasa sebagai penggerak mobil listrik berbasis
mikrokontroler, Anintiya Maharani, PENS – ITS, TA 2010.
[3] Kendali kecepatan motor dc shunt dengan fuzzy logic
controller dan fuzzy curent limiter, Pahrudin Hasibuan,
Muhammad Ashari, Soebagio, ITS, 2007.
[4] Rancang bangun modul dc – dc converter dengan pengendali
PI, Dina Mursyida, PENS – ITS, TA 2010.
[5] Effendi, Moh. Zaenal, “Design of inductor”, power point
materi kuliah, Surabaya: PENSITS, 2007.
[6] Rashid M.H., “Power Electronics: Circuits, Devices and
Applications”, Prentice Hall, 1988. Fernuniversität-
Gesamthochschule Hagen; in Germany.
[7] Desain penyearah 1 fase dengan power factor mendekati unity
dan memiliki thd minimum menggunakan kontrol pid-fuzzy
pada boost converter, Setyo Suka Wahyu, PENS-ITS, TA
2011.
DAFTAR RIWAYAT HIDUP
Nama : Grandis Prima Havilandi
Tempat tanggal lahir : Sibolga, 07 April 1991
Alamat : Desa Mindi RT01/RW01, Sidoarjo, Jawa Timur
Telepon / HP : 0811913231159
Email : [email protected]
Hobi : Olahraga, travelling, main game
Cita-cita : Ingin Membahagiakan Orang Tua
Motto : Jangan Memaksakan Sesuatu Yang Tidak Kita
Senangi
Riwayat Pendidikan :
SDN Santeong 084084 Sibolga tahun 1997-2003
SLTPN 1 Sibolga tahun 2003-2006
SMAN 3 Bhayangkari Sidoarjo tahun 2006-2009
Teknik Elektro Industri tahun 2009-sekarang
Pens-ITS
Program
/*****************************************************
This program was produced by the
CodeWizardAVR V1.25.8 Professional
Automatic Program Generator
© Copyright 1998-2007 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com
Project :
Version :
Date : 7/7/2011
Author : F4CG
Company : F4CG
Comments:
Chip type : ATmega16
Program type : Application
Clock frequency : 11.059200 MHz
Memory model : Small
External SRAM size : 0
Data Stack size : 256
*****************************************************/
#include <mega16.h>
#include <lcd.h>
#include <delay.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=0x18 ;PORTB
#endasm
#include <lcd.h>
#include <delay.h>
#define ADC_VREF_TYPE 0x60
// Read the 8 most significant bits
// of the AD conversion result
unsigned char read_adc(unsigned char adc_input)
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
// Delay needed for the stabilization of the ADC input voltage
delay_us(10);
// Start the AD conversion
ADCSRA|=0x40;
// Wait for the AD conversion to complete
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCH;
char lcd_buffer[33];
//inisialisasi
float DAC,error,derror;
float aa,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11,r12,r13,r14,fuzzy_out;
float r15,r16,r17,r18,r19,r20,r21,r22,r23,r24,r25;
//float NB,NS,Z,PS,PB;
float I;
float Integral = 0;
float lasterror = 0;
float P_I,j,r,PWM;
float error1,error2,error3,error4,error5;
float derror1,derror2,derror3,derror4,derror5;
float pv,a;
//inisialisasi titik membership function error
//float NBe=-48,
float NBe1=-72;float NBe2=-48;float NBe3=-24;
//float NSe=-24
float NSe1=-48; float NSe2=-24;float NSe3=0;
//float Ze=0,
float Ze1=-24;float Ze2=0;float Ze3=24;
//float PSe=24,
float PSe1=0;float PSe2=24;float PSe3=48;
//float PBe=48,
float PBe1=24;float PBe2=48;float PBe3=72;
//inisialisasi titik membership function derror
//float NBde=36,
float NBde1=33;float NBde2=36;float NBde3=39;
//float NSde=39
float NSde1=36; float NSde2=39;float NSde3=42;
//float Zde=42,
float Zde1=39;float Zde2=42;float Zde3=45;
//float PSde=45,
float PSde1=42;float PSde2=45;float PSde3=48;
//float PBde=48,
float PBde1=45;float PBde2=48;float PBde3=51;
float TimeSampling=0.5;
float sp=48 ;
float P;
void main(void)
PORTA=0x00;
DDRA=0x00;
PORTB=0x00;
DDRB=0x08;
PORTC=0x00;
DDRC=0x00;
PORTD=0x00;
DDRD=0xFF;
ADMUX=ADC_VREF_TYPE & 0xff;
ADCSRA=0x84;
// LCD module initialization
lcd_init(16);
while (1)
a=read_adc(0);
delay_ms(100);
pv=a*1.9125;
error=sp-pv;
derror=error-lasterror;
Integral += error*TimeSampling;
lasterror=error;
//***************************fuzzyfikasi
error;************************
if (error<=NBe1)
error1=1;
else if (error>NBe2 && error<NBe3)
error1=((-96-error)/-24);
else if (error>=NBe3)
error1=0;
if (error==NSe1)
error2=1;
else if (error>NSe1 && error<NSe2)
error2=((error+48)/24);
else if (error>NSe2 && error<NSe3)
error2=((-error-24)/24);
else if (error<=NSe1 || error>=NSe3)
error2=0;
if (error==Ze2)
error3=1;
else if (error>Ze1 && error<Ze2)
error3=((error+24)/24);
else if (error>Ze2 && error<Ze3)
error3=((-error+24)/24);
else if (error<=Ze1 || error>=Ze3)
error3=0;
if (error==PSe2)
error4=1;
else if (error>PSe1 && error<PSe2)
error4=(error/24);
else if (error>PSe2 && error<PSe3)
error4=(-error/24);
else if (error<=PSe1 || error>=PSe3)
error4=0;
if (error<=PBe1)
error5=0;
else if(error>PBe1 && error<PBe2)
error5=((error-24)/24);
else if (error>=PBe3)
error5=1;
// **********************************fuzzyfikasi
derror;********************************
if (derror<=NBde1)
derror1=1;
else if(derror>NBde2 && derror<NBde3)
derror1=((-96-derror)/-24);
else if (derror>=NBde3)
derror1=0;
if (derror==NSde1)
derror2=1;
else if (derror>NSde1 && derror<NSde2)
derror2=((derror+48)/24);
else if (derror>NSde2 && derror<NSde3)
derror2=((-derror-24)/24);
else if (derror<=NSde1 || derror>=NSde3)
derror2=0;
if (derror==Zde2)
derror3=1;
else if (derror>Zde1 && derror<Zde2)
derror3=((derror+24)/24);
else if (derror>Zde2 && derror<Zde3)
derror3=((-derror+24)/24);
else if (derror<=Zde1 || derror>=Zde3)
derror3=0;
if (derror==PSde2)
derror4=1;
else if (derror>PSde1 && derror<PSde2)
derror4=(derror/24);
else if (derror>PSde2 && derror<PSde3)
derror4=(-derror/24);
else if (derror<=PSde1 || derror>=PSde3)
derror4=0;
if (derror<=PBde1)
derror5=0;
else if(derror>PBde1 && derror<PBde2)
derror5=((derror+24)/24);
else if (derror>=PBde3)
derror5=1;
// *****************************************Rule
base***************************
r1 = min(error1,derror1);
r2 = min(error1,derror2);
r3 = min(error1,derror3);
r4 = min(error1,derror4);
r5 = min(error1,derror5);
// if (error1>derror1)
//
// r1=derror1;
//
// else
//
// r1=error1;
//
//
// if (error1>derror2)
//
// r2=derror2;
//
// else
//
// r2=error1;
//
//
// if (error1>derror3)
//
// r3=derror3;
//
// else
//
// r3=error1;
//
//
// if (error1>derror4)
//
// r4=derror4;
//
// else
//
// r4=error1;
//
//
// if (error1>derror5)
//
// r5=derror5;
//
// else
//
// r5=error1;
//
r6 = min(error2,derror1);
r7 = min(error2,derror2);
r8 = min(error2,derror3);
r9 = min(error2,derror4);
r10 = min(error2,derror5);
// if (error2>derror1)
//
// r6=derror1;
//
// else
//
// r6=error2;
//
//
// if (error2>derror2)
//
// r7=derror2;
//
// else
//
// r7=error2;
//
//
// if (error2>derror3)
//
// r8=derror3;
//
// else
//
// r8=error2;
//
//
// if (error2>derror4)
//
// r9=derror4;
//
// else
//
// r9=error2;
//
//
// if (error2>derror5)
//
// r10=derror5;
//
// else
//
// r10=error2;
//
r11 = min(error3,derror1);
r12 = min(error3,derror2);
r13 = min(error3,derror3);
r14 = min(error3,derror4);
r15 = min(error3,derror5);
// if (error2>derror1)
//
// r11=derror1;
//
// else
//
// r11=error3;
//
//
// if (error2>derror2)
//
// r12=derror2;
//
// else
//
// r12=error3;
//
//
// if (error2>derror3)
//
// r13=derror3;
//
// else
//
// r13=error3;
//
//
// if (error2>derror4)
//
// r14=derror4;
//
// else
//
// r14=error3;
//
//
// if (error2>derror5)
//
// r15=derror5;
//
// else
//
// r15=error3;
//
r16 = min(error4,derror1);
r17 = min(error4,derror2);
r18 = min(error4,derror3);
r19 = min(error4,derror4);
r20 = min(error4,derror5);
// if (error2>derror1)
//
// r16=derror1;
//
// else
//
// r16=error4;
//
//
// if (error2>derror2)
//
// r17=derror2;
//
// else
//
// r17=error4;
//
//
// if (error2>derror3)
//
// r18=derror3;
//
// else
//
// r18=error4;
//
//
// if (error2>derror4)
//
// r19=derror4;
//
// else
//
// r19=error4;
//
//
// if (error2>derror5)
//
// r20=derror5;
//
// else
//
// r20=error4;
//
r21 = min(error5,derror1);
r22 = min(error5,derror2);
r23 = min(error5,derror3);
r24 = min(error5,derror4);
r25 = min(error5,derror5);
// if (error2>derror1)
//
// r21=derror1;
//
// else
//
// r21=error5;
//
//
// if (error2>derror2)
//
// r22=derror2;
//
// else
//
// r22=error5;
//
//
// if (error2>derror3)
//
// r23=derror3;
//
// else
//
// r23=error5;
//
//
// if (error2>derror4)
//
// r24=derror4;
//
// else
//
// r24=error5;
//
//
// if (error2>derror5)
//
// r25=derror5;
//
// else
//
// r25=error5;
//
//**********************************defuzzyfikasi*********
************************
j=(r1*s)+(r2*s)+(r3*s)+(r4*k)+(r5*l)+(r6*s)+(r7*k)+(r8*l)+(r9*l)+(
r10*m)+(r11*s)+(r12*k)+(r13*l)+(r14*m)+(r15*h)+(r16*k)+(r17*l)
+(r18*l)+(r19*m)+(r20*h)+(r21*l)+(r22*m)+(r23*h)+(r24*h)+(r25*
h); aa=( r1 + r2 + r3 + r4 + r5 + r6 + r7 + r8 + r9 + r10 + r11 + r12 +
r13 + r14 + r15 + r16 + r17 + r18 + r19 + r20 + r21 + r22 + r23 + r24
+ r25 );
fuzzy_out = fabs(j/1);
if(fuzzy_out>255) fuzzy_out = 255; PWM = 255;
else if(fuzzy_out>0) PWM = (unsigned char)fuzzy_out;
else fuzzy_out = 0; PWM = 0;
a = Speed ;//(unsigned char)Error;
putchar (a/100 + 48);
putchar ((a%100)/10 + 48);
putchar (a%10 + 48);
putchar (13);
counter2=0;
if (counter==PWM) xSpeed=1;
PORTD=255-DAC;
lcd_clear();
lcd_gotoxy(0,0);
sprintf(lcd_buffer,"%0.01f",pv);
lcd_puts(lcd_buffer);
lcd_gotoxy(0,1);