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
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.
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 -
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
INPUT
PROSES
OUTPUT
Gambar 3.1 Kerja Seluruh SistemStart 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)
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
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
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
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.
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.