Skip to main navigation menu Skip to main content Skip to site footer
Engineering
DOI: 10.21070/acopen.8.2023.7275

Line Tracer Robot Navigation System Using Arduino Uno Microntroller With PID Control


Sistem Navigasi Robot Line Tracer Menggunakan Arduino Uno Mikrokontroler Dengan Kontrol PID

Universitas Muhammadiyah Sidoarjo
Indonesia
Universitas Muhammadiyah Sidoarjo
Indonesia
Universitas Muhammadiyah Sidoarjo
Indonesia
Universitas Muhammadiyah Sidoarjo
Indonesia
Universitas Muhammadiyah Sidoarjo
Indonesia

(*) Corresponding Author

Robot Line Tracer PID Arduino Uno

Abstract

This Study aims to develop a line tracer using Arduino Uno the PID control method. Line tracer robot is a type of robot is a type of robot capable of following a specified path. The PID (Proportional-Integral-Derivative) control used to keep the robot on track by correcting the difference between the actual and the desired position. In this study,  6 photo diode sensors were used, the motor driver used the L293D, and the microcontroller used Arduino Uno. Testing the response of the photo diode sensor had the smallest voltage value at 1,219 Vdc and the largest voltage at 4,875 the result of the motor driver measurements all succeeded in stopping, ccw or cw. The end of testing the line tracer robot using PID control is able to navigate properly without getting of the track.

Highlights:

  • Precise Path Following: PID control ensures accurate tracking by correcting position deviations.
  • Sensor Response Evaluation: Photo diode sensor testing reveals voltage range (1.219 Vdc to 4.875 V) for effective line detection.
  • Motor Driver Proficiency: L293D motor driver successfully controls motor functions (stop, ccw, cw) for optimal movement.

Keywords : Robot, Line Tracer, PID, Arduino Uno

 

PENDAHULUAN

Robot merupakan segala sesuatu yang dapat diprogram ulang, dengan memiliki manipulator mekanik atau dirancang untuk sistem navigasi [1]. Robot mampu bekerja mengantikan manusia dengan memanfaatkan kecerdasan buatan [2], sehingga robot bisa bekerja secara autonomus [3], pengembangan sistem autonomus ini membuat robot mampu bernavigasi secara mandiri, dengan menanamkan algoritma program. Salah satu robot yang memanfaatkan sistem autonomus adalah robot line tracer [4]. Robot line tracer memiliki kemampuan mengikuti garis hitam maupun putih [5]. Untuk mengetahui perbedaan antara garis hitam dan putih robot line tracer ini menggunakan sensor photodiode, dan menggunakan led sebagai sumber cahaya yang dipasang secara berdampingan. Cahaya akan memantulkan ketika terkena warna putih dan cahaya tidak dipantulkan ketika terkena warna. Pembacaan sensor photo diode ketika menerima banyak cahaya nilai resistansinya menurun dan ketika tidak menerima nilai resistansinya naik. Sehingga dari hasil pembacaan tersebut bisa dijadikan sebagai intruksi robot dalam bernnavigasi, sensor photo diode ini dinilai memiliki sensitifitas tinggi [6].

Robot line tracer belum bisa bernavigasi dengan baik tanpa adanya sistem kontrol. sistem kontrol memiliki dua model open loop dan close loop. Namun Sistem kontrol yang diperlukan dalam penelitian ini adalah sistem control close loop. Sistem kontrol model close loop ini terdapat feedback yang memiliki fungsi membetuk nilai error, nilai error ini didapat karena ternjadinya perbedaan antara kondisi yang di inginkan (setpoint) dengan kondisi actual pada robot line tracer. Sehingga dalam penelitian ini agar robot bisa bernaviasi dengan baik dibuat algortima PID yang akan ditanamkan pada robot. algoritma ini akan ditanamkan pada mikrokontroler Arduino Uno, feedback yang digunaakn dalam penelitian ini adalah sensor photo diode, untuk mengetauhi kondisi actual pada robot, kondisi ini kemudian akan dibandingkan dengan nilai set point. Perbandingan ini akan memberntuk nilai error, sehingga jika terjadi error yang besar maka output PID juga akan mengikuti. Output PID ini berupa nilai PWM yang digunakan untuk mengatur kecepatan motor yang diolah oleh Arduino Uno dan kemudian diberikan nilai PWM pada driver motor L293D sehingga motor dc bisa bergerak sesuai dengan intensitas cahaya yang diterima oleh sensor photo diode.

METODE

Blok diagram sistem robot line tracer yang digunakan dalam penelitian ditunjukkan pada Gambar 2.1. Sistem sensor yang digunakan dalam penelitian ini menggunakan 6 sensor photo diode dan 6 led yang dipasang berdampingan, sistem sensor digunakan untuk mendeteksi intensitas perubahan cahaya Ketika berada pada lintasan warna hitam dan lintasan warna hitam. Hasil dari pendeteksian sensor ini akan diolah oleh mikrokontroler Arduino Uno, Arduino Uno memiliki fungsi menjalankan algoritma methode PID kontrol, dengan mengolah hasil deteksi sistem sensor, kemudian menentukan output nilai PID untuk memberikan nilai pulse width modulation PWM motor kanan dan motor kiri, sehingga robot dapat bernavigasi secara autonomus. Driver motor L293D ini digunakan untuk menggerakan motor kanan dan motor kiri, bergeraknya motor ini atas intruksi yang diberikan oleh mikrokontroller Arduino Uno. Motor kanan dan motor kiri ini digunakan untuk menggerakkan roda.

Figure 1.Blok Diagram Robot Line Tracer

2.1. Sistem Sensor Photo diode

Sensor photo diode ini digunakan untuk mendeteksi terhadap perubahan cahaya akibat dari posisi sensor berada pada warna hitam atau warna putih di lintasan robot. yang berubah pada sensor photo diode ini adalah nilai resistansinya. Ketika photo diode mendapatkan intensitas cahaya yang banyak maka nilai resistansi kecil sehingga arus yang mengalir besar dan memiliki tegangan kurang lebih 5 Vdc, Ketika photo diode mendapatkan intensitas cahaya sedikit maka nilai resistansinya besar sehingga tidak ada arus yang mengalir sehingga tegangan mendekati nilai 0 Vdc [7]. Ilustrasi deteksi intensitas cahaya sensor photo diode ditunjukkan pada Gambar 2.2. Sedangkan rangkaian sensor photo diode ditunjukkan pada Gambar 2.3

Figure 2.Cara Kerja Senso Photo Diode

Figure 3.Rangkaian Sensor Photo Diode

2.2. Arduino Uno

Arduino merupakan platform open-source yang dimanfaatkan untuk penerapan algoritma program yang digunakan dalam proyek maupun penelitian. Terdapat banyak jenis Arduino, namun dalam penelitian ini menggunakan Arduino uno. Arduino Uno menggunakan jenis tipe ic atmega 328[8][9]. Arduino uno ini digunakan untuk mengolah data photo diode hasil dari deteksi intensitas cahaya lintasan robot, data yang masuk pada Arduino uno ini berupa tegangan analog 0 - 5 Vdc yang digunakan sebagai inputan, inputan ini berkaitan dengan feedback yang akan dibuat pada methode PID kontrol. Desain algoritma program PID Kontrol ditanamkan pada Arduino uno. Selain itu Arduino Uno juga memberikan perintah untuk memberikan nilai PWM pada Driver Motor L293D sehingga robot bisa bernavigasi sesuai algoritma yang ditanamkan pada Arduino Uno. Dari sistem yang algoritma yang ditanamkan pada Arduino uno ini, Arduino Uno Bisa mengolah data masukan kemudian memproses dan menentukan outpunya [10]. Arduino uno ini memiliki tegangan kerja 5 Vdc. Memiliki 14 pin Digital dan 5 Pin Analog. Bentuk fisik dari Arduino Uno Sebagaimana pada Gambar 2.4.

Figure 4.Konektor Pin Out Arduino Uno

2.3. Driver Motor L293D

Driver motor banyak sekali jenisnya, ada yang menggunakan transistor, mengunakan mosfet, dan menggunakan ic. Driver motor berfungsi untuk mengatur kecepatan dan memutar arah motor [12]. Untuk menentukan kecepatan motor maka diperlukan nilai PWM, Nilai PWM ini ditentukan Arduino Uno berdasarkan algoritma PID. Sedangkain untuk merubah arah putaran dibutuhkan logika HIGH atau LOW pada input driver motor. Driver ini ditunjukkan pada Gambar 2.5. Driver ini memiliki tegangan kerja di range 4.5 Vdc – 36 Vdc, dengan output 1 Ampere [13]

Figure 5. Driver Motor L293D

2.4. PID (Proporsional Integral Derivative)

PID merupakan algoritma kontrol yang memiliki umpan balik secara terus menerus menyesuaikan keluraran berdasarkan nilai set point yang di inginkan. Pid ini memiliki tiga komponen yang digunakan sebagai kontrol proporsional, integral dan derivative[14][15]. Masing – masing komponen memiliki peran memberikan respon terhadap perubahan output untuk mencapai nilai set point. Dalam penggunaan kontrol P ini dapat merubah pengurangan terhadap risetime, dapat menambah over shoot, dan dapat mengurangi steady state. Dalam penggunaan I yang berubah adalah pengurangan terhadap rise time, penambahan terhadap overshoot, dan pengurangan dari steady state. Sedangkan D mengalami perubahan terhadap overshoot dan setting time [16].

Figure 6.Blok Diagram Kontrol Pid Robot Line Tracer

Sebagaimana yang ditunjukkan pada Gambar 2.6 merupakan blok diagram PID yang akan dibuat pada sistem kontrol robot line tracer. Setpoint ini merupakan pemberian nilai pada posisi robot berada ditngah -tengah garis yang akan dibandingkan dengan sistem sensor. Error merupakan hasil dari nilai setpoint dikurangi nilai pada sistem sensor. Pada PID ini akan memberikan respon terhadap nilai error untuk memberikan nilai pwm pada motor driver L293. Motor L293 ini digunakan untuk mengatur kecepatan motor atas nilai pwm yang diberikan hasil dai keluaran pid. Semua sistem algortima ini ditanamkan di Arduino Uno.

HASIL DAN PEMBAHASAN

Robot line tracer yang digunakan dalam penelitian ini ditunjukkan pada Gambar 3.1. dan Gambar 3.2. pada Gambar 3.1 ini merupakan bagian – bagian komponen robot. terdapat sistem sensor yang terletak dibagian depan, memiliki 6 sensor photo diode dengan led yang terpasang berdekatan, terdapat driver motor l293D yang digunakan untuk menggerak motor Dc berdasarkan nilai PWM, dan motor Dc ini yang digunakan untuk memutar roda. Pada Gambar 3.2 ini merupakan bagian robot full, terdapat Arduino Uno sebagai otak dari robot line tracer, lcd 16x2 untuk menampilkan data, dan Batrai.

Figure 7.Bagian Peletakan Komponen Robot Line Tracer

Figure 8.Bagian Robot Secara Full

Sistem batrai yang digunakan dalam penelitian ini menggunakan 2 cell. 1 cell memiliki tegangan 3.7 Vdc, sehingga jika menggunakan 2 cell maka dihitung dengan cara 3.7 x2, sehingga tegangan batrai adalah 7.4 VDC, namun nilai tegangan 7,4Vdc ini adalah nilai batasan paling rendah. Kondisi batrai pemakaian tidak boleh kurang dari 7.4 Vdc untuk menjaga batrai tetap awet. Pada Gambar 3.3 pengujian pengukuran terhadap batrai dan tabel 3.1 hasil dari pengukuran pengujian batrai. Dari hasil pengujian menunjukkan batrai berada pada tegangan 8 Vdc. Pada kondisi ini batrai sudah terisi penuh setelah dicarger.

Figure 9.Pengujian Pengukuran Batrai

No Referensi Uji 1 Uji 2 Uji 3
1 7.4 Vdc 8.00 Vdc 8.00 Vdc 8.00 Vdc
2 7.4 Vdc 8.00 Vdc 8.00 Vdc 8.00 Vdc
3 7.4 Vdc 8.00 Vdc 8.00 Vdc 8.00 Vdc
4 7.4 Vdc 8.00 Vdc 8.00 Vdc 8.00 Vdc
5 7.4 Vdc 8.00 Vdc 8.00 Vdc 8.00 Vdc
6 7.4 Vdc 8.00 Vdc 8.00 Vdc 8.00 Vdc
7 7.4 Vdc 8.00 Vdc 8.00 Vdc 8.00 Vdc
8 7.4 Vdc 8.00 Vdc 8.00 Vdc 8.00 Vdc
9 7.4 Vdc 8.00 Vdc 8.00 Vdc 8.00 Vdc
10 7.4 Vdc 8.00 Vdc 8.00 Vdc 8.00 Vdc
Table 1.Uji Batrai 2 Cell

Pada bagian ini merupakan pengujian terhadap respon sensor photo diode pada kondisi saat berada pada objek hitam atau putih, pengujian ini dilakukan untuk mengetahui nilai tegangan setiap senso. Pengujian ini robot diberikan tegangan dari batrai 2 cell dengan meletakkan robot pada objek yang berwarna putih sebagaimana ditunjukkan pada Gambar 3.4 A), kemudian diukur menggunakan Avometer digital hasilnya dicatat sebagaiman pada Tabel 3.2, kemudian dilakukan pengujian dengan cara yang sama hanya diletakkan di objek dengan warna hitam, hasil pengujianya ditunjukkan pada Tabel 3.3.

Figure 10.A) Pengujian Pada Warna Putih. B) Pengujian Pada Warna Hitam

Pengukuran Sensor Photodiode Tegangan Referensi Tegangan Warna putih Out Put
Sensor 1 5 Vdc 2.323 Vdc Low
Sensor 2 5 Vdc 1.826 Vdc Low
Sensor 3 5 Vdc 1.219 Vdc Low
Sensor 4 5 Vdc 2645 Vdc Low
Sensor 5 5 Vdc 1.926 Vdc Low
Sensor 6 5 Vdc 2.873 Vdc Low
Table 2.Uji Sensor Warna Putih
Pengukuran Sensor Photodiode Tegangan Referensi Tegangan Warna Hitam Out Put
Sensor 1 5 Vdc 4.875 Vdc High
Sensor 2 5 Vdc 4.769 Vdc High
Sensor 3 5 Vdc 4.738 Vdc High
Sensor 4 5 Vdc 4.835 Vdc High
Sensor 5 5 Vdc 4.770 Vdc High
Sensor 6 5 Vdc 4.800 Vdc High
Table 3.Uji Sensor Warna Hitam

Pada bagian ini merupakan pengujian yang dilakukan untuk menguji driver motor L293D. pengujian ini dilakukan dengan memberikan tegang 2 cell batrai yang sudah terisi penuh sehingga kondisi batrai kurang lebih 8 Vdc. Pegujian ini dilakukan sebanyak 10 kali pengujian. Dengan memberikan logika LOW dan HIGH. Hasil pengujian ini akan memberikan beberapa informasi bahwa motor akan berputar kearah maju, mundur, dan Stop. Pada kondisi maju = CW sedangkan pada kondisi mundur CCW. Dari hasil pengujian samua berhasil. Driver motor dapat bekerja normal dan berfungsi dengan baik.

No Driver Motor L293D Deskripsi
Input Output
1 LOW-LOW STOP Berhasil
2 HIGH-LOW CW Berhasil
3 LOW-HIGH CCW Berhasil
4 HIGH-HIGH STOP Berhasil
5 HIGH-LOW CW Berhasil
6 LOW-LOW STOP Berhasil
7 HIGH-LOW CW Berhasil
8 LOW-HIGH CCW Berhasil
9 HIGH-HIGH STOP Berhasil
10 HIGH-LOW CW Berhasil
Table 4.Pengujian Driver Motor

Pada bagian ini merupakan uji robot dalam bernavigasi. Pada saat pengujian ini jalur yang menggunakan isolasi hitam. Pada Gambar 3.5 a) ini merupakan gambaran robot berada pada garis lurus, sedangkan pada bagian b) robot berada pada belokan kekanan, sedangkan pada bagian gambar c robot berhenti, dari hasil uji navigasi robot, robot mampu mengikuti jalur yang sudah dibuat. Penggunaan pada sistem kontrol PID pada robot line tracer ini sudah baik sekali, karena mampu mengikuti jalur tanpa keluar dari jalur yamg sudah ditentukan.

Figure 11.a) Robot Saat Berjalan Lurus, b) Robot saat belok kanan, Robot saat berhenti finish

SIMPULAN

Setelah dilakukan perancangan robot line tracer dengan menggunakan sistem sensor 6 photo diode, dengan menggunkan driver L293 untuk menggerakkan motor, dan menggunakan Arduino uno untuk mengatur semua sistem atau algoritma pid pada robot line tracer. Dari hasil penelitianya robot line tracer mampu mengikuti garis line yang sudah dibuat tanpa adanya kegegalan pada saat bernavigasi.

References

  1. M. S. Novelan, Tulus, and E. M. Zamzami, “Control of motion stability of the line tracer robot using fuzzy logic and kalman filter,” J. Phys. Conf. Ser., vol. 978, no. 1, 2018.
  2. B. Shih et al., “Electronic skins and machine learning for intelligent soft robots,” Sci. Robot., vol. 5, no. 41, 2020.
  3. A. Jalil, “Pemanfaatan Middleware Robot Operating System (Ros) Dalam Menjawab Tantangan Revolusi Industri 4.0,” Ilk. J. Ilm., vol. 11, no. 1, pp. 45–52, 2019.
  4. E. Maulana, M. A. Muslim, and A. Zainuri, “Inverse kinematics of a two-wheeled differential drive an autonomous mobile robot,” Proc. - 2014 Electr. Power, Electron. Commun. Control Informatics Semin.
  5. EECCIS 2014. conjunction with 1st Jt. Conf. UB-UTHM , no. February 2018, pp. 93–98, 2014.
  6. S. Akash, B. Kabi, and S. Karthick, “Implementing a Line Tracing Robot as an effective Sensor and Closed Loop system,” Int. J., vol. 2, no. 7, pp. 104–107, 2009.
  7. W. Hafizur Rizki, “Rancang Bangun Sistem Wastafel Otomatis Berbasis Mikrokontroler Atmega8535 Dengan Menggunakan Sensor Fotodioda,” J. Fis. Unand, vol. 4, no. 2, pp. 106–112, 2015.
  8. S. Ruswanto, E. S. Ningrum, and I. Ramli, “Pengaturan Gerak Dan Keseimbangan Robot Line Tracer Dua Roda Menggunakan PID Controller,” 13th Ind. Electron. Semin. 2011, vol. 2011, no. Ies, pp. 978–979, 2011.
  9. M. I. Hafidhin, A. Saputra, Y. Rahmanto, and S. Samsugi, “Alat Penjemuran Ikan Asin Berbasis Mikrokontroler Arduino UNO,” J. Tek. dan Sist. Komput., vol. 1, no. 2, pp. 59–66, 2020.
  10. A. P. Zanofa, R. Arrahman, M. Bakri, and A. Budiman, “Pintu Gerbang Otomatis Berbasis Mikrokontroler Arduino Uno R3,” J. Tek. dan Sist. Komput., vol. 1, no. 1, pp. 22–27, 2020.
  11. E. Ihsanto and S. Hidayat, “Rancang Bangun Sistem Pengukuran pH Meter Menggunakan Mikrokontroler Arduino Uno,” J. Teknol. Elektro, vol. 5, no. 3, 2014.
  12. P. R. Manual, “Arduino UNO R3 Features,” pp. 1–13, 2022.
  13. D. Kusuma Wardani, U. Sunarya, and D. Nur Ramadan, “Desain dan Implementasi Alat Buka Tutup Gorden Berbasis Design and implementation of open and close curtains based on microcontroller and android,” vol. 2, no. 2, pp. 671–678, 2016.
  14. Texas Instruments Incorporated, “L293x Quadruple Half-H Drivers,” Texas Instruments Inc., p. 21, 2016.
  15. R. Sirait, “Sistem Kontrol Kelembaban Tanah Pada Tanaman Tomat Menggunakan PID,” Techno.Com, vol. 19, no. 3, pp. 262–273, 2020.
  16. M. S. Ramadhan and M. Rivai, “Sistem Kontrol Tingkat Kekeruhan pada Aquarium Menggunakan Arduino Uno,” J. Tek. ITS, vol. 7, no. 1, 2018.
  17. P. Seminar, N. Nciet, and N. Conference, “Sistem Kontrol Proportional Integral Derivative (Pid) Untuk Mengatur Kecepatan Motor Dc Menggunakan Mikrokontroller,” Pros. Semin. Nas. NCIET, vol. 1, no. 1, pp. 528–534, 2020.