Nama : Septian Yogi
Kelas : SK-2D
Program Studi : Sistem Komputer
Mata Kuliah : Internet & Website
Mahasiswa Semester 2 STMIK Royal Kisaran
Robot Wall
Follower Dengan Metode Proportional Integral Derivative (PID)
Berbasis Mikrokontroler
- Robot
Kata robot berasal dari bahasa Czech,
robota, yang berarti 'pekerja'. Kata robot diperkenalkan dalam
bahasa inggris pada tahun 1921 oleh Wright Karel Capek pada sebuah
drama, "Rossum's Universal Robots" (R.U.R). Robot adalah
mesin hasil rakitan karya manusia, tetapi bekerja tanpa mengenal
lelah. Pada awalnya, robot diciptakan sebagai pembantu kerja manusia,
akan tetapi dalam waktu ke depan, robot akan mampu mengambil alih
posisi manusia sepenuhnya dan bahkan mengganti ras manusia dengan
berbagai jenisnya[1]. Definisi lain, robot adalah sebuah mesin yang
berbentuk seperti manusia yang bisa bergerak dan berbicara. Pendapat
ini didasari oleh kemunculan film-film robot, seperti Robocop,
Transformer, Astro Boy, Wall-E, dan sebagainya. Sebenarnya
definisi robot itu tergantung dari kategori robot
Robot wall follower adalah
robot otomatis yang gerakannya mengikuti dinding-dinding pembatas
pada lintasan[5]. Salah satu keuntungannya adalah tidak perlu adanya
garis penuntun ataupun suatu tanda khusus sebagai arahan bagi robot.
Cara kerjanya adalah dengan membaca dan mendeteksi suatu penghalang
atau dinding terhadap robot dengan penggunaan sensor jarak. Bila
terjadi perubahan, maka robot akan bergerak untuk kemudian
menyesuaikan jarak lagi. Proses ini akan dilakukan secara
berulang-ulang.
- Sensor
Sensor berguna untuk mengetahui kondisi
- kondisi di bagian dalam (internal) atau bagian luar (eksternal)
robot. Atau, dapat dikatakan juga bahwa sensor adalah suatu piranti
elektronik yang dapat digunakan sebagai media komunikasi antara robot
dan lingkungan di sekitarnya[2].
Gambar .Sensor
Sensor robot dapat dibedakan menjadi
dua kategori, yaitu[2]:
1. Sensor internal
Digunakan untuk mengontrol posisi,
kecermatan, dan lain-lain. Contohnya adalah potensiometer dan enkoder
optik (optical encoder).
2. Sensor ekstenal
Digunakan untuk mengontrol dan
mengoordinasi robot dengan lingkungan. Contohnya adalah sensor
sentuhan (tactile switch), inframerah, ultrasobik, detektor
api, jarak, kompas digital, sensor suhu, dan sebagainya.
Sensor Sharp GP2D12 adalah sensor jarak
analog yang menggunakan infrared untuk mendeteksi jarak antara
10 cm sampai 80 cm. GP2D12 mengeluarkan output voltase
non-linear dalam hubungannya dengan jarak objek dari sensor dan
menggunakan interface analog to digital converter (ADC). Pada
dasarnya sensor jarak sama seperti sensor Infra Red (IR)
konvensional. Sharp GP2D12 memiliki bagian transmitter /
emitter dan receiver (detektor)
- Mikrokontroler
Mikrokontroler adalah sebuah sistem
komputer fungsional dalam sebuah chip. Di dalamnya terkandung sebuah
inti prosesor, memori (sejumlah kecil RAM, memori program, atau
keduanya), dan perlengkapan input output. Dengan kata lain,
mikrokontroler adalah suatu alat elektronika digital yang mempunyai
masukan dan keluaran serta kendali dengan program yang bisa ditulis
dan dihapus dengan cara khusus, cara kerja mikrokontroler sebenarnya
membaca dan menulis data. Mikrokontroler merupakan komputer didalam
chip yang digunakan untuk mengontrol peralatan elektronik, yang
menekankan efisiensi dan efektifitas biaya. Secara harfiahnya bisa
disebut “pengendali kecil” dimana sebuah sistem elektronik yang
sebelumnya banyak memerlukan komponen-komponen pendukung seperti IC
TTL dan CMOS dapat direduksi/diperkecil dan akhirnya terpusat serta
dikendalikan oleh mikrokontroler ini[9].
Arduino Uno adalah[12] papan
mikrokontroler yang berbasiskan ATmega328. Arduino jenis ini memiliki
14 pin input/output digital (dengan 6 di antaranya bisa digunakan
sebagai output PWM), 6 analog input, ceramic resonator 16 MHz,
koneksi USB, sambungan untuk power supply, header ICSP,
dan tombol reset. Untuk menghidupkannya, mikrokontroler ini bisa
disambungkan ke komputer menggunakan koneksi USB,
menggunakan adaptor AC-DC, atau
baterai. Tampilan Arduino Uno dan keterangan dari tiap bagiannya bisa
dilihat pada gambar
Gambar .mikrokontroler
yang berbasiskan ATmega328
- Motor DC
Motor DC merupakan perangkat
elektromagnetis yang mengubah energi listrik menjadi energi mekanik.
Energi mekanik ini digunakan untuk, misalnya memutar impeller pompa,
fan atau blower, menggerakan kompresor, mengangkat bahan,dll. Motor
DC digunakan juga di rumah (mixer, bor listrik, fanangin) dan di
industri. Kumparan medan pada motor dc disebut stator (bagian yang
tidak berputar) dan kumparan jangkar disebut rotor (bagian yang
berputar). Jika terjadi putaran pada kumparan jangkar dalam pada
medan magnet, maka akan timbul tegangan (GGL) yang berubah-ubah arah
pada setiap setengah putaran, sehingga merupakan tegangan
bolak-balik.
Prinsip kerja dari arus searah adalah
membalik phasa tegangan dari gelombang yang mempunyai nilai positif
dengan menggunakan komutator, dengan demikian arus yang berbalik arah
dengan kumparan jangkar yang berputar dalam medan magnet. Bentuk
motor paling sederhana memiliki kumparan satu lilitan yang bisa
berputar bebas di antara kutub-kutub magnet permanen[14]. Power
Supply yang digunakan berkisar 3-24 volt dengan arus sebesar 1
ampere.
Motor DC memiliki 2 bagian dasar,
yaitu[3]:
1. Bagian yang tetap/stationer yang
disebut stator. Stator ini menghasilkan medan magnet. Baik
yang dibangkitkan dari sebuah koil (elektro magnet) ataupun magnet
permanent.
2. Bagian yang berputar disebut rotor.
Rotor ini merupakan sebuah koil dimana arus listrik mengalir
Gambar Motor DC
- Driver L298
L298 adalah IC yang dapat digunakan
sebagai driver motor DC. IC ini menggunakan prinsip kerja
H-Bridge[16]. Tiap H-Bridge dikontrol menggunakan level tegangan TTL
yang berasal dari output mikrokontroler. L298 dapat mengontrol
2 buah motor DC. Tegangan yang dapat digunakan untuk mengendalikan
robot bisa mencapai tegangan 46 VDC dan arus 2 A untuk setiap
kanalnya. Berikut ini bentuk IC L298 yang digunakan sebagai motor
driver.
- PWM (Pulse Widht Modulation)
Pulse Width Modulation (PWM)[17]
secara umum adalah sebuah cara memanipulasi lebar sinyal yang
dinyatakan dengan pulsa dalam suatu perioda, untuk mendapatkan
tegangan rata-rata yang berbeda. Beberapa Contoh aplikasi PWM adalah
pemodulasian data untuk telekomunikasi, pengontrolan daya atau
tegangan yang masuk ke beban, regulator tegangan, audio effect dan
penguatan, serta aplikasi-aplikasi lainnya. Aplikasi PWM berbasis
mikrokontroler biasanya berupa, pengendalian kecepatan motor DC,
pengendalian motor servo, pengaturan nyala terang LED.
- PID (Proportional Integral Derivative)
PID (Proportional Integral
Derivative) Controller merupakan kontroler untuk menentukan
kepresisian suatu sistem instrumentasi dengan karakteristik adanya
umpan balik / feed back pada sistem tersebut. Komponen PID terdiri
dari 3 jenis, yaitu Proportional, Integratif, dan Derivatif. Dalam
waktu kontiniu, sinyal keluaran kontrol PID dapat dirumuskan sebagai
berikut:
πΌ π = π²π.
π π
+ π²π π
π π
π
− π²π
π
π(π)
π
π π
π (2.1)
dengan:
π π‘ = sinyal keluaran
pengendali PID
πΎπ = konstanta
proportional
πΎπ = konstanta integral
πΎπ = konstanta
derivative (turunan)
π π‘ = sinyal error
- Produser Penelitian
Gambar
Flowchart Prosedur Penelitian
- Alat dan Bahan Penelitian
- Alat Penelitian
Alat yang dibutuhkan dalam tugas ini
berupa hardware dan software. Hardware dan
software yang digunakan dalam penelitian pembuatan sistem ini
adalah sebagai berikut :
Hardware
1. Laptop
2. Arduino Uno
3. Sensor Jarak Sharp GP2D12
4. Rangkaian driver motor
5. LCD 16X2
6. Driver L298N
7. Baterai Li-Po
8. Buzzer
Software
Software yang digunakan pada tugas
akhir ini yaitu Arduino Software
- Bahan Penelitian
Pada pembuatan tugas akhir ini jarak
antara 2 dinding pembatas jalur yang terbuat dari triplek dan robot
merupakan objek yang akan diteliti.
- Perancangan Mekanik
1) Diagram skema sistem driver motor
Gbr. 6 Diagram skema sistem
Gbr. 7 Layout Sistem
Gbr. 8 Rangkaian driver motor
terhubung pada
arduino uno, sensor, motor, dan
LCD 16x2
- Perancangan Software
Pada robot wall follower,
perancangan untuk kontrol robot menggunakan metoda PID. Berikut ini
beberapa penggalan program PID pada arduino software :
//variabel PID
int
kiri_dpn,kiri_blk,kanan_dpn,kanan_blk,dpn,count;
int PV;
int error;
int MV, P, I, D,D1,D2,D3,I1,I2,I3;
int llpwm,rrpwm,last_error;
const unsigned char set_p=0;
const int
var_Kp=9,var_Kd=3,var_Ki=1,Ts=1;
//rumus PID kontrol
error = set_p - PV;
P = var_Kp * error;
D1 = var_Kd * 10;
D2 = D1 / Ts;
D3 = error - last_error;
D = D2 * D3;
I1 = var_Ki / 10;
I2 = error + last_error;
I3 = I1 + I2;
I = I3 * Ts;
last_error = error;
MV = P + I + D;
- Pengujian dan Analisa Masukan (Input)
TABEL 1
HASIL PENGUJIAN ADC DAN PERBANDINGAN
TEGANGAN OUTPUT PADA SENSOR SHARP GP2D12 DENGAN CARA PENGUJIAN
PERHITUNGAN DAN MULTIMETER
Jarak
|
Tegangan Output Perhitungan | Tegangan Output Multimeter | Data ADC |
30 cm | 0,95 V | 1,00 V | 195 |
29 cm | 0,98 V | 1,05 V | 201 |
28 cm | 1,00 V | 1,10 V | 205 |
27 cm | 1,05 V | 1,15 V | 216 |
26 cm | 1,09 V | 1,18 V | 224 |
25 cm | 1,13 V | 1,20 V | 231 |
24 cm | 1,17 V | 1,23 V | 239 |
23 cm | 1,21 V | 1,25 V | 247 |
22 cm | 1,27 V | 1,30 V | 260 |
21 cm | 1,31 V | 1,35 V | 269 |
20 cm | 1,36 V | 1,40 V | 278 |
19 cm | 1,41 V | 1,45 V | 290 |
18 cm | 1,49 V | 1,50 V | 305 |
17 cm | 1,58 V | 1,60 V | 324 |
16 cm | 1,62 V | 1,70 V | 332 |
15 cm | 1,70 V | 1,75 V | 348 |
14 cm | 1,79 V | 1,85 V | 366 |
13 cm | 1,89 V | 1,90 V | 387 |
12 cm | 2,07 V | 2,10 V | 424 |
11 cm | 2,22 V | 2,40 V | 454 |
Setelah dilakukan pengujian terhadap
sensor sharp GP2D12 dengan mendapatkan nilai tegangan output dan data
ADC pada jarak 11 - 30 cm di dapatkan model grafik karakteristik
tegangan sensor sharp GP2D12 seperti Gbr. 9 di bawah ini :
Gbr. 9 Grafik karakteristik
tegangan output (Vo) sharp GP2D12
Pada Gbr. 9 menunjukkan grafik
karakteristik tegangan output sensor sharp GP2D12. Dimana saat
tegangan keluar dari sensor sebesar 2,4 volt, jarak yang dideteksi
sensor sharp GP2D12 sejauh 11 cm. Sebaliknya, jika tegangan output
sensor sebesar 1 volt, jarak yang dideteksi oleh sensor adalah 30 cm.
Hal ini menunjukan bahwa semakin besar tegangan keluar dari sensor,
maka semakin kecil jarak yang bisa dideteksi.
- Pengujian dan Analisa Perangkat Keluaran (Output)
Pada tahap ini dilakukan pengujian dan
analisa perangkat keluaran (output) pada driver motor L298 yang
digunakan untuk mengontrol 2 buah motor yang digunakan untuk
menggerakkan robot wall follower. Pada pengujian driver L298
dilakukan dengan memberi logika high atau low pada
salah satu inputnya. Hasil pengujian driver L298 pada robot wall
follower terlihat pada tabel berikut :
TABEL 2
PENGUJIAN DRIVER L298
Motor Kiri | Motor Kanan | Aksi Robot | ||||||
M1 | E1 | M2 | E2 | |||||
High | High | High | High | Maju | ||||
Low | High | Low | High | Mundur | ||||
Low | High | High | High | Belok kiri | ||||
High | High | Low | High | Belok Kanan | ||||
Low | Low | Low | Low | Berhenti |
M1 = Motor 1 E1 = Enable 1
M2 = Motor 2 E2 = Enable 2
Setelah dilakukan pengujian pada driver
L298 didapatkan aksi robot wall follower terhadap pergerakan
motor setelah diberi logika high ataupun low. Driver
L298 memiliki prinsip kerja H-Bridge dan tiap H-Bridge
menggunakan level tegangan yang diatur dengan pemberian logika
high atupun low. Oleh karena itu, dilihat pada tabel
pengujian motor kiri atau motor kanan yang diberi logika high atau
low pada M1, M2, E1, dan E2 terdapat perubahan gerak robot wall
follower seperti aksi maju, aksi mundur, aksi belok kiri, aksi
belok kanan dan aksi berhenti. Jadi, driver motor L298 sangat
berpengaruh terhadap pergerakan motor DC pada robot wall follower
dalam menelusuri dinding.
- Pengujian Tuning PID
Pengujian tuning PID dilakukan sebanyak
5 kali dengan nilai masing - masing parameter berbeda setiap Kp, Ki,
dan Kd. Pembuatan grafik pada pengujian tuning PID ini berasal dari
pengambilan nilai keluaran sensor kiri atas sebagai sampel data untuk
melihat kinerja PID robot wall follower. Dari data tersebut
akan menampilkan grafik berupa hasil pembacaan jarak (cm) terhadap
100 data yang muncul dari perubahan nilai pembacaan jarak.
1) Pengujian Tuning PID dengan nilai
Kp= 15, Ki= 5, dan Kd= 11.
Pengujian tuning PID ini dilakukan pada
satu sensor yang terletak pada bagian kiri depan dengan nilai Kp= 15,
Ki= 5, dan Kd= 11. Pengujian ini dilakukan menggunakan 100 sampel
perubahan data yang diambil
dari nilai keluaran pembacaan jarak
sensor pada setiap datanya.
Gbr. 10 Grafik perubahan jarak sensor
kiri depan
terhadap Kp= 15, Ki= 5, dan Kd= 11
Pada Gbr. 10 di atas menunjukan grafik
perubahan pembacaan jarak pada sensor kiri depan (A2) terhadap Kp=
15, Ki= 5, dan Kd= 11. Pada grafik terlihat bahwa penggunaan nilai
parameter Kp, Ki, dan Kd di atas menunjukan bentuk grafik yang kurang
stabil, masih banyak error, berosilasi dan untuk mencapai set point
yang stabil sangat lama.
2) Pengujian Tuning PID dengan nilai
Kp= 14, Ki= 2, dan Kd= 6.
Pengujian tuning PID ini dilakukan pada
satu sensor yang terletak pada bagian kiri depan dengan nilai Kp= 14,
Ki= 2, dan Kd= 6. Pengujian ini dilakukan menggunakan 100 sampel
perubahan data yang diambil dari nilai keluaran pembacaan jarak
sensor pada setiap datanya. Berikut ini bentuk tampilan dari hasil
keluaran nilai sensor kiri depan (A2) :
Pada Gbr. 11 di atas menunjukan grafik
perubahan pembacaan jarak pada sensor kiri depan (A2) terhadap Kp=
14, Ki= 2, dan Kd= 6. Pada grafik terlihat bahwa penggunaan nilai
parameter Kp, Ki, dan Kd di atas menunjukan bentuk grafik yang jauh
dari stabil, masih banyak error, masih banyak osilasi, dan jauh dari
set point.
3) Pengujian Tuning PID dengan nilai
Kp= 14, Ki= 2, dan Kd= 6
Pengujian tuning PID ini dilakukan pada
satu sensor yang terletak pada bagian kiri depan dengan nilai Kp= 6,
Ki= 1, dan Kd= 3. Pengujian ini dilakukan menggunakan 100 sampel
perubahan data yang diambil dari nilai keluaran pembacaan jarak
sensor pada setiap datanya. Berikut ini bentuk tampilan dari hasil
keluaran nilai sensor kiri depan (A2)
Pada Gbr. 12 di atas menunjukan grafik
perubahan pembacaan jarak pada sensor kiri depan (A2) terhadap Kp= 6,
Ki= 1, dan Kd= 3. Pada grafik terlihat bahwa penggunaan nilai
parameter Kp, Ki, dan Kd di atas menunjukan bentuk grafik yang
stabil, error jauh berkurang, osilasi tidak ada, dan stabil pada set
point.
- Pengujian kinerja tuning PID terhadap kondisi robot
Pada pengujian kinerja tuning ini
dilakukan dengan melihat kondisi pada robot. Berikut ini adalah tabel
hasil pengujian dan kondisi robot terhadap masing - masing tuning PID
:
TABEL 3
PENGUJIAN TUNING PID TERHADAP KONDISI
ROBOT
Kp | Ki | Kd | Kondisi Robot |
15 | 5 | 11 | Respon robot lambat dan navigasi robot tidak stabil |
14 | 2 | 6 | Respon robot meningkat dan navigasi robot tidak stabil |
4.5 | 0.5 | 7.5 | Respon robot terlihat cepat dan navigasi robot sedikit stabil |
6 | 1 | 3 | Respon robot cepat dan navigasi robot stabil |
20 | 10 | 15 | Respon robot lambat dan navigasi kurang stabil |
Dari hasil pengujian kondisi robot pada
tabel di atas dapat dilihat pada penggunaan tuning PID dengan nilai
Kp = 6, Ki = 1, dan Kd = 3 mendapatkan hasil yang baik dengan respon
dan navigasi yang stabil pada robot. Hal ini disebabkan karena
penggunaan nilai Ki yang tepat. jika nilai Ki lebih tinggi atau
berlebihan maka dapat mengakibatkan kondisi robot yang kurang baik.
- Kesimpulan
Dari hasil pengujian yang dilakukan
serta analisa terhadap robot wall follower dengan metode
Proportional Integral Derivative, dapat diambil suatu
kesimpulan sebagai berikut :
1. Sensor dapat mendeteksi jarak
ideal dengan menggunakan set point 15.
2. Secara keseluruhan, kinerja robot
wall follower ini sudah stabil dibandingkan penelitian
sebelumnya.
3. Dalam hal kontrol, untuk mendapatkan
kondisi robot wall follower yang baik digunakan nilai Kp = 6,
Ki = 1, dan Kd = 3.