You are on page 1of 9

Applying Fuzzy Logic And Pulse Width Modulation For Speed

Control System Of Line Follower Robot

Penerapan Logika Fuzzy Dan Pulse Width Modulation Untuk


Sistem Kendali Kecepatan Robot Line Follower
Ahyar Supani*, Azwardi

Teknik Komputer Politeknik Negeri Sriwijaya,


Jalan Srijaya Negara Bukit Besar Palembang Sumatera Selatan

ahyaryuli@yahoo.com

Absract

One obstacle that faced by line follower robot (LF) is a drived-motor speed control when it turns right/left following
a sharp turn, a medium turn, a less turn and no line. Robot LF turning on a sharp turn line always gets out of line
because two drived-motors run maximum and continually move on no line track. This obstacle is overcomed by
applying a fuzzy logic to scan sharp turn, medium turn, turn slightly and no line track while applying Pulse Width
Modulation to control two drived-motors. Input scanning of robot LF is set by fuzzy that are ‘sharp_right_turn’,
‘medium_right_turn’, ‘right_turn_slightly’, straight, ‘sharp_left_turn’, ‘medium_left_turn’, ‘left_turn_slightly’, no line.
A drived-motor speed control is set : if sharp_right_turn then a right drived-motor is very slowly, medium_right_turn
then a right drived-motor is rather fast, right_turn_slightly then a right-drived-motor is slightly faster vise versa similar
to turn left. Robot LF runs maximum on a straight line and turns back 360o on no line track by turning off left- drived-
motor and turning on maximal right- drived-motor.

Keywords : Fuzzy, Pulse Width Modulation, input scanning, drived-motor control

Abstrak

Satu kendala robot line follower (LF) yaitu kendali kecepatan putaran saat belok mengikuti garis belok tajam, belok
sedang, belok sedikit, dan tidak ada garis. Robot LF berbelok pada garis yang belok tajam selalu mengalami keluar
garis karena putaran motor bergerak maksimum dan terus bergerak jika tidak ada garis. Kendala ini diatasi dengan
menerapkan logika fuzzy untuk melacak belokan garis tajam, belokan sedang, belokan sedikit dan tidak ada garis,
selanjutnya penerapan Pulse Width Modulation untuk kendali gerak motor. Pembacaan masukan robot LF diatur oleh
Fuzzy yaitu belok_kanan_tajam, belok_kanan_sedang, belok_kanan_sedikit, lurus, belok_kiri_tajam,
belok_kiri_sedang, belok_kiri_sedikit, garis_putus. Kendali gerak putaran motor diatur, jika belok_kanan_tajam maka
putaran motor kanan sangat lambat, belok_kanan_sedang maka putaran motor kanan agak cepat, belok_kanan_sedikit
maka putaran motor kanan agak lebih cepat sebaliknya sama jika belok kiri. Robot LF bergerak maksimum jika garis
lurus dan berputar 360o jika garis putus dengan motor kiri tidak bergerak dan motor kanan bergerak maksimum.

Kata kunci : Fuzzy, Pulse Width Modulation, pembacaan masukan, kendali gerak motor

1. Pendahuluan penelitian memformulasikan lintasan robot


berdasarkan metode formal Logic Temporal Linier
Perkembangan teknologi robot dewasa ini banyak (LTL) oleh Irvan Lewenusa, Wisnu Ananta
membantu pekerjaan manusia seperti yang dipakai Kusuma (2008) [2] dan penelitian Widiyanto
di industri sebagai lengan robot (robot arm), (2008) [3] LTL diterapkan untuk menyusun
namun ada juga robot yang dikembangkan dalam spesifikasi mobile robot berdasarkan kebutuhan
kontes robot misalnya robot seni, robot sepakbola, rancangan kendali navigasi Kontes Robot Cerdas
robot penghindar tabrakan sekaligus pencari dan Indonesia 2006, juga menerapkan logika fuzzy
pemadam api. Dalam perkembangannya, robot untuk rancangan kontroler untuk robot bergerak
semakin kian banyak diteliti di perguruan tinggi yang dibangun oleh Shukla dan Tiwari (2010) [4]
untuk meningkatkan kepintaran (smart) robot [1], yang dikembangkan adalah hubungan matematika

1. Ahyar Supani dan Azwardi


Penerapan Logika Fuzzy dan PWM untuk Sistem Kendali Kecepatan Robot Line Follower . 2

dan geometri antara koordinat 3 dimensi dan 2 Masukan berupa sensor garis yang
dimensi, untuk peningkatan kepintaran robot menggunakan infrared dan photo diode yang
bergerak dilakukan oleh Supani (2008) [5] dengan terdiri atas 4 pasang sensor.
navigasi gerak robot berdasarkan jarak penghalang
dengan robot tersebut. Pengembangan kendali
pintar robot lengan juga telah dikembangkan oleh
Bachir Ouamri dan Zubir Ahmed (2012) [6] yang
menyajikan kendali lengan robot Puma 600
menggunakan Adaptive Neuro Fuzzy Inference
System (ANFIS) yang berbasiskan Controller Torsi
Terkomputerisasi. Penerapan controller fuzzy pada
motor DC mesin pembuat gerabah di Desa Nguri Gambar 1. Diagram blok robot LF
Kecamatan Lambeyan Kabupaten Magetan untuk
mengatur putaran 100 rpm – 250 rpm motor oleh Empat masukan sensor digambarkan pada
Resmana et al, (1999) [7], dan juga pengaturan gambar 2.
motor induksi lebih cepat dan halus [8] dan
pengembangan lanjut oleh Andriansyah (2010) [9]
perancangan robot bergerak berbasis perilaku
mahluk hidup menggunakan Particle Swarm Fuzzy
Controller.
Pada tulisan ini, pengembangan robot LF terus
ditingkatkan kepintarannya, karena kelemahan
robot LF selama ini adalah keluar jalur pada saat
berbelok tajam pada lintasan garis, hal ini
disebabkan tidak ada kendali gerak kedua motor.
Pada tulisan ini telah menerapkan logika fuzzy
untuk melacak kondisi lintasan masukan, dimana
masukan dibagi menjadi beberapa kelompok yaitu
“belok kanan tajam”, “belok kanan sedang”,
“belok kanan sedikit”, “lurus”, “belok kiri tajam”,
“belok kiri sedang”, “ belok kiri sedikit”, “cari
garis”. Kemudian Pulse Width Modulation (PWM)
mengatur keluaran robot LF yaitu kendali gerak
kedua motor pada robot LF tersebut. Luaran
selanjutnya berupa kelompok logik 4 bit masukan
dari 4 sensor masukan yang masing-masing
mewakili arah gerak robot yang mengikuti lintasan
garis. Luaran yang lain yaitu nilai PWM yang telah
menentukan lama on/off drive-motor untuk Gambar 2. Empat pasang sensor masukan
mengendalikan gerak robot LF mengikuti lintasan
garis. Pada gambar 2 rangkaian sensor dan
Dalam tulisan ini, mikrokontroller yang telah komparator terdiri atas empat sensor dan empat
digunakan adalah AT89S52 sebagai mesin robot komparator. Sensor memiliki komponen IR_LED
LF dan compiler C [10]. Sedangkan sensor garis (infra red) dan photo dioda, dimana fungsi
masukan yang digunakan adalah Infra_Red Led IR_LED memancarkan sinar yang memiliki sinyal
dan photo dioda, untuk pengatur penggerak robot dan photo dioda berfungsi menerima sinar. Prinsip
LF menggunakan L293D yang dihubungkan ke kedua komponen ini diterapkan pada robot
motor. pengikut garis (line follower), robot akan
mengikuti garis yang diberi warna hitam. Warna
2. Sistem robot LF hitam ini akan menyerap cahaya, bila garis
berbelok maka salah satu sensor tidak mengenai
Rancangan diagram blok robot LF telah garis mengakibatkan sensor tersebut menerima
digambarkan pada gambar 1, robot LF terdiri atas cahaya pada photo dioda dan diteruskan ke
tiga bagian yaitu masukan (input), proses dan masukan sistem robot line follower. Sistem robot
keluaran (output). line follower ditanamkan pada mikrokontroller
(embedded system) yang akan mengatur putaran
gerak motor kiri dan kanan.
Rangkaian sensor, jika dihalangi maka photo kepintaran robot dalam algoritma Fuzzy dan PWM
dioda tidak mendapatkan cahaya sehingga titik yang diilustrasikan dalam program (source code).
katoda photo dioda berlogika tinggi (1) pada Pada gambar 3 sistem minimumnya adalah
gambar 2. Logika 1 ini diteruskan pada masukan hilangkan IC driver L293D dan motor DC,
komparator inverting dan dibandingkan dengan rangkaian reset boleh ada atau tidak. Setelah
tegangan referensi Vref yang tak membalik. mendapatkan sebuah rangkaian sistem minimum
Masukan komparator terhubung langsung yang lengkap, sistem minimum AT89S52 ini akan
dengan katoda photo dioda, perubahan logika dioperasikan sebagai input sekaligus sebagai
tinggi dan rendah pada katoda photo dioda output pada keseluruhan rangkaian mikrokontroler
dibandingkan oleh komparator dengan tegangan AT89S52. Pin 31 ( /Vpp) dihubungkan ke Vcc
referensi trimpot Vref. Adapun persamaan untuk menggunakan memori internal sebaliknya
perbandingan sebagai berikut. Kita ambil contoh jika dihubungkan ke ground (GND) maka
sensor 1 dan komparator 1 seperti gambar 2. mikrokontroller menggunakan memori eksternal
 Kondisi Vin1 logika 1 (tinggi), maka dari alamat 0000h sampai dengan FFFFh.
Vin1 > Vref., maka Vo1 berlogika 1 (tinggi) Driver yang dipakai pada robot LF ini pada
 Kondisi Vin1 logika 0 (rendah), maka gambar 3 yang bergabung dengan sistem minimum
Vin1 < Vref, maka Vo1 berlogika 0 (rendah) menggunakan tipe IC L293D, yang memiliki 16
 Kondisi Vin1 = Vref, maka Vo1 berlogika 0 pin, sebenarnya driver-motor ada dua tipe IC yaitu
(rendah) L293D dengan 16 pin dan L293DD dengan 20 pin.
Bagian proses adalah untuk memproses Untuk menyederhanakan pemakaian sebagaimana
algoritma gerak robot LF dengan menerapkan dua bridge yang masing-masing pasangan chanel
logika Fuzzy dan PWM. Logika fuzzy dan PWM dilengkapi sebuah input enable. Sebuah input
ditanamkan di mikrokontroler yang berupa suplly terpisah yang disediakan untuk logik, yang
perintah program. Bagian proses ini adalah memperbolehkan operasi pada tegangan rendah
perangkat keras yang berupa sistem minimum dan termasuk dioda clamp internal. Perangkat ini
mikrokontroler dimana mikrokontroler yang cocok untuk pemakaian aplikasi pensaklaran pada
digunakan adalah AT89S52, maka sistem frekuensi 5 k Hz.
minimumnya adalah AT89S52 seperti gambar 3. Tabel 1 adalah tabel kebenaran L293D yang
merupakan panduan untuk menggerakkan motor.
Tabel 1. Tabel kebenaran drive-motor L293D
Enable 1=pin 1, enable 2= pin9
aksi motor
in1 in2 in3 in4
kanan kiri
1 0 0 1 cw cw
0 0 0 1 off cw
1 0 0 0 cw off
0 0 0 0 off off
0 1 1 0 ucw ucw
1 0 1 0 cw ucw
0 1 0 1 ucw cw
keterangan: cw:clockwise, ucw:unclockwise, off:motor
tidak bergerak

3. Algoritma logika fuzzy untuk robot LF

Gambar 3. Sistem minimum AT89S52, driver-motor Lofti Zadeh mengembangkan logika fuzzy pada
tahun 1964, dasar pemikirannya adalah tidak ada
IC AT89S52 pada gambar 3 mempunyai empat keadaan yang hanya selalu bernilai “benar” dan
buah port yang dapat digunakan sebagai masukan “salah” atau “on” dan “off”, tetapi ada gradasi nilai
dan keluaran. Sebelum menggunakan IC diantara dua nilai ekstrim tersebut. Dengan
Mikrokontroler AT89S52 ini langkah yang harus memperhatikan kenyataan ini, kita memerlukan
dipersiapkan adalah membuat rangkaian sistem penggeseran skala variabel yang dapat diukur
minimum AT89S52 yang terdiri atas sebagai bagian dari “on” dan sebagian dari “off”
mikrokontroller dan osilator, osilator dirangkai atau sebagian besar “benar” dan sebagian “salah”.
dengan menggunakan kristal (XTAL) 12 MHz dan Teori himpunan klasik berdasarkan pada logika
dua kapasitor yang masing-masing 30pF. Sistem ekstrem yang menetapkan objek sebagai anggota
minimum ini berguna untuk menanamkan atau bukan anggota himpunan. Sebaliknya, pada

3. Ahyar Supani dan Azwardi


Penerapan Logika Fuzzy dan PWM untuk Sistem Kendali Kecepatan Robot Line Follower . 4

logika fuzzy, suatu objek dapat menjadi anggota ada besaran yang tidak tentu. Jika ketidaktentuan
pada banyak himpunan dengan derajat muncul karena ketidakpresisian, kerancuan, atau
keanggotaan berbeda-beda pada masing-masing ketidaksengajaan, maka kemungkinan besarannya
himpunan. Derajat keanggotaan pada suatu adalah fuzzy dan dapat dinyatakan oleh fungsi
himpunan didasarkan pada skala 0 sampai dengan keanggotaan.
1 dan menetapkan 1 sebagai keanggotaan lengkap Setelah masukan dan keluaran
dan 0 sebagai tidak ada keanggotaan. didekomposisikan ke dalam himpunan fuzzy, kita
Pelopor aplikasi logika fuzzy dalam bidang memerlukan basis aturan yang mengatur tingkah
kontrol, yang merupakan aplikasi pertama dan laku sistem tiap kombinasi masukan. Masing-
utama dari logika fuzzy adalah Prof. Ebrahim masing aturan terdiri atas satu kondisi dan satu
Mamdani dkk dari Queen Mary College London. tindakan. Kondisi diintepretasikan dari masukkan
Penerapan kontrol logika fuzzy secara nyata di himpunan fuzzy dan tindakan ditentukan oleh
industri banyak dipelopor para ahli dari jepang, keluaran himpunan fuzzy. Suatu himpunan aturan
misalnya Prof. Sugeno dari Tokyo Institute of yang mempresentasikan semua kombinasi
Technology. Aplikasi logika fuzzy hampir tak masukkan bisa di-set up dalam suatu matriks yang
terbatas, misalnya untuk kontrol proses, proses disebut Fuzzy Associative Memory (FAM) atau
produksi, robotika, manajemen skala besar, teknik system fuzzy berbasis aturan.
sipil, kimia, transportasi, kedokteran maupun Aturan suatu sistem logika fuzzy sesungguhnya
ekonomi. Pengaturan (control) sistem non linier disusun sebagai suatu aturan yang mewakili
yang mengandung sejumlah informasi padat pengetahuan sistem tersebut. Agar dapat
memerlukan pengintegrasian sistem secara cepat menyatakan pengetahuan, pengaturan berbasis
dan dapat diterapkan dengan menggunakan logika fuzzy logic menggunakan variabel linguistik dalam
fuzzy. Suatu keluaran dihitung berdasarkan nilai menuliskan aturan yang diperlukan. Pada
keanggotaan yang diberikan oleh masukkan kecerdasan buatan, ada berbagai cara untuk
sesudah dikonfigurasikan dalam kumpulan aturan mempresentasikan pengetahuan. Bentuk dari
fuzzy. Sebelum menjadi keluaran sistem, sistem Switch-case merupakan pernyataan yang
memerlukan tiga transformasi untuk masukan dirancangan khusus untuk menangani pengambilan
sistem gambar 4. keputusan yang melibatkan sejumlah atau banyak
alternatif penyelesaian. Pernyataan switch-case ini
masukan fuzzifikasi kumpulan aturan defuzzifikasi keluaran
memiliki kegunaan sama seperti if – else
dasar fuzzy
bertingkat, meskipun Switch didesain untuk
Gambar 4. Sistem himpunan fuzzy mengganti If-Else, akan tetapi Switch memiliki
batasan:
Fuzzifikasi adalah proses dekomposisi suatu 1. Data yang diperiksa haruslah bertipe Integer (int)
masukan dan atau keluaran sistem kedalam satu atau Karakter (char).
atau lebih himpunan fuzzy. Fungsi keanggotaan 2. Range data yang diperiksa bernilai 0 s/d 255.
yang dapat digunakan berbentuk macam-macam
jenis kurva, tetapi bentuk segitiga pada gambar 5 Bentuk penulisan perintah ini sebagai berikut :
berikut adalah bentuk paling umum yang
digunakan untuk sistem pengaturan. Switch (value)
{
case constanta 1// akan dicocokkan
dengan isi value: statement 1;
//pernyataan yang akan di kerjakan
jika value cocok dengan salah satu
data dari constanta break; //perintah
(a) (b) (c) untuk mengakhiri statement....etc
Gambar 5. Himpunan fuzzy default : statement x;// bersifat
optional. dieksekusi jika value tidak
Gambar 5 diatas menunjukkan suatu sistem cocok dengan salah satu constantayang
himpunan fuzzy untuk system navigasi mobile tersedia
}
robot, dengan satu masukan (a) dan dua keluaran
Secara umum, ada tiga bentuk umum untuk
(b) dan (c).
Fuzzifikasi adalah proses pembuatan besaran fuzzy setiap variabel linguistik, yaitu:
dari besaran crisp yang dapat dilakukan secara a. Pernyataan penunjukan (assignment statement)
sederhana, yakni dengan menandai banyaknya x = kiri warna = biru
besaran yang dianggap crisp dan tertentu. x adalah tidak besar dan tidak kecil
Sebenarnya, tidak semua besaran tertentu, tetapi b. Pernyataan kondisional (conditional statement)
Keluaran Suhu = panas keluaran PWM ini memiliki 256 variasi, variasinya
Putaran motor = cepat mulai dari 0 – 255 yang mewakili duty cycle 0 –
c. Perrnyataan bukan kondisional (Unconditional 100% dari keluaran PWM tersebut seperti gambar
statement) 7.
JIKA sensor kiri MAKA belok kiri DAN putaran
motor sedang, IF x is largeTHEN y is small ELSE y
is not small

Pada pengaturan suatu sistem, keluaran


pengendali haruslah suatu nilai diskrit. Kita
memerlukan defuzzifikasi untuk mengubah hasil
fuzzy kedalam nilai keluaran yang tepat. Nilai
keluaran dihitung dengan menjumlahkan hasil
perkalian keanggotaan himpunan masukkan
untuk tiap masukkan dengan nilai keluaran. Hasil
perkalian dibagi dengan jumlah dari perkalian
keanggotaan himpunan masukkan untuk tiap
masukkan.
Defuzzifikasi adalah perubahan dari suatu
besaran fuzzy ke suatu besaran numerik, sedangkan
fuzzifikasi adalah perubahan dari suatu besaran
Gambar 7. Duty cycle dan nilai PWM
numerik ke suatu besaran fuzzy. Keluaran
proses fuzzy dapat berupa satuan logika dari dua
atau lebih fungsi keanggotaan fuzzy dan Dengan cara mengatur lebar pulsa “on” dan
didefinisikan dalam himpunan semesta keluaran. “off” dalam satu perioda gelombang melalui
pemberian besar sinyal referensi output dari suatu
4. Algoritma pulse width modulation (PWM) PWM akan didapat duty cycle yang diinginkan.
Duty cycle dari PWM dapat dinyatakan persamaan
Pulse Width Modulation (PWM) secara umum 1 sebagai berikut.
adalah sebuah cara memanipulasi lebar sinyal yang
dinyatakan dengan pulsa dalam suatu perioda = 100% (1)
seperti gambar 6, untuk mendapatkan tegangan
rata-rata yang berbeda. Beberapa contoh aplikasi Duty cycle 100% berarti sinyal tegangan
PWM adalah pemodulasian data untuk pengatur motor dilewatkan seluruhnya. Jika
telekomunikasi, pengontrolan daya atau tegangan tegangan catu 12V, maka motor akan mendapat
yang masuk ke beban, regulator tegangan, audio tegangan 12V, pada duty cycle 50%, tegangan pada
effect dan penguatan, serta aplikasi-aplikasi motor hanya akan diberikan 50% dari total
lainnya. Aplikasi PWM berbasis mikrokontroler tegangan yang ada, begitu seterusnya.
biasanya berupa pengendalian kecepatan motor Perhitungan pengontrolan tegangan output
DC, Pengendalian Motor Servo, Pengaturan nyala motor dengan metode PWM cukup sederhana.
terang LED. Dengan menghitung duty cycle yang diberikan,
akan didapat tegangan output yang dihasilkan.
Sesuai dengan persaman 2 yang telah
dijelaskan pada gambar 8.

Gambar 8. Sinyal PWM pengontrolan motor


Gambar 6. Sinyal PWM, Vout PWM
Averagevoltage= (2)
Pada metode digital setiap perubahan PWM Keterangan: averagevoltage = rata-rata
dipengaruhi oleh resolusi dari PWM itu sendiri. tegangan pada motor, a = lamanya sinyal “on”, b =
Misalkan PWM digital 8 bit berarti PWM tersebut
memiliki resolusi 28 = 256, maksudnya nilai
5. Ahyar Supani dan Azwardi
Penerapan Logika Fuzzy dan PWM untuk Sistem Kendali Kecepatan Robot Line Follower . 6

lamanya sinyal “off”, Vfull= tegangan sumber


motor.
Average voltage merupakan tegangan output
pada motor yang dikontrol oleh sinyal PWM, a
adalah nilai duty cycle saat kondisi sinyal “on”. b
adalah nilai duty cycle saat kondisi sinyal “off”.
Vfull adalah tegangan maksimum pada motor.
Dengan menggunakan rumus diatas, maka akan
didapatkan tegangan output sesuai dengan sinyal
kontrol PWM yang dibangkitkan.

5. Metodologi implementasi robot LF


Tahapan-tahapan pembuatan robot LF dengan
menerapkan algoritma fuzzy dan PWM yaitu Gambar 11. Nilai Pwm_kanan
pembuatan perangkat keras yang mengikuti
gambar 2 dan gambar 3. Selanjutnya tahapan
perangkat lunak dimana logika fuzzy dan PWM
yang dimasukkan dalam program robot LF.
Penentuan aturan dan anggota masukan robot
LF dengan fuzzy dilakukan dengan simulasi
program Matlab. Hasil yang didapat seperti
gambar 9 aturan berdasarkan fuzzy dan gambar 10
masukan anggota fuzzy.

Gambar 12. Nilai Pwm_kiri

Gambar 9. Aturan berdasakan fuzzy

Gambar 13. Hasil nilai PWM

Source code yang telah dituliskan sintaknya adalah


sebagai berikut.
 Pembacaan masukan dengan aturan fuzzy
switch(sensor)
{
case 0b11111000: kanan_tajam();break;
//belok kanan tajam
case 0b11111100: kanan_tajam();break;
Gambar 10. Masukan anggota fuzzy case 0b11111110: kanan_sedang();
break; //belok kanan
Keluaran Pwm_kanan, Pwm_kiri dan nilai setengah tajam
PWM berturut-turut gambar 11, gambar 12 dan case 0b11111101: kanan_sedikit();
gambar 13. break; // belok
kanan lebih sedikit
case 0b11111001: maju();break;
case 0b11110111:
kiri_tajam();break; {
case 0b11110001:
kiri_tajam();break; kiri1=0;
case 0b11110011:
kiri_sedang();break; kiri2=1;
case 0b11111011:
kiri_sedikit(); kanan1=0;
break; kanan2=1;
case 0b11110000: kiri_tajam();break; RPWM(0,255); //nilai PWM motor kanan
//jika tidak ada LPWM(145,110); //nilai PWM motor kiri
garis, maka belok 180 }
derajat void kiri_lambat()
case 0b11111111: P2=0x00;break; {
} kiri1=0;
 Kendali motor kanan dan kiri kiri2=1;
void RPWM(unsigned char kanan1=0;
cent_per,unsigned char reg_duty) kanan2=1;
//kendali motor kanan RPWM(0,255); //nilai PWM motor kanan
{ LPWM(72,183); //nilai PWM motor kiri
count++; }
if(count<reg_duty)
{ void kanan_tajam()
en2=1; {
} kiri1=1;
else kiri2=0;
en2=0; kanan1=1;
if(count==cent_per) kanan2=0;
count=0; RPWM(218,37); //nilai PWM motor kanan
} LPWM(0,255); //nilai PWM motor kiri
}
void LPWM(unsigned char
cent_per,unsigned char reg_duty) void kanan_sedang()
//kendali motor kiri {
{ kiri1=1;
count++; kiri2=0;
if(count<reg_duty) kanan1=1;
{ kanan2=0;
en1=1; RPWM(145,110);//nilai PWM motor kanan
} LPWM(0,255); //nilai PWM motor kiri
else }
en1=0;
if(count==cent_per) void kanan_lambat()
count=0; {
} kiri1=1;
kiri2=0;
 Keluaran dengan nilai PWM kanan1=1;
void maju() kanan2=0;
{ RPWM(72,183); //nilai PWM motor kanan
kiri1=1; LPWM(0,255); //nilai PWM motor kiri
kiri2=0; }
kanan1=0;
kanan2=1;
RPWM(0,255); //nilai PWM motor kanan 6. Hasil dan pembahasan
LPWM(0,255); //nilai PWM motor kiri Pengamatan gerak robot LF yang diuji dengan
delay(50); posisi sensor S0, S1, S2 dan S3 gambar 14 dan
} lintasan garis gambar 15 dengan lebar garis hitam
sebesar 2 cm.
void kiri_tajam()
{ kanan kiri
kiri1=0;
kiri2=1;
kanan1=0;
kanan2=1; Gambar 14. Posisi sensor
RPWM(0,255); //nilai PWM motor kanan
LPWM(218,37); //nilai PWM motor kiri Tabel 2 menunjukkan hasil gerak robot yang
} telah diuji baik di lintasan garis maupun simulasi
void kiri_sedang() pada program proteus.

7. Ahyar Supani dan Azwardi


Penerapan Logika Fuzzy dan PWM untuk Sistem Kendali Kecepatan Robot Line Follower . 8

Perubahan gerak pada tabel 2, belokan kanan


tajam dibaca sensor S0=0, S1=0, S2=0, S3=1
artinya robot LF belok kanan antara sudut 0o – 30o
yang menyebabkan motor kiri robot LF bergerak
cepat (maksimum) dan motor kanan robot LF
bergerak lambat dengan nilai LPWM(0,255) dan
RPWM(218,37) seperti tabel 3. Belokan kanan
sedang dengan S0=0, S0=1, S1=1, S1=1 antara
sudut 30o – 60o menyebabkan motor kiri robot LF
bergerak cepat dan motor kanan robot LF bergerak
sedang dengan nilai LPWM(0,255) dan
RPWM(145,110). Belokan kanan sedikit dengan
S0=1, S1=0, S2=1, S3=1 antara sudut 60o – 90o
menyebabkan motor kiri robot LF bergerak cepat
dan motor kanan robot LF bergerak agak cepat,
sebaliknya sama dengan belok kiri, gerak motor
kiri yang berubah-ubah dan motor kanan kontan
cepat serta nilai LPWM yang berubah dan RPWM
tetap konstan.
Nilai RPWM dan LPWM tabel 3 adalah untuk
mengatur suplai tegangan motor dimana
pengaturan kendali motor berdasarkan lamanya
Gambar 15. Lintasan garis uji coba robot LF logik “1” yang terhubung pada enable driver motor
L293D, jika enable berlogik “1” maka suplai
Tabel 2. Hasil pengamatan gerak motor tegangan tersalurkan pada motor (on), jika logik
Gerak motor Kondisi masukan “0” maka suplai tegangan motor tidak tersalurkan
Belokan
kiri kanan S3 S2 S1 S0 (off). LPWM(0,255) artinya logik “1” terus
Kanan tajam cepat lambat 1 0 0 0
menerus (100%) terhubungkan ke enable motor
Kanan cepat sedang 1 1 1 0
sedang
kiri dengan prioda takhingga sehingga motor kiri
Kanan cepat Agak 1 1 0 1 bergerak cepat maksimum karena suplai tegangan
sedikit cepat ke motor tidak terputus, sedangkan
lurus cepat cepat 1 0 0 1 RPWM(218,37) maka logik “1” berbanding nilai
Kiri sedikit Agak cepat 1 0 1 1 (37/255) x 100 % = 14,5%, sisanya berlogik “0”
cepat 85,5%, jadi motor kanan selama 14,5 % logik “1”
Kiri sedang sedang cepat 0 0 1 1 mendapat suplai tegangan sisanya selama 85 %
Kiri tajam lambat cepat 0 1 1 1 berlogik “0” motor kanan tidak mendapat suplai
tegangan dalam satu prioda sehingga rata-rata
Adapun nilai pwm yang didapat dari hasil tegangan suplai motor sebesar 14,4 % dari
simulasi fuzzy di matlab pada tabel 3. tegangan penuh sehingga motor bergerak lambat
menyebabkan arah robot LF belok kanan tajam.
Tabel 3. Nilai PWM simulasi fuzzy di matlab Nilai LPWM(0,255) dan RPWM(145,110)
Nilai PWM menghasilkan motor kiri bergerak cepat
Belokan
LPWM RPWM maksimum tetapi motor kanan bergerak sedang,
Kanan tajam (0, 255) (218, 37) lamanya logik “1” motor kanan sebesar (110/255)
Kanan sedang (0, 255) (145, 110) x 100 % = 43,1 % jadi rata-rata tegangan suplai
Kanan sedikit (0, 255) (72, 183) motor kanan 43,1 % dari tegangan penuh sehingga
lurus (0, 255) (0, 255) motor bergerak sedang menyebabkan arah robot
Kiri sedikit (72, 183) (0, 255) LF belok kanan sedang. Nilai LPWM(0,255) dan
Kiri sedang (145, 110) (0, 255) RPWM(72,183) menghasilkan motor kiri gerak
Kiri tajam (218, 37) (0, 255) cepat maksimum dan motor kanan bergerak agak
cepat karena rata-rata tegangan suplai motor
Robot LF yang telah diuji seperti tertera pada sebesar (183/255) x 100 % = 71,8%. Sebaliknya
tabel 2 hasil yang diamati langsung baik melalui sama jika robot LF belok kiri.
lintasan garis maupun simulasi proteus di
komputer menunjukkan perubahan gerak baik 7. Kesimpulan
motor kiri maupun motor kanan. Beberapa kesimpulan yang diperoleh dalam
penelitian ini yaitu keanggotaan masukan yang
telah dibaca oleh robot LF berdasarkan fuzzy ada 7 Swarm Fuzzy Controller, Jurnal Ilmu Komputer
terdiri atas belok kanan tajam, belok kanan sedang, dan Informasi, vol. 3, No. 1, 2010, pp. 1-9.
belok kanan sedikit, lurus, belok kiri tajam, belok [10] Widiyanto, D., Supriyo, P.T, Kusuma, W. A.,
kiri sedang, belok kiri sedikit. Kendali gerak motor Formalisasi Navigasi Mobile robot. Prosiding
Seminar Nasional Teknologi dan Rekayasa Industri.
robot LF telah diatur oleh nilai PWM(0,255) cepat,
Fakultas Teknologi Industri, Institut Teknologi
PWM(72,183) agak cepat, PWM(145,110) sedang, Indonesia, 2008.
PWM(218,37) lambat.

Ucapan terimakasih

Ucapan terima kasih penulis sampaikan kepada


Pusat Penelitian Pengabdian Kepada Masyarakat
dan Laboratorium Jurusan Teknik Komputer
Politeknik Negeri Sriwijaya dukungan dana dan
laboratoirum penelitian melalui Daftar Isian
Pelaksanaan Anggaran (DIPA) 2014.

Daftar Pustaka

[1] Pitowarno E. , Robotika : Desain, Kontrol, dan


Kecerdasan Buatan, Andi Offset, Yogyakarta,
2006.
[2] Irvan Lewenusa, Wisnu Ananta Kusuma,
Autonomous Mobile Robot Menggunakan
Metode Formal Logika Temporal Linier.
Seminar Nasional Informatika 2008 (semnasIF
2008) ISSN: 1979-2328, UPN ”Veteran”
Yogyakarta, 2008, hal.:145-152.
[3] Widodo Romy Budhi, Embedded System
menggunakan Mikrokontroler dan Pemrograman C,
Andi Offset, Yogyakarta, 2009.
[4] Shukla, S., Tiwari Mukesh, Fuzzy Logic of Speed
and Steering Control system for Three Dimensional
Line Following of An Autonomus Vihicle,
International Journal of Computer Science and
Information Security (IJCSIS), Vol. 7, No. 3, 2010,
hal:101-108.
[5] Supani, A., 2011, Pelacakan Jarak Untuk Navigasi
Gerak Robot, Prosiding KNTIA 2011, ISSN:2088-
9658, Fasilkom Universitas Sriwijaya, 21-22
Oktober 2011, hal. A50-A53.
[6] Bachir O., Zoubir, A., Adaptive Neuro-fuzzy
Inference System Based Control of Puma 600 Robot
Manipulator, International Journal of Electrical and
Computer Engineering (IJECE), Vol.2, No.1, ISSN:
2088-8708, 2012, pp. 90~97.
[7] Resmana, et. al., 1999, Implementasi Fuzzy Logic
Pada Microcontoller Untuk Kendali Putaran Motor
DC, Proceedings, Industrial Electronic Seminar
1999 (IES’99), Graha Institut Teknologi Sepuluh
Nopember, Surabaya, 1999.
[8] Era Purwanto, M. Ashary, Subagio, Mauridhi Herry
P., Pengembangan Inverter Fuzzy Logic Control
untuk Pengendalian Motor Induksi Sebagai
Penggerak Mobil Listrik dengan Metoda Vector
Kontrol, Jurnal Makara Teknologi, Vol. 12, No. 1,
April 2008, pp. 1-6.
[9] Adriansyah A., Perancangan Pengendali Robot
Bergerak Berbasis Perilaku Menggunakan Particle

9. Ahyar Supani dan Azwardi

You might also like