• Tidak ada hasil yang ditemukan

Bab III Perancangan Sistem

N/A
N/A
Protected

Academic year: 2021

Membagikan "Bab III Perancangan Sistem"

Copied!
15
0
0

Teks penuh

(1)

41

Bab III

Perancangan Sistem

Dalam perancangan sistem kendali motor DC ini, terlebih dahulu dilakukan analisis bagian-bagian apa saja yang diperlukan baik hardware maupun software kemudian dirancang bagian-perbagian, kemudian diintegrasikan sebagai sebuah kesatuan sistem kendali fuzzy.

II.7 Analisis dan perancangan blok pengendali kecepatan motor DC

Secara umum, sistem kendali kecepatan motor DC digambarkan dalam diagram blok berikut ini

Gambar III.1. Diagram blok sistem pengendali kecepatan motor DC

Set point merupakan masukan kecepatan yang dinginkan, error berupa selisih kecepatan antara set point dengan kecepatan motor yang diukur melalui sensor. Kendali merupakan metoda untuk memberikan kompensasi terhadap error yang kompensasi ini diharapkan dapat menekan nilai error sama dengan 0. Hasil komputasi kendali ini kemudian diberikan ke plant sehingga plant diberi masukan berupa tegangan yang besarnya sesuai dengan hasil komputasi.

Untuk efisiensi penggunaan catu daya pengendali, digunakan mikrokontroller sebagai pengolah data dan menggunakan mekanisma PWM sebagai pencatudayaan motor, adapun untuk kepentingan akusisi data digunakan PC yang dihubungkan melalui port serial. Untuk membangun sistem pengendali kecepatan motor DC dengan menggunakan mikrokontroller, diperlukan beberapa bagian baik hardware maupun software. Diagram blok sub sistem-sub sistem yang membangun sistem kendali kecepatan motor DC berbasis mikrokontroller ATMega 8535 digambarkan sebagai berikut:

Kendali Plant Umpan balik Kecepatan Set point + _ Error

(2)

42 Pencacah Pulsa Sistem Pengolah Data Driver motor Motor DC USART PC PWM Encoder ATMega8535 Plant Masukan analog ADC

Gambar III.2. Diagram blok sistem pengendali kecepatan motor DC dengan menggunakan ATMega8535

Fungsi masing-masing subsistem di atas sebagai berikut

• Masukan analog berfungsi untuk memberikan nilai set point dalam bentuk tegangan DC analog

• Motor sebagai objek yang dikendalikan kecepatannya • Encoder sebagai sensor kecepatan

• Pencacah pulsa berfungsi untuk mengukur kecepatan motor oleh mikrokontroller

• Sistem pengolah data sebagai bagian utama mikrokontroller untuk melakukan komputasi

• USART untuk komunikasi serial ke PC • PC untuk akusisi data

• PWM untuk menghasilkan tegangan sesuai dengan besar duty cycle yang ditentukan

• Driver motor untuk meningkatkan tegangan dan arus dari PWM sebagai catu daya motor

(3)

43

II.8 Perancangan Hardware

Hardware yang dibutuhkan dalam perancangan meliputi: sistem motor DC, driver motor, masukan analog untuk kecepatan referensi (set point) dan beban.

II.8.1 Perancangan sistem motor DC

Motor DC yang digunakan dalam penelitian ini terdiri 2 buah, 1 sebagai motor yang diatur kecepatannya sedangkan 1 buah motor sebagai beban (generator) yang dihubungkan porosnya menggunakan kopel sehingga kecepatan kedua motor tersebut selalu sama. Sistem tersebut diilustrasikan dalam gambar berikut ini.

Gambar III.3. Sistem motor DC

Motor DC dilengkapi dengan encoder sebagai sensor kecepatan dengan ketelitian 116 pulsa/rotasi. Jika motor berputar, maka beban berupa generator juga akan berputar sehingga menghasilkan tegangan.

II.8.2 Perancangan driver motor

Untuk memberikan catu daya ke motor diperlukan driver yang menerima masukan dari mikrokontroller dan keluarannya ke motor DC. Driver motor DC yang dibangun menggunakan IC L298N yang didalamnya merupakan rangkaian bridge yang menerima masukan level TTL dan mampu memberikan arus maksimum 1 ampere dan tegangan maksimum 46 volt. Dengan IC ini maka keluaran dari mikrokontroller dapat langsung diberikan ke pin masukan untuk mengatur polaritas pencatudayaan motor dan sinyal PWM melalui pin enable di L298N. Input driver ini berupa tegangan 0 –5 volt sedangkan keluaran berupa tegangan yang besarnya sesuai dengan tegangan referensi dan duty cyclenya. Diagram blok L298N dijelaskan dalam gambar berikut ini.

Motor DC Beban

(4)

44

Gambar III.4. Diagram blok L298N

Ketika diimplementasikan sebagai driver motor DC, konfigurasi pin yang digunakan dalam penelitian ini sebagai berikut.

Gambar III.5. Skema rangkaian driver motor

Catu daya driver motor terdiri dari catu daya referensi dan catu daya logic (VCC=5V). Keluaran driver motor dari pin 13 dan 14 yang dihubungkan langsung ke motor yang akan dikendalikan.

II.8.3 Perancangan masukan kecepatan referensi (set point)

Untuk memberikan kecepatan referensi ke sistem pengendali, ada 2 pilihan yang bisa digunakan:

• Potensiometer, pemberian nilai set point dengan cara memutar potensiometer sedemikian hingga nilai set point sesuai dengan yang diinginkan

• Input analog dari generator fungsi

Rentang nilai tegangan yang diijinkan –0.5 volt sampai dengan 5,5 volt sesuai dengan kemampuan ADC pada ATMega 8535. Untuk memilih mode apakah dari

(5)

45

potensiometer atau dari input analog diberikan switch sehingga ketika menggunakan input analog tidak terganggu oleh tegangan pada potensiometer. Kedua tipe masukan ini kemudian dihubungkan ke Port A.0 sebagai masukan analog. Rangkaian masukan kecepatan referensi dengan menggunakan potensiometer sebagai berikut.

Gambar III.6. Skema masukan set point melalui potensiometer

Cara kerja pengaturan tegangan sebagai referensi dengan menggunakan potensiometer adalah memfungsikan potensiometer sebagai rangkaian pembagi tegangan antara ground dengan VCC 5 volt.

II.8.4 Perancangan pengujian perubahan beban

Untuk menguji perubahan beban ketika motor berputar, pada terminal generator (beban) dihubungkan ke beban berupa led sehingga kecepatan motor turun akan tetapi motor masih mampu berputar.

II.9 Perancangan Sofware

Software yang diperlukan berupa program untuk memasukkan nilai set point ke ADC, modul-modul program mikrokontroller seperti: modul penghitung jumlah pulsa encoder, modul timer untuk pewaktuan penghitung jumlah pulsa encoder, modul PWM untuk membangkitkan tegangan DC yang akan diberikan ke driver motor, modul komputasi logika fuzzy dan modul akusisi data berupa hasil pengukuran ke PC melalui port serial.

Mikrokontroller yang digunakan adalah ATMega 8535 sedangkan tools untuk pengembangan programnya menggunakan Code Vision dan bahasa yang digunakan adalah bahasa C. Untuk proses download ke mikrokontroller, penulis menggunakan PonyProg 2000 versi 2.06f Beta. Proses download dengan menggunakan file hexa yang kemudian didownload ke mikrokontroller melalui

(6)

p m I p B A p t s I A t s B D s S p m port parale mikrokontro II.9.1 Pera Masu pembagi teg Beda tegang ATMega853 pengaturan tersebut seb set point. Va II.9.2 Pera Mod ATMega853 timer yang d sumber cloc Berikut regi Dengan me sumber cloc Secara fisik, Enco pulsa/rotasi motor dalam v = J el. Setelah oller akan be ancangan pe

ukan set poi gangan yang gan potensio 35. Hasil p set point de esar 127 tela ariabel “sp”d ancangan m dul pembaca 35. Modul p difungsikan ck dari ekst ster pada TC Gam mberikan n ck eksternal d , sumber clo oder yang d sehingga ji m rpm dinyat 116 pulsa Jumlah h program erfungsi sesu embaca mas int melalui p g dapat dia ometer terse pembacaan engan cara m ah mencuku di atas kemu modul penca a pulsa en pencacah pul sebagai penc ternal yakn CCR0. mbar III.7. R nilai pada T dan counter ck timer 0 b digunakan da ika waktu p takan ax ts 1000x 6 46 didownloa uai dengan pr sukan set po potensiomet atur dengan ebut kemudi ADC kem memutar pot upi kebutuha udian digunak cah pulsa en ncoder mem lsa encoder cacah adalah i dengan m egister pada TCCR0 = 0x akan naik k erasal dari lu alam penelit pencuplikan 60 rpm ad ke m rogram yang oint melalui

ter yang ber memutar p ian diumpan mudian diba tensiometer an untuk mem kan dalam k ncoder manfaatkan menggunak h dengan me mengkonfigu a TCCR time x07 maka t etika ada sin uar yakni me tian ini mem sebesar 20 mikrokontroll g kita masuk i potensiome rfungsi sebag potensiomete nkan ke AD agi 2 agar lebih tingg mberikan ni komputasi se fasilitas ti kan timer 0. engkonfigura urasikan nila er 0 timer 0 me nyal naik (ris

elalui PB.0. mpunyai ket 0 ms, maka ler, maka kkan. eter gai resistor er tersebut. DC internal ketelitian i dan hasil ilai sebagai elanjutnya. imer pada Cara kerja asikan agar ai TCCR0. nggunakan sing edge). telitian 116 kecepatan

(7)

47

dimana v adalah kecepatan motor dalam rpm, dan ts adalah waktu pencuplikan dalam mili detik. Nilai pulsa tersimpan dalam register TCNT0.

II.9.3 Perancangan timer

Timer digunakan sebagai pewaktu proses pencacahan jumlah pulsa encoder (time sampling), proses pewaktuan ini dengan memanfaatkan timer 2. Konfigurasi timer 2 sebagai timer dengan cara mengkonfigurasi register TCCR2 dan TCNT2. Register TCCR2 adalah register yang digunakan untuk mengkonfigurasi pre skalar timer.

Gambar III.8. Register pada TCCR timer 2

Dengan memberikan nilai 0x07 pada TCCR2 berarti preskalar yang dipilih 1024, yakni counter register TCNT2 akan naik setiap 1024 siklus clock.

Besar time sampling yang dipilih harus memperhatikan beberapa faktor sehingga didapatkan desain sistem kendali yang optimal, faktor-faktor untuk menentukan penentuan besar time sampling tersebut yaitu:

• Ketelitian encoder • Besar rise time • Besar settling time

Semakin kecil time sampling menyebabkan ketelitian penentuan nilai set point menjadi berkurang, hal ini dikarenakan pada penghitungan pulsa encoder pada time sampling rendah, kesalahan atau pembulatan 1 pulsa akan signifikan karena pulsa yang terkumpul sedikit, lain halnya pada time sampling yang besar maka jumlah pulsa yang terkumpul banyak sehingga kesalahan atau pembulatan 1 pulsa tidak terlalu signifikan terhadap hasil pengukuran. Jadi, penentuan time sampling merupakan kompromi ketiga variabel besaran yang berpengaruh di atas. Berikut tabel data penentuan besar time sampling dengan ketelitian yang dihasilkan dalam penentuan set point.

(8)

48

Tabel III.1. Pengaruh time sampling terharap ketelitian set point Time sampling (ms) Ketelitian (rpm) 5 103.45 10 51.72 15 34.48 20 25.86 25 20.69 30 17.24 35 14.78 40 12.93 45 11.49 50 10.34

Berdasar pengukuran karakteristik motor dalam domain waktu dengan masukan step pada set point 80 dimana besar rise time yakni waktu yang dibutuhkan untuk mencapai nilai sebesar steady state yang pertama kali kurang lebih sebesar 160ms dan besar nilai settling time sebesar 200ms, maka dipilih time sampling sebesar 20 ms dengan pertimbangan

• Ketelitian set point sebesar 25.86 rpm

• Terdapat 10 kali pengambilan data kecepatan sebelum motor mencapai range steady state.

Jika waktu pencuplikan yang diinginkan sebesar 20 ms, maka harus ditentukan mulai dari nilai berapa register TCNT2 bertambah sampai terjadi overflow. Dengan pre skalar 1024 dan clock osilator sebesar 11059200 berarti bahwa register TCNT2 akan naik setiap 1024 x (1/11059200) atau sekitar 9.26 x 10-5 detik, sehingga dibutuhkan 216 siklus untuk mendapatkan nilai timer 20 ms. Karena nilai maksimal TCNT2 256 maka TCNT2 harus diset bahwa nilai terendahnya adalah 240 (256-216) atau 0x28. Jadi secara keseluruhan konfigurasi timer 2 adalah: TCCR2=0x07 dan TCNT2=0x28.

II.9.4 Perancangan PWM sebagai penghasil tegangan ke motor

Untuk mengkonfigurasikan timer 1 sebagai fast PWM 8 bit maka register TCCR1A diberi nilai 0xA1, sedangkan untuk menjalankan pada pre skalar 64, maka TCCR1B diberi nilai 0x0B. Kemudian nilai TCNT1 juga perlu diinisialisasi dengan nilai 0x00 sehingga secara keseluruhan konfiguraisi PWM sebagai

(9)

49

berikut: TCCR1A=0xA1, TCCR1B=0x0B, TCNT1=0x000. Besar kecilnya duty cycle PWM adalah perbandingan nilai TCNT1 dengan nilai maksimal counter sehingga pada mode fast PWM 8 bit maka duty cycle adalah TCNT1/256.

II.9.5 Perancangan komunikasi serial dengan PC

Untuk pengamatan data, hasil pengukuran dan komputasi tersebut dikimkan ke PC melalui port serial. Data yang dikirimkan tidak hanya nilai kecepatan saja, bahkan nilai variabel-variabel selama proses komputasi juga dapat ditampilkan ke PC melalui port serial. Dalam komunikasi serial, ada 3 parameter penting yakni: • Baudrate. Seting baudrate dengan memberikan nilai pada register UBRR.

Rumus untuk menghitung nilai UBRR dinyatakan

Sehingga jika kita menggunakan baudrate 9600 maka UBRR bernilai 71 atau 0x47.

• Format data. Seting format data dengan memberikan nilai pada register UCSRC. Jika kita akan menggunakan format 1-bit start, 8-bit data,1-bit stop dan tidak ada paritas, maka register UCSRC diberi nilai 0x86.

• Enable transmit dan enable receive. Seting ini melalui register UCSRB, jika RXEN dan TXEN diset “1”, maka register UCSRB diberi nilai 0x18.

Selain parameter dalam program di mikrokontroller, parameter tersebut juga digunakan pada program di sisi PC. Penerimaan data serial tersebut dapat menggunakan Hyper Terminal yang merupakan software bawaan Microsoft Windows.

II.9.6 Perancangan logika fuzzy

Dalam perancangan kendali fuzzy, ada 3 tahap yakni: fuzzifikasi, inferensi fuzzy dan defuzzyfikasi.

• Fuzzifikasi

Meliputi pendefinisian masukan/keluaran sistem dalam format crisp dan batasan nilai-nilainya. Fungsi keanggotaan masukan berupa E dan CE yang dinyatakan dengan UBRR = rate baud x 16 kristal Frekuensi - 1 E(n) = SP(n) –PV (n) 3.1

(10)

50

A B C

u

Dimana E adalah selisih kecepatan dengan set point, CE adalah perubahan selisih kecepatan antara selisih kecepatan sekarang dengan yang sebelumnya. Nilai E dan CE mempunyai 5 label: NB (negative big), NS (negative small), Z (zero), PS (positive small), dan PB (positive big). Fungsi keanggotaan yang digunakan berupa fungsi segitiga, sehingga persamaan fungsi keanggotaannya

Gambar III.9. Bentuk fungsi keanggotaan E dan CE berupa segitiga

Sehingga secara matematis, nilai u yang digunakan untuk menyatakan derajat keanggotaan dinyatakan dengan:

u = 0 untuk x<A u = A B A x − − untuk A≤ x ≤ B u = B C x C − − untuk B≤ x ≤ C u = 0 untuk x > C

Adapun batas-batas nilai tiap label berdasarkan pengukuran bahwa kecepatan maksimum pada catu daya 12 volt disekitar range 80 pulsa/20ms, maka fungsi keanggotaan dinyatakan sebagai berikut:

-80 -40 -20 0 20 40 80

Z PS PB

NB NS

Gambar III.10. Fungsi keanggotaan E dan CE • Inferensi Fuzzy

(11)

51

Inferensi fuzzy mengacu pada grafik kinerja sistem kendali domain waktu dengan masukan step response, kemudian dibuatlah if-then rule yang merepresentasikan tujuan yang diinginkan yaitu peningkatan kinerja sistem.

Gambar III.11. Kinerja sistem kendali domain waktu dengan masukan step sebagai acuan pembuatan rule

Rule utama sistem fuzzy yang dibangun merujuk ke state-state utama yaitu: a, b, c, d, e, f, g, h. Rule if-then tersebut sebagai berikut

Tabel III.2. Rule utama sistem

No Rule E(Error) CE (∆Error) ∆PWM Referensi

1 PB Z PB A 2 Z NB NB B 3 NB Z NB C 4 Z PB PB D 5 PS Z PS E 6 Z NS NS F 7 NS Z NS G 8 Z PS PS H 9 Z Z Z Set point

Untuk memperhalus respon diperlukan state diantara state-state referensi utama, sehingga rule tambahan tersebut sebagai berikut

(12)

52

No Rule E(Error) CE(∆Error) ∆PWM Referensi

10 PB NS PS A-B 11 PB NB Z A-B 12 PS NB NS A-B 13 NS NS NS B-C 14 NB PS NS C-D 15 NB PB Z C-D 16 NS PS Z C-D 17 NS PB PS C-D 18 PS PS PS D-E 19 PS NS Z E-F

Karena ada 5 nilai dengan 2 variabel masukan, maka total rule sebanyak 25. Rule pelengkap tersebut sebagai berikut

Tabel III.4. Rule pelengkap sistem

No Rule E(Error) CE(∆Error) ∆PWM Referensi

20 NB NB NB B-C 21 NB NS NB B-C 22 PS PB NB D-E 23 PB PB PB D-E 24 PB PS PB D-E 25 NS NB PB F-G

Dalam implementasi programnya, kalkulasi masukan E dan CE untuk mendapatkan keluaran perubahan nilai PWM, digunakan matrik yang nilainya sesuai dengan fungsi keanggotaan keluaran seperti dinyatakan dalam rule-rule di atas. Implementasi nilai-nilai rule dalam program dengan matrik berukuran 5 x 5 bertipe integer.

• Defuzzyfikasi

Langkah terakhir dalam pengembangan sistem fuzzy adalah defuzzyfikasi yakni untuk mendapatkan nilai crisp dari hasil inferensi fuzzy. Fungsi keanggotaan keluaran adalah ∆PWM berupa fungsi singleton yang mempunyai label yang sama dengan masukannya. Hubungan ∆PWM dinyatakan:

Berdasar pengukuran bahwa motor mulai berputar pada pemberian nilai PWM sebesar 100, maka rentang perubahan nilai PWM adalah mulai dari 0 sampai

(13)

53

dengan 155 (255-100). Jadi untuk mengatasi dead zone pada motor, penulis hanya membatasi operasi pada daerah kerja liniernya saja sehingga fungsi keanggoatan ∆PWM sebagai berikut

Gambar III.12. Fungsi keanggotaan keluaran berupa ∆PWM

Sedangkan metoda yang digunakan dalam proses defuzzyfikasi adalah COG (center of grafity). Metode COG diilustrasikan sebagai berikut

Gambar III.13. Defuzzyfikasi dengan metoda COG

Secara matematis, nilau U yang berbenilai crisp dinyakatan dengan

U=

= k i 1 ui * µ(ui) 3.4

= k i 1 µ (ui)

Pada proses defuzzyfikasi dengan metode COG setiap keluaran fungsi keanggotaan yang mempunyai nilai diatas fuzzy keluaran dipotong, pemotongan ini disebut lamda cut. Hasil dari fungsi keanggotaan yang telah terpotong digabungkan lalu dihitung dengan COG secara keseluruhan.

(14)

54

II.9.7 Kompensasi ketidaklinieran sistem

Hasil percobaan untuk menyatakan hubungan antara PWM dengan kecepatan menunjukkan bahwa hubungan tersebut tidak linier, bahkan terdapat dead zone sehingga pada daerah tersebut perubahan nilai PWM tidak memberikan perubahan kecepatan, motor tetap dalam keadaan diam. Hubungan antara pemberian nilai PWM dan kecepatan motor dinyatakan dalam gambar berikut ini.

Gambar III.14. Kompensasi ketidaklinieran plant Terlihat kondisi plant bahwa:

• Motor mulai bergerak pada pemberian nilai PWM 8 bit sebesar 100 sehingga terdapat dead zone dari 0 sampai dengan 100.

• Dari grafik terlihat bahwa hubungan PWM dengan kecepatan tidak benar-benar linier akan tetapi agak melengkung.

Dari kondisi diatas, maka diperlukan kompensasi sehingga hasil komputasi memberikan respon mendekati kondisi nyata dengan cara membuat fungsi yang linier yang mendekati kondisi real plant tersebut, fungsi linier tersebut adalah

kecepatan = ( 100) 100 255 80 pwm 80 155 Plant 0 10 20 30 40 50 60 70 80 90 0 25 50 75 100 125 150 175 200 225 250 y = ke ce patan (rpm) x = PWM 8 bit (desimal) PWM vs Kecepatan

(15)

55

Kondisi ini mempengaruhi perancangan fuzzy sehingga keluaran defuzzifikasi yang semula dari rentang 0-255 menjadi 0-150, sehingga perubahan selisih pemberian nilai PWM hanya pada daerah kerja liniernya saja.

Gambar

Gambar III.1. Diagram blok sistem pengendali kecepatan motor DC
Gambar III.2. Diagram blok sistem pengendali kecepatan motor DC dengan  menggunakan ATMega8535
Gambar III.3. Sistem motor DC
Gambar III.4. Diagram blok L298N
+7

Referensi

Dokumen terkait

Karena kecepatan energi elektromagnetik adalah konstan (kecepatan cahaya), panjang gelombang dan frekuensi berbanding terbalik. Semakin panjang suatu gelombang, semakin rendah

Sedangkan data yang akan dihimpun adalah dalil-dalil yang berkaitan dengan jarimah zina dan pemerkosaan serta norma hukum yang ada di dalam Qanun Jinayat Aceh tentang

Untuk ZNT yang memiliki data harga jual tanah dan bila data harga jual yang terkumpul lebih dari satu, NIR diambil dari nilai rata-rata setelah dilakukan

Hal ini menunjukkan bahwa meskipun pada masing-masing kategori sekolah tidak terdapat asosiasi antara kemampuan pemecahan masalah matematis dan disposisi matematis,

cakupan dari kerja sama yang luas belum dimaksimalkan sepenuhnya, peneliti melihat bahwa jika kerja sama militer ini dimaksimalkan bukan hal yang tidak mungkin Indonesia

Akan tetapi mempunyai beberapa perbedaan yaitu bentuk penyampaian soal yang ada diaplikasi, objek, pokok bahasan tentang pengenalan Asmaul Husna, aplikasi yang

Ada dua jenis data yang dibutuhkan untuk menyempurnakan penelitian ini, yaitu data-data primer dan sekunder. Sumber primer penelitian ini adalah semua data

Dimana pada tahap ini pada fase persiapan, kaki yang tidak digunakan untuk menolak diangkat kebelakang setinggi lutut dan posisi tubuh sedikit condong kedepan