BAB - VIII - Kendali Kecepatan Motor DC
BAB - VIII - Kendali Kecepatan Motor DC
Akan dirancang kontroler untuk mengatur kecepatan motor DC dengan merubah besar tegangan masukan motor. Pada saat motor berputar terlalu cepat dari set point yang ditetapkan, maka untuk memperlambat putaran motor tegangan motor DC perlu dikurangi.
Jika motor terlalu lambat, maka tegangan masukan motor harus ditambah agar kecepatan motor mencapai nilai set point.
Sesuai dengan Gambar blok diagram diatas masukan kontroler fuzzy hanya satu yaitu error (Error). Error merupakan selisih antara kecepatan motor saat ini dengan kecepatan yang diinginkan (setpoint). Dalam kasus ini kecepatan motor diatur agar mempunyai kecepatan yang stabil pada 260 rpm.
Keluaran kontroler yaitu besar tegangan kontrol motor (Teg). Tegangan kerja yang diberikan pada motor mempunyai rentang antara 0 Volt hingga 5 volt. Motor akan berputar dengan kecepatan 260 rpm (yg diinginkan) jika tegangan yang diberikan pada motor sebesar 2.5 volt.
Menentukan Membership Function (MF) Langkah berikutnya adalah menentukan fungsi keanggotaan (membership function), baik masukan maupun keluaran. Fungsi keanggotaan masukan Error ditentukan terdiri dari 3 himpunan yaitu, Negatif (Neg), Zero (Zero), dan Positif (Pos).
MF Error
Sedangkan untuk keluaran kontroler Teg dibagi menjadi 3 himpunan juga yaitu, Kecil (K), Sedang (S), Besar (B).
Secara matematis fungsi keanggotaan Tegangan dapat dituliskan sebagai berikut.
MF Tegangan (Teg)
Membuat rule (aturan) Aturan dibuat untuk mengendalikan motor agar kecepatannya stabil pada 260 rpm. Jadi ketika kecepatan motor sekarang dinilai terlalu cepat (>260rpm) daripada nilai setpoint maka nilai error-nya bernilai negatif (-). Dengan demikian kontroler harus menurunkan tegangan motor agar motor melambat. Sebaliknya jika kecepatan motor terlalu lambat maka nilai error-nya positif (+) maka tegangan motor perlu dinaikkan. Jika kecepatan telah tepat pada 260 rpm maka kontroler mengeluarkan tegangan sebesar 2.5 volt. Diharapkan dengan aturan tersebut motor akan berputar dengan kecepatan yang stabil pada 260 rpm. Dari penjelasan diatas dapat ditentukan ada 3 aturan pengendalian sebagai berikut: Aturan #1: IF error IS negatif THEN teg IS kecil Aturan #2: IF error IS zero THEN teg IS sedang Aturan #3: IF error IS positif THEN teg IS besar
Menganalisa bagaimana FLC bekerja Diambil contoh ketika kecepatan motor 285 rpm, dimana lebih besar dari kecepatan yang diinginkan yaitu 260 rpm, berapakah tegangan yang dikeluarkan kontroler agar motor berputar pada kecepatan normalnya (260 rpm)? Sesuai kasus diatas, nilai error adalah sebesar -25 rpm. Langkah pertama yang dilakukan kontroler adalah menentukan derajat keanggotaan dari -25 rpm terhadap fungsi error (fuzzyfikasi). Nilai -25 rpm masuk dalam keanggotaan dari Zero dan Neg , untuk itu ada dua proses fuzzyfikasi untuk menentukan derajat keanggotaannya.
Dari dua nilai derajat keanggotaan Error kemudian kita tentukan nilai derajat keanggotaannya terhadap keluaran Tegangan. Untuk menentukan termasuk fungsi keanggotaan keluaran yang mana, sebelumnya kita tentukan aturan (rule) yang aktif. Karena nilai masukan Error masuk dalam keanggotaan Zero dan Pos Maka setelah dievaluasi aturan yang aktif adalah Aturan #1 dan Aturan #2. Untuk itu selanjutnya dilakukan inmplikasi untuk memperoleh consequent/keluaran sebuah aturan IF THEN berdasarkan derajat keanggotaan antecedent.
Langkah selanjutnya adalah melakukan agregasi, yaitu mengombinasikan keluaran aturan IF-THEN menjadi fuzzy set tunggal. Pada kasus ini ditentukan menggunakan fungsi max sehingga menghasilkan fuzzyset seperti gambar berikut.
Compound Pendulum
c mgd sin d L J
( s)
T (s)
2 Js 2 cs mgd
dL
Error [deg]
Thrust [N]
Rule Base
IF (error is negative) THEN (thrust is low) IF (error is zero) THEN (thrust is nominal) IF (error is positive) THEN (thrust is high)
Penjelasan
=0
= 20
Jika diinginkan nilai numerik error adalah -20 dan perubahan error=0. Berapakah dorongan ( thrust) yang harus diberikan ?
Rule Base
IF (error is -tive) AND (errorDer is dec) THEN (thrust is low) IF (error is -tive) AND (errorDer is stat) THEN (thrust is low) IF (error is -tive) AND (errorDer is inc) THEN (thrust is nominal) IF (error is zero) AND (errorDer is dec) THEN (thrust is low) IF (error is zero) AND (errorDer is stat) THEN (thrust is nominal) IF (error is zero) AND (errorDer is inc) THEN (thrust is high) IF (error is +tive) AND (errorDer is dec) THEN (thrust is nominal) IF (error is +tive) AND (errorDer is stat) THEN (thrust is high) IF (error is +tive) AND (errorDer is inc) THEN (thrust is high)
Using the value from above of the error equal to -20 degrees and assuming the error is constant (i.e. errorDer=0), rules (2,5) have values of 0.50 and rules (1,3,4,6,7,8,9) have values of zero. AND statements in the rule base correspond to taking the minimum value of the two expressions. In rule 2, for example, NE=0.5 and SE=1.0. Thus the output of rule 2 is min(0.5,1.0), or 0.5.
Kecepatan (KM)
Jarak (JM)
Ada 3 semesta pembicaraan yang ada pada sistem kecepatan mobil tersebut, yaitu: 1. kecepatan mobil (Km), merupakan sinyal masukan 2. jarak mobil (JM) , merupakan sinyal keluaran 3. posisi pedal rem (PPR), merupakan sinyal keluaran sebagai pengendali
JM
Sangat Dekat Sedang
Cepat Lambat
Agak Dekat
Agak Jauh
Cepat Sekali 0 20 40 60 80 0 1
Kecepatan (km/jam)
PPR
Injak Penuh
10
40
Misalnya pada suatu kondisi tertentu nilai numerik dari sensor kecepatan adalah 50Km/jam dan jaraknya adalah 0,75 m . Berapakah sudut posisi pedal rem harus diinjak sehinga mobil terebut dapat berjalan dengan baik dan tidak menabrak mobil didepannya? Untuk menjawab pertanyaan tersebut maka harus dilakukan defuzzifikasi , yaitu mengubah informasi fuzzy yang diolah berdasarkan fuzzifikasi sinyal masukan dan keluaran serta implementasi aturan-aturan yang juga fuzzy tersebut. Secara lebih rinci dapat dilihat pada gambar berikut, hasil dari gambar tersebut masih berupa informasi fuzzy, sehinga perlu dilakukan perhitungan defuzzifikasi
and
Fuzzy Rules
Aturan 1: IF kecepatan mobil cepat sekali and jaraknya sangat dekat Then pedal rem diinjak penuh Aturan 2: IF kecepatan mobil cukup And jaraknya agak dekat Then pedal rem diinjak sedang Aturan 3: IF kecepatan mobil cukup And jaraknya sangat dekat Then pedal rem diinjak agak penuh
Aturan 1:
Cepat Sekali Sangat Dekat Injak Penuh
20
40 60 80 Kecepatan (km/jam)
3 4 Jarak (m)
10
20
30
40
20
40 60 80 Kecepatan (km/jam)
3 4 Jarak (m)
10
20
30
40
Aturan 3:
Cukup
Sangat Dekat Injak Agak Penuh
20
40 60 80 Kecepatan (km/jam)
3 4 Jarak (m)
10
20
30
40
(0 )
COA : PPR =
0 10 20 30 40
= 16,