Sistem Kontrol berbasis Web Melalui Paralel Port Linux Sekolah ...
SISTEM KONTROL MOTOR ROBOT LINE FOLLOWER BERBASIS ...
Transcript of SISTEM KONTROL MOTOR ROBOT LINE FOLLOWER BERBASIS ...
SISTEM KONTROL MOTOR ROBOT LINE FOLLOWER BERBASIS MIKROKONTROLLER ATMEGA32 MENGGUNAKAN ALGORITMA
PID(PROPORSIONAL INTEGRAL DERIVATIF)
Naskah Publikasi
diajukan oleh
Ganef Saputro
11.21.0565
kepada
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM
YOGYAKARTA
2012
MOTOR CONTROL SYSTEMS LINE FOLLOWER ROBOT BASED ON MICROCONTROLLER ATMEGA32 USING PID ALGORITHM (PROPORTIONAL INTEGRAL
DERIVATIF)
SISTEM KONTROL MOTOR ROBOT LINE FOLLOWER BERBASIS MIKROKONTROLLER ATMEGA32 MENGGUNAKAN ALGORITMA PID(PROPORSIONAL INTEGRAL DERIVATIF)
Ganef Saputro
Jurusan Teknik Informatika
STMIK AMIKOM YOGYAKARTA
ABSTRACT
Line follower robot in its development through many changes, from a line follower robot that does not use a control system or control until the line follower robot using control system. Control and control given to the robot consists of many kinds, from motor control, to control movement or strategy for line follower robot motion.
With the development of technology, gives a line follower robot innovation to the rapid development of a positive impact such as many models and shapes characteristic of each line follower robot the manufacturer. From the number of sensors used, laying the sensor according to the strategy to other devices that support the selection of line follower
robot.
Line follower robot has also been using a new control system, which uses ATmega32 as controls all robot systems, and DC motor control using PID algorithms. It is expected that developments in robot technology, it can trigger the creativity of line follower robot lovers to develop a better direction.
Keywords : Robot, Line Follower, Microcontroller, PID
1. Pendahuluan
Sejak terjadinya revolusi industri di beberapa negara di eropa, perkembangan
teknologi berkembang dengan sangat cepat. Sehingga manusia dituntut untuk aktif mengikuti
perkembangan yang terjadi. Dari era revolusi industri sampai dengan era globalisasi ini
perubahan pola pikir manusia sangat berbeda. Banyak pemikiran dan perkembangan
teknologi yang terjadi. Hal ini di dorong oleh rasa keingintahuan manusia dalam bidang
teknologi. Tidak terkecuali dalam perkembangan teknologi di bidang robotika.
Robotika menjadi bidang teknologi yang sangat cepat berkembang, karena banyak
dari para ilmuan yang mengembangkan teknologi robot. Sehingga perubahan bentuk dan
pola gerak robot dari zaman ke zaman mengalami banyak perkembangan. Dunia robotika
pada zaman sekarang ini banyak digunakan pada mesin industri yang menciptakan barang
dan kebutuhan manusia dalam jumlah yang sangat banyak. Sehingga dapat terlihat fungsi
robot yang dapat membantu pekerjaan manusia. Tidak sedikit dana yang dikeluarkan oleh
para ilmuan untuk menemukan sebuah terobosan baru didunia robotika, dan yang lebih
utama adalah untuk mensejahterakan masyarakat. Dari semua perkembangan teknologi
yang berkembang, dapat dilihat dan dirasakan oleh umat manusia sekarang ini. Begitu
mudahnya dengan bantuan robot pekerjaan menjadi lebih cepat dan rapi.
Pelajaran dasar di dunia robot yang dapat di implementasikan oleh para pelajar
adalah robot line follower atau robot pengikut garis. Karena di Indonesia sejak tahun 2000
telah ada kontes robot, untuk para pelajar dan mahasiswa. Untuk pelajar kontes robot line
follower sudah sangat banyak peminatnya, dan untuk kalangan mahasiswa kontes robot
terbesar adalah Kontes Robot Indonesia (KRI) dan robot bergerak berdasarkan garis (line
follower).
Untuk itu, robot line follower perlu dikembangkan. Karena robot ini merupakan ilmu
dasar dari robot. Dan pada kontes – kontes robot yang berlangsung di dunia saat ini, hampir
sebagian navigasi robot menggunakan sistem line follower. Melihat latar belakang tersebut,
penulis melakukan riset dan membuat tulisan ilmiah ini dengan judul “Sistem Kontrol Motor
Robot Line Follower Berbasis Mikrokontroler ATmega32 Menggunakan Algoritma PID
(Proporsional Integral Derivatif).
2. Landasan Teori
2.1 Mikrokontroller Atmega32
Mikrokontroller1 merupakan sebuah kombinasi dari sebuah CPU, memori dan I/O
yang terintegrasi dalam bentuk sebuah IC atau dapat disebut dengan single Chip.
Mikrokontroler AVR (Alf and Vegard’s Risc Processor) standar memiliki arsitektur 8 – bit,
dimana semua intruksi dikemas dalam kode 16 – bit dan sebagian besar instruksi dieksekusi
dalam 1 (satu) siklus clock. AVR berteknologi RISC (Reduced Instruction Set Computing)
(wardhana, 2006).
Kontrol utama dari keseluruhan sistem pada penelitian ini ditangani oleh
mikrokontroler AVR (Alf and Vegard’s Risc Processor) ATmega32. Mikrokontroler ini memiliki
arsitektur 8 bit, diman semua instruksi dikemas dalam kode 16 – bit, dan sebagian besar
instruksinya dieksekusi dalam satu siklus clock. Kelebihan dari ATmega32 sehingga
digunakan sebagai kontrol utama adalah sebagai berikut:
1. Mempunyai performa yang tinggi (berkecepatan akses maksimum 16MHz) tetapi
hemat daya.
2. Memori untuk program flash cukup besar yaitu 32Kb.
3. Memori internal (SRAM) cukup besar yaitu 2Kb.
4. Mendukung hubungan serial SPI.
5. Tersedia 3 channel timer/counter (2 untuk 8 bits dan 1 untuk 16 bits).
Gambar 2.1 Bentuk Fisik Mikrokontroller ATMega32
1 Hartawan W, Prototype Robot Pendeteksi Bahan Peledak Dari Jarak Jauh Berbasis Mikrokontroler
AT Mega32 Menggunakan Algoritma Jaringan Syaraf Tiruan (JST) Backpropagation (UNIVERSITAS
GADJAH MADA), hal. 22 - 25
2.2 Cara Kerja Sensor Garis (line follower)
Robot2 menggunakan IR sensor (dalam hal ini menggunakan LED dan photo diode
sebagai pengganti IR sensor) untuk mendeteksi jalur yang dibuat, yaitu dengan cara : posisi
robot diletakkan pada jalur, usahkan posisi jalur hitam berada ditengah – tengah IR sensor
kiri dan IR sensor kanan.
Gambar 2.2 Cara Kerja Sensor Garis
2.3 Kontrol PID (Proporsional Intergal Derivatif)
Sistem kontrol robotik3 pada dasarnya terbagi dua kelompok, yaitu sistem kontrol
loop terbuka (open loop) dan loop tertutup (close loop).
s . Kd
H(s)r e u y+
-
Kp
+
+s
Ki +
Gambar 2.3 Kontrol PID
2 Andrianto H, Pemrograman Mikrokontroler AVR ATMEGA16 (Bandung : INFORMATIKA, 2008), hal.
153 - 155
3 Pitowarno E, Robotika : Desain, Kontrol, dan Kecerdasan Buatan (Yogyakarta : ANDI,2006), hal.22 -
26
3. Perancangan Sistem
Pada perancangan kontrol motor pada robot line follower menggunakan algoritma
PID kali ini hanya menggunakan algoritma PD (Proporsional Derivatif) pada penerapannya.
Nilai P adalah respon langsung terhadap nilai error, sedangkan nila D adalah laju perubahan
nilai error pada setiap pengambilan sampling atau pengambilan data, dan dalam mengontrol
sesuatu yang membutuhkan respon yang cepat dan tiba – tiba (misal motor DC dan motor
servo), kontrol yang paling ideal adalah P dan D. Dan mengapa nilai I tidak dipakai dalam
kasus perancangan robot line follower ini, dikarenakan nilai I hanya akan menimbulkan
osilasi pada motor.
3.1 Perancangan Perangkat Keras (Hardware)
Catu daya
12 volt
Mikro AVR
ATmega32
Sensor depan
Sensor
samping
LCD
2 x 16
Motor DC
INPUTPROSES
OUTPUT
Gambar 3.1 Kerja Seluruh Sistem
Start
End
Sw_ok = 0 Sw_cancel=0
PWM >
upper
PWM <
lower
Tidak Tidak
Start time Menu_utama
Ya Ya
Tentukan error yang
dibaca oleh sensor
Hitung nilai
PD = P + D
PWM
Motor_Ki = sp + PD
Motor_Ka = sp - PD
PV = 0
PWM = Upper PWM = Lower PWM = Lurus
Sw_ok = 0 Stop timer
Tampil PWM
aktual
Tidak Tidak Tidak
Ya Ya Ya
Ya
Tidak
3.2 Perancangan Perangkat Lunak (Software)
Gambar 3.2 Diagram Alur Sistem
4. Pembahasan
4.1 Bagian Perangkat Keras
4.1.1 Blok Masukan (Input)
Pembahasan mengenai blok masukkan meliputi sensor depan dan sensor samping.
1. Sensor Depan
Gambar 4.1 Sensor Depan
2. Sensor Samping
Gambar 4.2 Sensor Samping
4.1.2 Blok Proses
Blok proses yang terdiri dari mikrokontroller ATMega32 adalah sebagai berikut.
Gambar 4.3 System Minimum
Blok proses ini menggunakan 4 tombol sebagai tombol menu pada program robot
line follower. Dengan menggunakan menu maka penggunaann dari robot line follower ini
akan mudah atau user interface. Dan menggunakan potensio sebagai parameter input nilai
pada program yang akan disimpan di dalam EEPROM (Electrically Erasable Programmable
Read-Only Memory).
4.1.3 Blok Keluaran (output)
Pada blok keluaran akan membahas LCD (Liquid Crystal Display) dan motor driver
(untuk kerja motor DC).
1. LCD
Gambar 4.4 LCD
LCD berfungsi sebagai penampil menu dan setting robot line follower.
2. Motor Driver (motor DC)
Gambar 4.5 Motor Driver
Motor driver ini ini terdiri dari 8 buah transistor Mosfets irf9540/irf540 P-channel dan
N-channel. Dan motor driver ini yang akan tersambung dengan motor DC.
4.1.4 Mekanik
Gambar 4.6 Robot Line Follower
4.2 Bagian Perangkat Lunak
4.2.1 Kalibrasi Sensor
Kalibrasi sensor berfungsi sebagai menyesuaian sensor robot dengan lintasan atau
arena robot. Standarisasi lapangan memakai triplek melamin berwarna putih dengan garis
hitam sebagai lintasannya.
Gambar 4.7 Kalibrasi Sensor
4.2.2 Program
4.2.2.1 Penentuan Nilai P (Proporsional)
P = Kp / 10
Prop = P * Bobot
Pwm_ka = Pwm_ka_max - Prop
Pwm_ki = Pwm_ki_max + Prop
Kondisi ideal pada robot adalah bergerak maju lurus mengikuti garis, dengan kata
lain PV = 0 (nilai sensor = 00011000). Dari sini dapat diasumsikan bahwa Set Point (SP) /
kondisi ideal adalah saat SP = 0. Nilai sensor yang dibaca oleh sensor disebut Process
Variable (PV) / nilai aktual pembacaan. Menyimpangnya posisi robot dari garis disebut
sebagai bobot (b), yang didapat dari b = SP – PV. Dengan mengetahui besar bobot,
mikrokontroller dapat memberikan nilai PWM motor kiri dan kanan yang sesuai agar dapat
menuju ke posisi ideal (SP = 0). Besarnya nilai PWM ini dapat diperoleh dengan
menggunakan kontrol Proporsional (P), dimana P = bobot * Kp (Kp adalah konstanta
proporsional yang nilainya di set sendiri dari hasil tuning).
4.2.2.2 Penentuan Nilai D (Derivatif)
Diff = Bobot - Bobot_lalu
Deriv = Kd * Diff
Pwm_ka = Pwm_ka - Deriv
Pwm_ki = Pwm_ki + Deriv
Bobot_lalu = Bobot
Kontrol D digunakan untuk mengukur seberapa cepat robot bergerak dari kiri ke
kanan atau dari kanan ke kiri. Semakin cepat bergerak dari satu sisi ke sisi lainnya, maka
semakin besar nilai D. Konstanta D (Kd) digunakan untuk menambah atau mengurangi
imbas dari derivatif. Dengan mendapatkan nilai Kd yang tepat pergerakan sisi ke sisi yang
bergelombang akibat dari kontrol proporsional bisa diminimalisasi. Nilai D didapat dari D = Kd
* diff. Dalam program nilai error (SP – PV) saat itu menjadi nilai bobot_lalu, sehingga diff
didapat dari bobot – bobot_lalu.
4.3 Downloader
Downloader berfungsi untuk memasukkan bahasa pemrograman yang telah dibuat
kedalam mikrokontroler. Software yang digunakan untuk proses memasukkan program
adalah eXtreme burner – AVR.
Gambar 4.8 Downloader
5. Penutup
5.1 Kesimpulan
Dari rangkaian proses pengajuan masalah, perancangan, pembuatan dan pengujian
robot line follower yang telah dilakukan, dalam penyusunan skripsi ini dapat ditarik beberapa
kesimpulan penting yang berkaitan dengan perancangan robot line follower ini antara lain :
1. Cara pengimplementasian mikrokontroller ATMega32 pada robot line follower adalah
dengan memasukkan code program yang telah dibuat ke dalam mikrokontroller
untuk membuat gerak robot sesuai yang diinginkan.
2. Salah satu cara merancang robot line follower yang baik dan sesuai kebutuhan
adalah pemasangan 8 sensor garis di bagian depan untuk pergerakan robot dan 3
sensor disamping kiri dan 3 sensor disamping kanan untuk koreksi gerak robot yang
lebih baik. Dengan bentuk rancangan robot line follower yang telah dipaparkan, robot
dapat berjalan dan berkerja sesuai fungsi yang telah dirancang.
3. Dengan menambahkan algoritma PID yaitu nilai P dan nilai D pada program robot
serta melakukan trial and error untuk mendapatkan nilai bobot yang stabil menjadi
kunci berjalannya algoritma tersebut.
5.2 Saran
Dalam pembuatan robot line follower ini masih ada kekurangan yang sekiranya dapat
disempurnakan kedepannya, diantara lain :
1. Body robot yang masih bisa dikembangkan lebih lanjut, sehingga diharapkan
mendapatkan bentuk body yang lebih dinamis.
2. Memaksimalkan penggunaan bahan limbah untuk menekan price yang harus
dikeluarkan dalam membuat satu robot line follower.
3. Diharapkan pelatakan sensor kedepan dapat lebih baik dengan melihat lintasan yang
ada.
4. Menggunakan led ultra bright untuk mendapatkan fokus sensor yang lebih peka
terhadap segala jenis lintasan.
Penulis mengharapkan sumbangan ilmu berupa kritik dan saran dari pembaca,
karena penulis sadar keterbatasan kemampuan sehingga diharapkan masukkan yang
membangun agar robot line follower ini dapat berkembang jauh lebih baik.
DAFTAR PUSTAKA
Andrianto, H. 2008. Pemrograman Mikrokontroler AVR ATMEGA16. Bandung :
INFORMATIKA.
Hartawan, W. 2011. Prototype Robot Pendeteksi Bahan Peledak Dari Jarak Jauh Berbasis
Mikrokontroler AT Mega32 Menggunakan Algoritma Jaringan Syaraf Tiruan (JST)
Backpropagation. Program Strata Satu Universitas Gadjah Mada. Yogyakarta.
Pitowarno, E. 2006. Robotika : Desain, Kontrol, dan Kecerdasan Buatan. Yogyakarta : ANDI.