SISTEM KONTROL MOTOR ROBOT LINE FOLLOWER BERBASIS ...

15
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

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.