i
DESAIN DAN IMPLEMENTASI KONTROL PID
(PROPORTIONAL INTEGRAL DERIVATIVE) PADA ROBOT
WALL FOLLOWER
Skripsi
Diajukan untuk Memenuhi Persyaratan Memperoleh Gelar
Sarjana Sains Bidang Fisika
Oleh :
FAHRIZAL DWI AFRIADI
NIM 1112097000032
PROGRAM STUDI FISIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH
JAKARTA
2016M/1437H
600Z tOcOOZ9T9O8L6T dWT S Vi 'P!V rn 'd jCj
-~Vw--Tyfl gUf 4II'UP!HJS MILl
)jIS1J !PmS UIJOJd MON
9 1 z 10800Z LZI6L6t 'dIN TOO I E0861 L190161 dIN IS 1'1 '!1'A UVAIg v1U 'ZLZIçJ ISV ul
"I—, _,c 4. -0
uiquiiquxj usoj I 2uiqtuiqui ;D(j uosou
'! fflAU9jAJ
Z000OL60ZT TI 1411W IUVDIJV IA&L 1VZDIHV1
4010
(!ss) sup uiirnS nI0D
pjoiodmo rns qs qs
Lsdu)f S
2LIMO17OJ 71VAI lOf1011 VUVd (1I1vi1nf2!a 1V12LINI
7VN0IIIIOJO&f) aii 1OIIIKON ISVINI4IF1dI4JI NVU KWS9(1
600 Z iocooz 91908L61 dIM EOO I E06661 9kO !S 1'\I 'PV jnN •UI U vi I2
)ITS!d !POJd fd)J iO]OU3J up SUT 'JIJ U)J
9 1 z 10800z LZ2I6L6T dIN TOO I E09861 L19016I 'dIN IS JA1 '!1.R?UT1A UAj3 VIU 'ZTZ tUS J
4 / x. <
Z &uqwiqUT2uiqWTqmDd
ZOO I Z 1OOZ 80frOIL6I dIN coo t £0Z861 ZOZ06961 dIM WOU011M triiqmy IS W 'ousun ,i
TFflUOj I [nOuod
'Tn1nAuoV4
91 OZ iqwodo LZ ''tf
)ISM !PrnS UmiOid (s s) suiuS tu[n iul;D2 qojoiduiui jnun iiis ns qts rnqs
'!'°l!P i:jo irn isdwj 9 IOZ iquiod LZ T' pid
J!.1tS !'°°N UTJSI S1!SJOAiUfl !0T0RL inip SUMS Sfl)jTJ qiAsobiunj
U1JMS unjp Sfljflj U1)jwUip UP !!h!P qul3l Z000OL60Z1JJ TMS1S4JI4
)TflPUT JOUTON UUp 1prijV IM(lIrziaqvj14O srniiip uc ?13A1O77OI
77VAI 1OHOI V1VJ (1 ii, vAImIa 7V&L931N1 7VNOIIIIOJOw1) Uld 'lOIIINON ISV1M4I'Ia'ldI'\II NY(l tsJ1YS(U npnq TSCIIJ)TS
NVIffl NVHVS9N1d
iv
LEMBAR PERNYATAAN
DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENAR HASIL
KARYA SENDIRI YANG BELUM PERNAH DIAJUKAN SEBAGAI SKRIPSI
ATAU KARYA ILMIAH PADA PERGURUAN TINGGI ATAU LEMBAGA
MANAPUN.
Jakarta, September 2016
Fahrizal Dwi Afriadi
NIM. 1112097000032
v
ABSTRAK
Pada penelitian ini dilakukan pembuatan robot wall follower dengan
menggunakan kontrol PID (Proportional Integral Derivative) dimana kontrol PID
terdiri dari tiga parameter yaitu kontrol proporsional (Kp), kontrol integral (Ki)
dan kontrol derifatif (Kd). Robot wall follower adalah robot beroda yang memiliki
sensor untuk mendeteksi suatu dinding tertentu kemudian bergerak menelusuri
dinding tersebut. Penelitian ini bertujuan untuk menentukan kontrol PID agar
robot dapat menelusuri dinding dengan baik serta menganalisis respon sistem
yang terjadi ketika robot bergerak dalam kondisi biasa maupun dalam kondisi
membawa variasi beban dengan menggunakan kontrol PID. Robot wall follower
terintegrasi oleh Arduino Mega yang didalamnya terdapat mikrokontroler
ATMega 2560 dan juga beberapa komponen diantaranya adalah LCD (Liquid
Crystal Diode), sensor HC-SR04, driver H-Bridge mosfet, motor DC 12 Volt,
roda, dan baterai. Dilakukan karakterisasi sensor HC-SR04 serta kalibrasi motor
DC 12 Volt. Hasil karakterisasi dan kalibrasi diperoleh grafik yang berbentuk
linier, hal tersebut menandakan bahwa sensor dan motor dapat melakukan
pengukuran dengan baik. Dilakukan analisis grafik parameter respon sistem ketika
robot bergerak dengan variasi kontrol proporsional bernilai 1-7. Dari hasil analisis
variasi kontrol proporsional 1-7, didapatkan parameter kontrol PID lainnya
dengan nilai Kp = 4.11 Ki = 2.39 dan Kd = 1.76. Dilakukan analisis grafik sinyal
respon sistem ketika kontrol PID telah digunakan oleh robot dalam kondisi
bergerak biasa maupun ketika bergerak dengan variasi beban 0, 0.25 dan 0.5 kg.
Kata kunci : Kontrol PID, Robot Wall Follower, Arduino Mega, HC-SR04,
Motor DC 12 Volt.
vi
ABSTRACT
In this research, manufacture wall follower robot using PID control (Proportional Integral
Derivative) where PID control consists of three parameters: proportional control (Kp),
integral control (Ki), and derivative control (Kd). Wall follower robot was wheeled robot
that has a sensor to detect a certain wall and then moving along the wall. This study aims
to determine the PID control so that the robot can trace the wall well and analyzing the
system response that occurs when the robot moves in normal conditions and in conditions
of carrying the load variation by using PID control. Robot follower wall is integrated by
Mega Arduino microcontroller in which there ATMega 2560 and also some of the
components of which are LCD (Liquid Crystal Diode), sensor HC-SR04, H-Bridge
mosfet driver, 12 Volt DC motor, wheels, and batteries. Do HC-SR04 sensor
characterization and calibration of 12 Volt DC motor. Characterization and calibration
results obtained in the form of linear graph, it indicates that the sensor and the motor can
perform the measurement properly. Do chart analysis system response parameters when
the robot moves with a variation of proportional control worth 1-7. From the analysis of
variations 1-7 proportional control, PID control other parameters obtained with Kp = 4.11
Ki = 2.39 and Kd = 1.76. Analysis graph the response signal when the PID control system
has been used by the robot in moving conditions usual and as it moves with load
variations 0, 0.25 and 0.5 kg.
Keyword : PID Control, Robot Wall Follower, Arduino Mega, HC-SR04, Motor
DC 12 Volt.
vii
KATA PENGANTAR
Alhamdulillahi Rabbil Alamin, puji syukur kehadirat Allah SWT berkat
izin dan pertolongannya kepada penulis, sehingga penulis dapat menyelesaikan
skripsiyang berjudul: “DESAIN DAN IMPLEMENTASI KONTROL PID
(PROPORSIONAL INTEGRAL DERIVATIF) PADA ROBOT WALL
FOLLOWER”.
Penulisan skripsi ini disusun untuk memenuhi salah satu syarat
memperoleh gelar sarjana dipeminatan Fisika Instrumentasi, Program Studi Fisika
Fakultas Sains dan Teknologi, Universitas Islam Negeri Syarif Hidayatullah
Jakarta. Skripsi ini diharapkan juga bisa menjadi sarana meningkatkan ilmu dan
pengetahuan serta pola pikir penulis khususnya dibidang Fisika Instrumentasi.
Selama proses penulisan skripsi ini, penulis banyak dibantu oleh berbagai
pihak. Maka pada kesempatan ini perkenankanlah penulis menyampaikan rasa
hormat dan terimakasih kepada :
1. Allah SWT yang masih memberikan kesempatan waktu, umur serta
banyak memberikan semangat dan pertolongan melalui orang – orang
terdekat untuk menyelesaikan tugas akhir ini.
2. Kedua orang tua yang selaku motivator yang selalu tak pernah henti
memberikan dukungan moril maupun materil serta doanya sehingga
penulis dapat menyelesaikan tugas akhir ini.
3. Ibu Nur Aida, M.Si selaku ketua Program Studi Fisika UIN Syarif
Hidayatullah Jakarta.
viii
4. Bapak Ir. Asrul Aziz, DEA selaku pembimbing pertama yang memberikan
kesempatan dan arahan kepada penulis.
5. Ibu Elvan Yuniarti, M.Si selaku pembimbing kedua yang selalu
memberika pengetahuannya dan arahannya untuk membimbing penulis
hingga dapat menyelesaikan tugas akhir ini.
6. Bapak Dr. Agus Salim, M.Sis selaku Dekan Fakultas Sains dan Teknologi
UIN Syarif Hidayatullah Jakarta.
7. Seluruh Dosen Prodi Fisika UIN Jakarta yang telah membimbing penulis
selama menempuh kuliah di UIN Jakarta.
8. Muhammad Zakaria selaku saudara saya yang telah membantu dalam
pengerjaan alat serta memberikan nasihat dalam mengerjakan tugas akhir
ini.
9. Siti Muthia Alim Islami selaku seseorang yang spesial bagi penulis yang
telah banyak membantu dan memberikan semangat serta dorongan bagi
penulis dalam mengerjakan tugas akhir ini.
10. Teman – teman sederajat Khairul Akbar Deliputra, Alfandi Ali Akbar, Riri
Emma, dan Dewi Cahyani.
11. Teman – teman perjuangan penulis angkatan 2012 Fisika FST UIN Jakarta
dan teman – teman KKN GAMMA 2015 UIN Jakarta.
12. Teman – teman kelas Instrumentasi Teguh Pambudi, Eman Priatna, Tri
Wardani Murianditi, Rapida Apriani, Nurul Fadilah, Nurul Aditya Ayu
Kusuma dan teman – teman seperjuangan penulis.
ix
13. Adik – adik angkatan 2013, 2014 dan 2015 yang telah banyak membantu
penulis untuk menyelesaikan tugas akhir ini.
14. Semua pihak yang tidak bisa disebutkan satu persatu, yang telah
membantu terselesaikannya penulisan skripsi ini.
Penulis menyadari bahwa penulisan skripsi ini masih banyak
kekurangannya. Oleh karena itu penulis mengharapkan kritik dan saran yang
membangun demi kebaikan penulis pada masa mendatang. Semoga skripsi ini
dapat bermanfaat dan menambah wawasan pembaca maupun bagi penuis sendiri.
Jakarta, Agustus 2016
Penulis
x
DAFTAR ISI
LEMBAR JUDUL ................................................................................................... i
PENGESAHAN UJIAN ......................................................................................... ii
LEMBAR PERNYATAAN ................................................................................... iii
KATA PENGANTAR ........................................................................................... vi
DAFTAR ISI .......................................................................................................... ix
DAFTAR GAMBAR ............................................................................................ xii
DAFTAR TABEL ................................................................................................ xiv
BAB I PENDAHULUAN ....................................................................................... 1
1.1 Latar Belakang ......................................................................................... 1
1.2 Perumusan Masalah .................................................................................. 2
1.3 Batasan Masalah ....................................................................................... 3
1.4 Tujuan Penelitian ...................................................................................... 3
1.5 Manfaat Penelitian .................................................................................... 4
1.6 Sistematika Penelitian .............................................................................. 4
BAB II DASAR TEORI ......................................................................................... 6
2.1 Sistem Kontrol .......................................................................................... 6
2.1.1 Definisi Istilah .................................................................................... 6
2.1.2 Kontrol PID ...................................................................................... 10
2.2 Mikrokontroler ....................................................................................... 18
xi
2.2.1 Arduino Mega 2560 ......................................................................... 20
2.3 Driver H-Brigde Mosfet ......................................................................... 22
2.4 Sensor HC-SR04 .................................................................................... 24
2.5 Motor DC 12 Volt .................................................................................. 27
2.6 PWM (Pulse Widht Moudulation) .......................................................... 29
2.7 Data Logger ............................................................................................ 32
BAB III METODE PENELITIAN........................................................................ 34
3.1 Waktu dan Tempat Penelitian ................................................................. 34
3.2 Alat dan Bahan ........................................................................................ 34
3.3 Tahapan Penelitian .................................................................................. 36
3.4 Perancangan dan Pembuatan Alat ........................................................... 36
3.4.1 Perancangan Perangkat Keras (Hardware) ...................................... 37
3.4.2 Perancangan Perangkat Lunak (Software) ....................................... 44
3.4.3 Desain Kontrol ................................................................................. 46
3.4.4 Tahapan Pengambilan Data ............................................................. 47
BAB IV HASIL DAN PEMBAHASAN .............................................................. 48
4.1 Hasil Rancang Bangun Mikrokontoler dan Sensor Ultrasonik pada Robot 48
4.2 Karakterisasi Sensor HC-SR04 dan Kalibrasi Motor DC 12 Volt ............ 50
4.1.1. Hasil Karakterisasi Sensor HC-SR04 ............................................. 50
4.1.2. Hasil Kalibrasi Motor DC 12 Volt ................................................... 53
xii
4.3 Analisis Respon Sistem Ketika Robot Bergerak Dengan Variasi Kontrol
Proporsional Bernilai 1 – 7 ................................................................................ 56
4.4 Analisis Respon Sistem Kontrol PID Ketika Robot Bergerak Untuk Variasi
Beban 0, 0.25 dan 0.5 Kg ................................................................................. 65
BAB V KESIMPULAN DAN SARAN ................................................................ 69
5.1 Kesimpulan ............................................................................................... 69
5.2 Saran ......................................................................................................... 70
DAFTAR PUSTAKA ........................................................................................... 71
LAMPIRAN .......................................................................................................... 73
xiii
DAFTAR GAMBAR
Gambar 2.1 Sistem Kontrol Secara Lengkap ................................................................ 8
Gambar 2.2 Kurva Respon Unit Step ............................................................................ 9
Gambar 2.3 Blok diagram kontrol PID ....................................................................... 10
Gambar 2.4 Arduino Mega ......................................................................................... 19
Gambar 2.5 Board Driver H-Bridge Mosfet .............................................................. 22
Gambar 2.6 Skematik Driver Motor Mosfet (1) ......................................................... 22
Gambar 2.7 Skematik Driver Motor Mosfet (2) ......................................................... 23
Gambar 2.8 Skematik Driver Motor Mosfet (2) ......................................................... 24
Gambar 2.9 Sensor HC-SR04 ..................................................................................... 25
Gambar 2.10 Skematik Sederhana Motor DC............................................................. 28
Gambar 2.11 Cara Kerja PWM ................................................................................... 29
Gambar 2.12 SD card ATmega Data Logger .............................................................. 32
Gambar 3.1 Diagram Alir Tahapan Penelitian ............................................................ 36
Gambar 3.2 Diagram Block Perancangan Hardware ................................................. 37
Gambar 3.3 Desain Mekanik Lantai .......................................................................... 40
Gambar 3.4 Integrasi Hardware ................................................................................. 42
Gambar 3.5 Diagram Alir Program Utama Mikrokontroler ....................................... 45
Gambar 3.6 Diagram Block Sistem Kontrol ............................................................... 46
Gambar 3.7 Desain Sistem Keseluruhan ..................................................................... 47
Gambar 4.1 Sistem Robot Wall Follower tampak atas ............................................... 49
Gambar 4.2 Sistem Robot Wall Follower tampak depan ............................................ 49
Gambar 4.3 Sistem Robot Wall Follower tampak samping ........................................ 50
xiv
Gambar 4.4 Proses Karakterisasi Sensor HC-SR04 .................................................... 51
Gambar 4.5 Grafik Karakterisasi Sensor Depan ......................................................... 52
Gambar 4.6 Grafik Karakterisasi Sensor Kanan ......................................................... 52
Gambar 4.7 Grafik Karakterisasi Sensor Kiri ............................................................. 52
Gambar 4.8 Proses Kalibrasi Motor DC ..................................................................... 54
Gambar 4.9 Grafik Kalibrasi Motor Kanan dan Kiri .................................................. 55
Gambar 4.10 Grafik Respon Sistem Ketika Kp = 1 .................................................... 57
Gambar 4.11 Grafik Respon Sistem Ketika Kp = 2 .................................................... 57
Gambar 4.12 Grafik Respon Sistem Ketika Kp = 3 .................................................... 58
Gambar 4.13 Grafik Respon Sistem Ketika Kp = 4 .................................................... 59
Gambar 4.14 Grafik Respon Sistem Ketika Kp = 5 .................................................... 60
Gambar 4.15 Grafik Respon Sistem Ketika Kp = 6 .................................................... 61
Gambar 4.16 Grafik Respon Sistem Ketika Kp = 7 .................................................... 62
Gambar 4.17 Grafik Perbandingan Parameter Respon Sistem Terhadap Kp ............. 63
Gambar 4.18 Grafik Respon Sistem PID .................................................................... 65
Gambar 4.19 Grafik Respon PID dengan Beban 0.25 kg ........................................... 66
Gambar 4.20 Grafik Respon PID dengan Beban 0.5 kg ............................................. 67
Gambar 4.21 Grafik Perbandingan Respon Sistem..................................................... 68
xv
DAFTAR TABEL
Tabel 2.1 Spesifikasi Arduino Mega ........................................................................... 20
Tabel 2.2 Spesifikasi Sensor HC-SR04 ...................................................................... 26
Tabel 3.1 Alat dan Bahan Penelitian ........................................................................... 34
Tabel 4.1 Ketentuan Metode Zigler Nichols (Standart PID Tunning Methode) ........ 64
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Pada saat ini pesatnya perkembangan ilmu dan teknologi di bidang
robotika mengalami tahap yang sangat signifikan. Hal ini dirasakan dalam
berbagai aspek kehidupan masyarakat, terutama di bidang elektronika serta
rekayasa teknologi baik hardware maupun software. Perkembangan teknologi
robotika yang sangat pesat salah satunya terletak pada sistem kendali otomatis.
Salah satu sistem kendali yang banyak digunakan saat ini adalah pengontrolan
PID (Proportional Integral Derivative). Kendali PID merupakan kombinasi dari
ketiga macam metode kendali, yaitu pengendalian proporsional (Proportional
Controller), pengendalian integral (Integral Controller) dan pengendalian
diferensial (Derivative Controller). Ketiga parameter P, I, dan D tersebut masing-
masing memiliki aksi berbeda terhadap respon sistem dan dipengaruhi oleh
konstanta-konstanta pengendalinya (Kp, Ki dan Kd).
Robot wall follower (penelusur dinding). Robot ini termasuk jenis robot
beroda yang memiliki sensor untuk mendeteksi suatu dinding tertentu kemudian
bergerak menelusuri dinding tersebut, dengan demikian robot wall follower harus
dapat memahami dengan baik keberadaan lingkungan tempat robot bearada dan
harus memberikan respon terhadap keberadaan lingkungannya dengan baik.
Adapun bentuk respon yang akan dibangun terhadap lingkungannya adalah berupa
2
gerak lurus, belok kiri, atau belok kanan dengan lingkungan yang dimaksud
adalah keberadaan objek (dalam hal ini dinding) yang terdeteksi oleh sensor yang
dipasang pada robot.
Penelitian tugas akhir yang berjudul desain dan implementasi kontrol PID
pada robot wall follower memfokuskan pada bagaimana cara pembuatan robot
wall follower, merancang kontrol PID terhadap robot, melakukan tunning
parameter kp, ki, dan kd serta dapat membawa barang dalam skala yang ringan.
Dengan kontrol PID diharapkan robot dapat berjalan lancar dalam kinerjanya.
Dengan menggunakan kontrol PID
1.2 Perumusan Masalah
Berdasarkan latar belakang masalah diatas maka dalam penelitian Tugas
Akhir ini dapat dirumuskan sebagai berikut:
1. Bagaimana mengaplikasikan sensor ultrasonik dan motor dc 12 volt
pada robot wall follower?
2. Bagaimana pengaplikasian kontrol PID pada robot wall follower?
3. Bagaimana parameter respon sistem ketika robot bergerak
menggunakan kontrol PID ketika tanpa diberikan beban dan ketika
diberikan beban?
4. Bagaimana cara membuat robot wall follower yang mampu berjalan
lancar dan membawa beban?
3
1.3 Batasan Masalah
Batasan masalah dalam penelitian ini adalah sebagai berikut:
1. Sistem kendali yang digunakan adalah kontrol PID (Proportional
Integral Derivative).
2. Penelitian ini memfokuskan untuk menetukan dan menganalisis
parameter – parameter sinyal respon yang dihasilkan oleh sistem
kendali kontol PID (Proportional Integral Derivative).
3. Robot ini hanya dapat membawa barang yang bersekala ringan dengan
beban maksimal 0.5 Kg.
4. Prosessor yang digunakan adalah mikrokontroler 8 bit.
5. Driver motor yang digunakan adalah motor DC 12 Volt.
1.4 Tujuan Penelitian
Adapun tujuan yang ingin dicapai penulis dalam pembuatan tugas akhir ini
adalah sebagai berikut :
1. Merancang dan membangun robot wall follower berbasis
mikrokontroler dan sensor ultrasonik HC-SR04.
2. Mengkarakterisasi sensor ultrasonik HC-SR04 dan mengkalibrasi kerja
motor DC 12 Volt.
3. Menganalisis parameter respon sistem ketika robot bergerak dengan
variasi kontrol proporsional dengan nilai 1-7 untuk mendapatkan
parameter kontrol PID (Kp Ki dan Kd).
4
4. Menganalisis respon sistem kontrol PID untuk variasi beban 0, 0.25,
dan 0.5 Kg.
1.5 Manfaat Penelitian
Manfaat dari penelitian ini adalah pengaplikasian kontrol PID pada robot
wall follower yang dapat membawa suatu benda atau barang dalam skala yang
ringan. Hasil dari penelitian ini dapat digunakan sebagai model dalam bidang
perindustrian dan kehidupan sehari hari yang mampu menghemat tenaga manusia.
1.6 Sistematika Penulisan
Penulisan penelitian ini dibuat sesuai dengan urutan bab serta isinya yang
secara umum diuraikan sebagai berikut:
BAB I PENDAHULUAN
Pada bab ini berisi tentang latar belakang, perumusan masalah, batasan
masalah, tujuan penelitian, manfaat penelitian, dan sistematika penulisan.
BAB II DASAR TEORI
Bab ini menjelaskan tentang teori dasar yang menunjang penelitian yang
dilakukan. Dasar teori akan menjelaskan mengenai sistem kontrol,
mikrokontroler, driver H-Bridge Mosfet, sensor ultrasonik, motor DC 12 Volt,
dan PWM.
5
BAB III METODE PENELITIAN
Pada bab ini dijelaskan mengenai tempat dan waktu penelitian, peralatan
dan bahan, tahapan penelitian, cara kerja, dan perancangan robot wall follower
dengan kontorl PID beserta hardware dan software
BAB IV HASIL DAN PEBAHASAN
Pada bab ini akan dijelaskan mengenai cara kerja alat untuk menunjukan
hasil dari perancangan sistem. Pengujian akhir yang dilakukan dengan
menghubungkan seluruh komponen-komponen dari sistem.
6
BAB II
DASAR TEORI
2.1. Sistem Kontrol
Sistem kontrol atau sistem kendali adalah proses pengaturan ataupun
pengendalian terhadap satu atau beberapa besaran (variabel, parameter) sehingga
berada pada suatu harga atau dalam suatu rangkuman harga (range) tertentu. Di
dalam dunia robotika, dituntut suatu proses yang menghasilkan hasil (output)
yang cepat, tepat dan efisien. Oleh karena itu data yang diperoleh memiliki
kualitas yang dapat dipertanggung jawabkan terutama pemanfaatan teknologi
robotika pada bidang instrumentasi. Sehingga pada dunia robotika dibutuhkan
hasil yang akurat sehingga data yang diperoleh bisa digunakan sebagai tolak ukur
atau pertimbangan sebelum ditindak lanjuti, sehingga ada parameter yang harus
dikontrol atau dikendalikan. [1]
2.1.1. Definisi Istilah
Berikut merupakan beberapa definisi istilah yang dipakai pada
sistem kontrol :
a. Sistem (system) adalah kombinasi dari komponen-komponen
yang bekerja bersama-sama membentuk suatu obyek tertentu.
b. Variabel terkontrol (controlled variable) adalah suatu besaran
(quantity) atau kondisi (condition) yang terukur dan terkontrol.
Pada keadaan normal merupakan keluaran dari sistem.
7
c. Variabel termanipulasi (manipulated variable) adalah suatu
besaran atau kondisi yang divariasi oleh kontroler sehingga
mempengaruhi nilai dari variabel terkontrol.
d. Kontrol (control) – mengatur, artinya mengukur nilai dari
variabel terkontrol dari sistem, mengaplikasikan variabel
termanipulasi pada sistem untuk mengoreksi atau mengurangi
deviasi yang terjadi terhadap nilai keluaran yang dituju.
e. Plant (Plant) adalah sesuatu obyek fisik yang dikontrol.
f. Proses (process) adalah sesuatu operasi yang dikontrol.
Contoh : proses kimia, proses ekonomi, proses biologi, dll.
g. Gangguan (disturbance) adalah sinyal yang mempengaruhi
terhadap nilai keluaran sistem.
h. Kontrol umpan balik (feedback control) adalah operasi untuk
mengurangi perbedaan antara keluaran sistem dengan referensi
masukan.
i. Kontroler (controller) adalah suatu alat atau cara untuk
modifikasi sehingga karakteristik sistem dinamik (dynamic
system) yang dihasilkan sesuai dengan yang kita kehendaki.
j. Sensor adalah peralatan yang digunakan untuk mengukur
keluaran sistem dan menyetarakannya dengan sinyal masukan
sehingga bisa dilakukan suatu operasi hitung antara keluaran
dan masukan.
8
k. Aksi kontrol (control action) adalah besaran atau nilai yang
dihasilkan oleh perhitungan kontroler untuk diberikan pada
plant (pada kondisi normal merupakan variabel termanipulasi).
l. Aktuator (actuator), adalah suatu peralatan atau kumpulan
komponen yang menggerakkan plant. [2]
Gambar 2.1 Sistem Kontrol Secara Lengkap
Karakteristik performasi kontrol dinyatakan dalam domain waktu,
karena memiliki respon transien dan respon untuk tunak terhadap masukan
unit step. Respon transien menyatakan kondisi dari inisialisasi sampai
mencapai kondisi mendekati tunak atau berada tepat pada titik referensi.
Sedangkan respon tunak menyatakan kondisi saat respon sistem sesuai
dengan referensi yang diharapkan. Dalam respon tunak terdapat kondisi
respon sistem tidak tepat pada titik referensi akan tetapi keadaan ini masih
dapat toleransi. Keadaan ini disebut error steady-state.
9
Gambar 2.2 Kurva Respon Unit Step
Gambar 2.2 adalah kurva respon unit step yang berfungsi untuk
mengetahui parameter dan karakteristik dari respon pengontrolan. Respon
transien dalam sistem kontrol praktis sering menunjukan osilasi terendam
sebelum mencapai keadaan stabil. Berikut adalah parameter karakteristik
respon transien terhadap masukan unit step:
1. Rise time (Tr) adalah waktu yang diperlukan respon
untuk naik dari 10% sampai 90%, 5% sampai 95% atau
0% sampai 100% dari nilai akhirnya.
2. Max time (Tmax) adalah waktu yang diperlukan respon
untuk mencapai puncak pertama kali.
3. Maximum overshoot adalah presentase nilai puncak
maksimum dari kurva respon.
4. Settling time (Ts) adalah waktu yang diperlukan kurva
respon untuk mencapai dan menetap dalam daerah di
sekitar harga akhir yang ukurannya ditentukan dengan
11
Dimana :
u(t) : Output.
Kd : Kontrol diferensial.
MV(t) : Manipulated Variable.
e : Error = SP – PV.
Kp : Kontrol proporsional.
t : waktu atau waktu sesaat.
Ki : Kontrol integral.
: variabel integral, mengambil nilai dari waktu 0 ke t
saat ini.
B. Kontrol Proporsional (Kp)
Kp merupakan gain (penguat) tanpa memberi efek dinamik
pada kinerja kontroler, tanggapan proporsional dapat disesuaikan
dengan mengalikan kesalahan (error) dengan konstanta Kp.
Sehingga dapat dituliskan sebagai berikut:
...............................................(2.2)
Kontrol Proporsional pada sistem memiliki beberapa
karakteristik sebagai berikut:
12
1. Menambah atau mengurangi kestabilan.
2. Dapat memperbaiki respon transien khususnya : rise time
dan settling time.
3. Mengurangi (bukan menghilangkan) error steady state. [3]
Kontroler proporsional memberi pengaruh langsung
(sebanding) pada error semakin besar error, maka semakin besar
sinyal kendali yang dihasilkan kontroler. [2]
C. Kontrol Integral (Ki)
Konstribusi kontrol integral pada suatu sistem sebanding
dengan besarnya error, durasi atau waktu error. Integral dalam
kontrol PID merupakan penjumlahan dari error dari waktu kewaktu
dan memberikan akumulasi offset yang harus diperbaiki.
Akumulasi error kemudian dikalikan dengan gain integral (Ki) dan
ditambahkan kedalam output kontroler. Persamaan kontrol integral
dapat dituliskan:
...................................(2.3)
Ketika digunakan, kontroler integral mempunyai beberapa
karakteristik berikut:
1. Keluaran kontroler membutuhkan selang waktu tertentu,
sehingga kontroler integral cenderung memperlambat respon.
13
2. Ketika sinyal kesalahan berharga nol, keluaran kontroler akan
bertahan pada nilai sebelumnya.
3. Jika sinyal kesalahan tidak berharga nol, keluaran akan
menunjukkan kenaikan atau penurunan yang dipengaruhi
oleh besarnya sinyal kesalahan dan nilai Ki.
4. Konstanta integral Ki yang berharga besar akan mempercepat
hilangnya offset. Tetapi semakin besar nilai konstanta Ki akan
mengakibatkan peningkatan osilasi dari sinyal keluaran
kontroler.
D. Kontrol Diferensial (Kd)
Perubahan yang mendadak pada masukan kontroler, akan
mengakibatkan perubahan yang sangat besar dan cepat. Sifat dari
kontrol diferensial adalah dalam konteks kecepatan respon dari
error, karenanya bisa memperbaiki respon transien dengan
memprediksi error yang akan terjadi, persamaan kontrol
diferensial dapat dituliskan sebagai berikut:
.............................................(2.4)
Karakteristik kontroler diferensial adalah sebagai berikut:
1. Kontroler ini tidak dapat menghasilkan keluaran bila
tidak ada perubahan pada masukannya (berupa sinyal
kesalahan).
14
2. Jika sinyal kesalahan berubah terhadap waktu, maka
keluaran yang dihasilkan kontroler tergantung pada
nilai laju perubahan sinyal kesalahan.
3. Kontroler diferensial mempunyai suatu karakter untuk
mendahului, sehingga kontroler ini dapat menghasilkan
koreksi yang signifikan sebelum pembangkit kesalahan
menjadi sangat besar. Jadi kontroler diferensial dapat
mengantisipasi pembangkit kesalahan, memberikan
aksi yang bersifat korektif, dan cenderung
meningkatkan stabilitas sistem. [4]
Berdasarkan karakteristik kontroler tersebut, kontroler
diferensial umumnya dipakai untuk mempercepat respon awal
suatu sistem, tetapi tidak memperkecil kesalahan pada keadaan
tunaknya. Kerja kontrolller diferensial hanyalah efektif pada
lingkup yang sempit, yaitu pada periode peralihan. Oleh sebab itu,
kontroler diferensial tidak pernah digunakan tanpa ada kontroler
lain sebuah sistem. [3]
E. Kontroler PID
Setiap kekurangan dan kelebihan dari masing-masing
kontroler P, I dan D dapat saling menutupi dengan menggabungkan
ketiganya secara paralel menjadi kontroler proposional plus
integral plus diferensial (kontroller PID). Elemen-elemen
15
kontroller P, I dan D masing-masing secara keseluruhan bertujuan
untuk mempercepat reaksi sebuah sistem,
menghilangkan offset dan menghasilkan perubahan awal yang
besar. Persamaan kontrol PID sendiri ditunjukan pada persamaan
(2.2). [2]
F. Kontrol PID Digital
Pada awalnya kontrol PID umumnya diimplementasikan
dengan menggunakan rangkaian elektronika analog.
Bahkan banyak diantaranya direalisasikan dalam komponen
mekanis dan pneumatis murni. [3]
Seiring dengan berkembangnya dunia digital (terutama
mikroprosessor dan mikrokontroler) maka algoritma kontrol PID
dapat direalisasikan ke dalam bentuk persamaan PID digital. Yang
jika diimplementasikan hanya berupa sebuah program saja yang
ditanamkan ke dalam embedded system (mikroprosessor atau
mikrokontroler).
Pada persamaan-persamaan diatas (persamaan (2)-(5)) diatas
merupakan persamaan dalam kawasan waktu kontinue (analog).
Sedangkan agar persamaan-persamaan tersebut dapat direalisasikan
dalam pemograman, maka persamaan dalam kawasan waktu
kontinue tersebut harus didiskretisasi terlebih dahulu (kawasan
16
digital). Berikut merupakan diskretisasi menggunakan metode
numerik mundur (backward rectangular). [2]
1. Kontrol Proporsional
Jika dari persamaan (3) didiskretisai maka akan menjadi:
....................................(2.5)
2. Kontrol Integral
Jika dari persamaan (4) didiskretisai maka akan menjadi:
Tc= waktu sampling atau waktu cuplik (Sampling time).
“Integral ( ∫ ) adalah suatu operator matemamtis dalam
kawasan kontinyu jika didiskretisasi maka akan menjadi
sigma (∑), yang merupakan operator matematis dalam
kawasan diskret. Dimana fungi dari operator sigma adalah
menjumlahkan nilai ke i sampai dengan nilai ke k.
Berdasarkan perhitungan diatas variabel error (e) yang di
integralkan sehingga dalam kawasan diskret menjadi
e(0)+e(1)+…+e(k-1)+e(k), atau dengan kata lain error yang
sebelumnya dijumlahkan dengan error-error yang
sebelumnya hingga error yang sekarang”. [4]
17
3. Kontrol Derivatif
Jika dari persamaan (5) didiskretisai dengan
menggunakan cara yang sama seperti kontrol integral maka
akan menjadi:
...........................(2.7)
Tc= waktu sampling atau waktu cuplik (Sampling time)
“Derivatif (de/dt) adalah suatu operator matemamis dalam
kawasan kontinyu jika didiskretisasi maka akan menjadi
limit, yang merupakan operator matematis dalam kawasan
diskret. Dimana fungi dari operator limit adalah mengurangi
nilai ke k dengan nilai ke k-1. Berdasarkan perhitungan diatas
variabel error (e) yang di derivatifkan, atau dengan kata
lain error yang sekarang dikurangi error yang
sebelumnya”.
Waktu sampling adalah lamanya waktu yang
digunakan untuk mencuplik atau mensampling nilai dari
sensor. Nilai dari sensor ini berguna untuk mendapatkan
sinyal error (error(e)=set point-nilai sensor). Dimana waktu
sampling ini sangat berpengaruh pada kesensitifan sistem
yang akan dikontrol. [4]
18
2.2 Mikrokontroler
Mikrokontroler adalah sebuah sistem komputer fungsional dalam sebuah
chip didalamnya 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 di dalam chip yang digunakan untuk
mengontrol peralatan elektronik, yang menekankan efisiensi dan efektifitas biaya.
Secara harfiahnya bisa disebut “pengendali kecil” merupakan 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. Mikrokonktroler digunakan
dalam produk dan alat yang dikendalikan secara automatis, seperti sistem kontrol
mesin, remote kontrol, mesin kantor, peralatan rumah tangga, alat berat, dan
mainan.
Agar sebuah mikrokontroler dapat berfungsi, maka mikrokontroler
tersebut memerlukan komponen eksternal yang kemudian disebut dengan sistem
minimum. Untuk membuat sistem minimal paling tidak dibutuhkan sistem clock
dan reset, walaupun pada beberapa mikrokontroler sudah menyediakan sistem
clock internal, sehingga tanpa rangkaian eksternal pun mikrokontroler sudah
beroperasi.
20
Arduino Mega 2560 adalah board Arduino yang merupakan
perbaikan dari board Arduino Mega sebelumnya. Arduino Mega
awalnya memakai chip ATmega1280 dan kemudian diganti dengan
chip ATmega2560, oleh karena itu namanya diganti menjadi Arduino
Mega 2560. Pada saat tulisan ini dibuat, Arduino Mega 2560 sudah
sampai pada revisinya yang ketiga (R3). Berikut spesifikasi Arduino
Mega 2560 R3.
Tabel 2.1 Spesifikasi Arduino Mega
Microcontroller ATmega2560
Operating Voltage 5V
Input Voltage (recommended) 7-12V
Input Voltage (limits) 6-20V
Digital I/O Pins 54 (of which 15 provide
PWM output)
Analog Input Pins 16
DC Current per I/O Pin 40 mA
DC Current for 3.3V Pin 50 mA
Flash Memory 256 KB of which 8 KB
used by bootloader
SRAM 8 KB
EEPROM 4 KB
Clock Speed 16 MHz
Arduino mega 2560 adalah papan mikrokontroler ATmega2560
berdasarkan datasheet memiliki 54 digital pin input / output (dimana 15
dapat digunakan sebagai output PWM), 16 analog input, 4 UART
21
(hardware port serial), osilator kristal 16 MHz, koneksi USB, jack
listrik, header ICSP, dan tombol reset. Ini berisi semua yang diperlukan
untuk mendukung mikrokontroler, hanya menghubungkannya ke
komputer dengan kabel USB atau power dengan adaptor AC-DC atau
baterai.
Arduino Mega 2560 berbeda dari semua board sebelumnya, tidak
menggunakan chip driver FTDI USB-to-serial. Sebaliknya, fitur
ATmega16U2 (ATmega8U2 dalam revisi 1 dan revisi 2 papan)
diprogram sebagai konverter USB-to-serial.
Revisi 2 dewan Mega2560 memiliki resistor menarik garis 8U2
HWB ke tanah, sehingga lebih mudah untuk dimasukkan ke dalam
mode DFU. Revisi 3 dari dewan memiliki fitur-fitur baru berikut:
1. 1,0 pin out: menambahkan SDA dan pin SCL yang dekat
dengan pin AREF dan dua pin baru lainnya ditempatkan
dekat dengan pin RESET, yang IOREF yang
memungkinkan perisai untuk beradaptasi dengan tegangan
yang tersedia dari papan. Di masa depan, perisai akan
kompatibel baik dengan dewan yang menggunakan AVR
yang beroperasi dengan 5V dan dengan Arduino Due yang
beroperasi dengan 3.3V. Yang kedua adalah pin tidak
terhubung, yang disediakan untuk tujuan masa depan.
2. Stronger RESET sirkuit.
22
3. Atmega 16U2 menggantikan 8U2. [6]
2.3 Driver H-Brigde Mosfet
H-bridge adalah sebuah perangkat keras berupa rangkaian yang berfungsi
untuk menggerakan motor. Rangkaian ini diberinama H-bridge karena bentuk
rangkaiannya yang menyerupai huruf H. Rangkaian ini terdiri dari dua buah
Mosfet kanal P dan dua buah Mosfet kanal N. Prinsip kerja dari rangkaian ini
adalah mengatur mati-hidupnya keempat Mosfet tersebut.
Gambar 2.5 Board Driver H-Bridge Mosfet
Pada dasarnya rangkaian H-Bridge merupakan rangkaian saklar sederhana seperti
di bawah ini.
Gambar 2.6 Skematik Driver Motor Mosfet (1)
23
Gambar diatas merupakan bentuk sederhana dari prinsip H-Bridge driver motor.
Dapat dilihat pada gambar diatas terdapat empat buah switch yang berfungsi untuk
mengontrol arah putaran dari motor.
Gambar 2.7 Skematik Driver Motor Mosfet (2)
Perhatikan gambar di atas ini, pada saat SW1 dan SW4 ditekan secara bersamaan,
maka arah aliran arus akan mengalir dari positif ke ground melewati motor
dimana terminal bagian kiri motor mendapatkan tegangan positif dan bagian
kanan motor mendapatkan ground. Hal ini akan membuat motor berputar searah
jarum jam (dapat dilihat pada gambar kecepatan motor +66.0). Selanjutnya
perhatikan gambar satu lagi di bawah ini,
24
Gambar 2.8 Skematik Driver Motor Mosfet (3)
Pada gambar ketiga ini, saklar yang aktif adalah SW2 dan SW3. Hal ini
juga dapat membuat arus mengalir dari positif ke ground. Namun berbeda dari
gambar 2, pada gambar ketiga ini terminal motor pada sebelah kiri mendapatkan
ground sedangkan terminal motor sebelah kanan mendapatkan tegangan positif.
Hal ini berlawanan dengan kondisi pada gambar 2, sehingga arah putaran motor
menjadi berbalik dari arah sebelumnya menjadi berlawanan arah jarum jam. Hal
ini dapat dilihat pada gambar, dimana tertulis kecepatan adalah -54.7 (nilai minus
berarti arah putarannya terbalik). Rangkaian H-Bridge sederhana diatas sudah
dapat digunakan untuk mengontrol arah putaran motor DC, kita dapat mengganti
saklar tersebut dengan saklar elektronik (relay atau transistor). Dengan
menggunakan relay atau transistor dapat mengontrol on/off dari saklar elektronik
melalui mikrokontroler atau mikroprosesor. [7]
2.4 Sensor HC-SR04
Sensor HC-SR04 adalah sensor pengukur jarak berbasis gelombang
ultrasonik. Sensor ini adalah tranceiver, didalam sensornya terdapat dua bagian
25
yaitu receiver dan transmitter yang mempunyai fungsi sebagai penghasil
gelombang dan penerima gelombang. Prinsip kerja sesnsor ini mirip dengan radar
ultrasonik. Gelombang ultrasonik dipancarkan kemudian diterimabalik oleh
receiver ultrasonik. Jarak antara waktu pancar dan waktu terima adalah
representasi dari jarak objek. Sensor ini cocok untuk aplikasi elektronik yang
memerlukan deteksi jarak termasuk untuk sensor pada robot.
Gambar 2.9 Sensor HC-SR04
Sensor ultrasonic HC-SR04 yang mempunyai 4 pin. satu pin VCC sebagai
pin masukan tegangan dan diimbangi pin GND untuk grounding, sedangkan dari
pin sisanya adalah trigger dan echo pin yang akan mempengaruhi gelombang
ultrasonik itu sendiri. Untuk menghubungkan sensor ultrasonik cukup
menghubungkan pin VCC dan GND ke +5 V dan GND arduino serta pin trigger
dan echo terhubung dengan pin digital arduino.
Gelombang ultrasonik adalah gelombang dengan besar frekuensi diatas
frekuensi gelombang suara yaitu lebih dari 20 KHz. Seperti telah disebutkan
bahwa sensor ultrasonik terdiri dari rangkaian pemancar ultrasonik yang disebut
transmitter dan rangkaian penerima ultrasonik yang disebut receiver. Sinyal
ultrasonik yang dibangkitkan akan dipancarkan dari transmitter ultrasonik. Ketika
sinyal mengenai benda penghalang, maka sinyal ini dipantulkan, dan diterima
26
oleh receiver ultrasonik. Sinyal yang diterima oleh rangkaian receiver dikirimkan
ke rangkaian mikrokontroler untuk selanjutnya diolah untuk menghitung jarak
terhadap benda didepannya (bidang pantul).
Sinyal yang dipancarkan tersebut kemudian akan merambat sebagai sinyal
atau gelombang bunyi dengan kecepatan bunyi yang berkisar 340 m/s. Sinyal
tersebut kemudian akan dipantulkan dan akan diterima kembali oleh bagian
penerima Ultrasonik. Setelah sinyal tersebut sampai ke penerima ultrasonik,
kemudian sinyal tersebut akan diproses untuk menghitung jaraknya. Jarak
dihitung berdasarkan rumus
S =
…...........................................(2.8)
Di mana S (cm) adalah jarak antara sensor ultrasonik dengan bidang
pantul, dan t adalah selisih waktu antara pemancaran gelombang ultrasonik
sampai diterima kembali oleh bagian penerima ultrasonik. Berikut spesifikasi
sensor jarak HC-SR04.
Tabel 2.2 Spesifikasi Sensor HC-SR04
Working Voltage 5V(DC)
Static current Less than 2mA
Output signal Electric frequency signal, high level 5V, low
level 0V
Sensor angle Not more than 15 degrees
Detection distance 2cm-450cm.
High precision Up to 0.3cm
27
Input trigger signal 10us TTL impulse
Echo signal Output TTL PWL signal
Pinout 1. VCC
2. Trigger(T)
3. Echo(R)
4. GND
HC-SR04 menembakkan 8 pulsa sinyal ultrasonik yang dimodulasi pada
frekuensi 40KHz. Pulsa sinyal tersebut ditembakkan setelah pin trigger(2) diberi
pulsa logic “1” selama 10 micro second oleh arduino. Sinyal yang ditembakkan
tadi kemudian dipantulkan benda didepannya lalu diterima receiver. Sensor lalu
mengukur waktu tempuh sinyal echo tersebut dan megolahnya menjadi jarak.
Pin echo(3) akan menghasilkan pulsa logic “1” untuk dibaca oleh Arduino.
Lebar pulsa tersebut yaitu 150us sampai dengan 25ms sesuai jarak, dan 38ms jika
tidak ada halangan di depan sensor. Untuk mengkonversikannya ke cm, lebar
pulsa harus dibagi 58, sedangkan untuk mengkonversikannya ke dalam inci, lebar
pulsa dibagi 148. [8]
2.5 Motor DC (Direct Current)
Motor DC adalah motor listrik yang memerlukan suplai tegangan arus
searah pada kumparan medan untuk diubah menjadi energi gerak mekanik.
Kumparan medan pada motor dc disebut stator (bagian yang tidak berputar) dan
kumparan jangkar disebut rotor (bagian yang berputar). Motor arus searah,
sebagaimana namanya, menggunakan arus langsung yang tidak langsung/direct-
28
unidirectional. Motor DC memiliki 3 bagian atau komponen utama untuk dapat
berputar sebagai berikut.
Gambar 2.10 Skematik Sederhana Motor DC
Bagian Atau Komponen Utama Motor DC
1. Kutub medan
Kutub medan berfungsi untuk perputaran motor dc karena
interaksi antara dua kutub magnet yang akan menggerakan
bearing pada ruang kutub medan. Motor DC sederhana memiliki
dua kutub medan kutub utara dan kutub selatan. Garis magnetik
energi membesar melintasi bukaan antara kutub magnet. Untuk
motor yang lebih besar atau lebih komplek terdapat satu atau
lebih elektromagnet.
2. Current Elektromagnet atau Dinamo
Dinamo yang berbentuk silinder, dihubungkan ke as
penggerak untuk menggerakan beban. Untuk kasus motor DC
yang kecil, dinamo berputar dalam medan magnet yang dibentuk
29
oleh kutub-kutub, sampai kutub utara dan selatan magnet
berganti lokasi.
3. Commutator
Komponen ini terutama ditemukan dalam motor DC.
Kegunaannya adalah untuk transmisi arus antara dinamo dan
sumber daya. [9]
2.6. PWM (Pulse Width Moudulation)
Pulse Width Modulation (PWM) secara umum adalah sebuah cara
memanipulasi lebar sinyal yang dinyatakan dengan pulsa dalam satu periode,
untuk mendapatkan tegangan rata-rata yang berbeda. Bebarapa 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.
Gambar 2.11 Cara Kerja PWM
Ttotal = Thigh +Tlow ……………..…. (2.9)
D = (Thigh/ Ttotal) x 100% ................... (2.10)
30
Vout = D x Vin …………………..…… (2.11)
Vout = (Thigh/ Ttotal) x Vin ………..… (2.12)
Keterangan :
Thigh = rentang waktu pulsa high (s)
Tlow = rentang waktu pulsa low (s)
Ttotal = rentang waktu satu perioda (s)
D = duty cycle adalah lamanya pulsa high dalam satu perioda (%)
Vout = tegangan keluaran (Volt)
Vin = tegangan masukan (Volt)
PWM adalah salah satu teknik modulasi dengan mengubah lebar pulsa
(duty cylce) dengan nilai amplitudo dan frekuensi yang tetap. Satu siklus pulsa
merupakan kondisi high kemudian berada di zona transisi ke kondisi low. Lebar
pulsa PWM berbanding lurus dengan amplitudo sinyal asli yang belum
termodulasi. Duty Cycle merupakan representasi dari kondisi logika high dalam
suatu periode sinyal dan di nyatakan dalam bentuk (%) dengan range 0% sampai
100%, sebagai contoh jika sinyal berada dalam kondisi high terus menerus artinya
memiliki duty cycle sebesar 100%. Jika waktu sinyal keadaan high sama dengan
keadaan low maka sinyal mempunyai duty cycle sebesar 50%. Penggunaan PWM
diantaranya:
31
1. PWM sebagai data keluaran suatu perangkat. PWM dapat
digunakan sebagai data dari suatu perangkat, data
direpresentasikan dengan lebar pulsa positif (Tp).
2. PWM sebagai data masukan kendali suatu perangkat. Selain
sebagai data keluaran, PWM pun dapat digunakan sebagai data
masukan sebagai pengendali suatu perangkat. Salah satu
perangkat yang menggunakan data PWM sebagai data
masukannya adalah Motor DC Servo. Motor DC Servo itu sendiri
memiliki dua tipe: 1. Kontinyu, 2. Sudut. Pada tipe 1., PWM
digunakan untuk menentukan arah Motor DC Servo, sedangkan
pada tipe 2., PWM digunakan untuk menentukan posisi sudut
Motor DC Servo.
PWM sebagai pengendali kecepatan Motor DC bersikat. Motor DC
bersikat atau Motor DC yang biasa ditemui di pasaran yang memiliki kutub A dan
kutub B yang jika diberikan beda potensial diantara kedua-nya, maka Motor DC
akan berputar. Pada prinsipnya Motor DC jenis ini akan ada waktu antara saat
beda potensial diantara keduanya dihilangkan dan waktu berhentinya. Prinsip
inilah yang digunakan untuk mengendalikan kecepatan Motor DC jenis ini dengan
PWM, semakin besar lebar pulsa positif dari PWM maka akan semakin cepat
putaran Motor DC. Untuk mendapatkan putaran Motor DC yang halus, maka
perlu dilakukan penyesuaian Frekuensi (Perioda Total) PWM-nya. [10]
32
2.7 Data Logger
Logging data (data logging) adalah proses otomatis pengumpulan dan
perekaman data dari sensor untuk tujuan pengarsipan atau tujuan analisis. Sensor
digunakan untuk mengkonversi besaran fisik menjadi sinyal listrik yang dapat
diukur secara otomatis dan akhirnya dikirimkan ke komputer atau mikroprosesor
untuk pengolahan. Berbagai macam sensor sekarang tersedia. Sebagai contoh,
suhu, intensitas cahaya, tingkat suara, sudut rotasi, posisi, kelembaban relatif, pH,
oksigen terlarut, pulsa (detak jantung), bernapas, kecepatan angin, dan gerak.
Selain itu, banyak peralatan laboratorium dengan output listrik dapat digunakan
bersama dengan konektor yang sesuai dengan data logger.
Gambar 2.12 SD card ATmega Data Logger
Data logger (perekam data) adalah sebuah alat elektronik yang mencatat
data dari waktu ke waktu baik yang terintegrasi dengan sensor dan instrumen
didalamnya maupun ekternal sensor dan instrumen. Atau secara singkat data
logger adalah alat untuk melakukan data logging. Biasanya ukuran fisiknya kecil,
bertenaga baterai, portabel, dan dilengkapi dengan mikroprosesor, memori
internal untuk menyimpan data dan sensor. Beberapa data logger diantarmukakan
33
dengan komputer dan menggunakan software untuk mengaktifkan data
logger dan melihat dan menganalisa data yang terkumpul, sementara yang lain
memiliki peralatan antarmuka sendiri (keypad dan LCD) dan dapat digunakan
sebagai perangkat yang berdiri sendiri (Stand-alone device).
Salah satu keuntungan menggunakan data logger adalah kemampuannya
secara otomatis mengumpulkan data setiap 24 jam. Setelah diaktifkan, data
logger digunakan dan ditinggalkan untuk mengukur dan merekam informasi
selama periode pemantauan. Hal ini memungkinkan untuk mendapatkan
gambaran yang komprehensif tentang kondisi lingkungan yang dipantau,
contohnya seperti suhu udara dan kelembaban relatife. [11]
34
BAB III
METODE PENELITIAN
3.1 Waktu dan Tempat Penelitian
Penelitian mengenai desain dan implementasi kontrol PID pada robot wall
follower dengan dan sistem minimum Arduino Mega serta motor sebagai aktuator
dilaksanakan pada bulan Februari hingga April 2016. Adapun tempat penelitian
dilaksanakan di Pusat Laboraturium Terpadu (PLT) Fisika Instrumentasi
Universitas Islam Negeri (UIN) Jakarta.
3.2 Alat dan Bahan Penelitian
Tabel 3.1 Alat dan Bahan Penelitian
Alat dan Bahan Keterangan
Alat:
1. Personal Computer (PC) atau laptop
2. LCD Shield Arduino
3. Driver H-Bridge Mosfet Shield
Arduino
4. Mikrokontroler ATMega 2560 pada
sistem minimum Arduino Mega
5. Sensor HC-SR04
6. Motor DC 12 Volt
7. Baterai Li-Po Zippy 1000
8. Kabel Serial
9. Gearbox Motor DC 12V
10. Kabel jumper male to male, male to
female, female to female
1 buah
1 buah
1 buah
1 buah
3 buah
2 buah
1 buah
1 buah
1 buah
Secukupnya
35
11. Seperangkat obeng
12. Adaptor 3V – 12V
13. Bor mini
14. Mata bor mini 1 mm
15. Mata bor mini 2 mm
16. Mata bor mini 3 mm
17. Cuter
18. Solder listrik 30W
19. Multimeter
20. Tachometer
21. Tang kecil
22. Alat sedot timah
1 set
1 buah
1 buah
1 buah
1 buah
1 buah
1 buah
1 buah
1 buah
1 buah
1 buah
1 buah
Bahan:
1. Arduino IDE
2. Microsoft Exel
3. Timah
4. Baut spacer 1,5 cm
5. Baut 1 mm, 2 mm, 3 mm
6. Mur 1 mm, 2 mm, 3 mm
7. Akrilik
8. PCB IC
9. Lem UHU
10. Lem Double Tip Hitam
Versi arduino 1.6.7 -r2
Versi microsoft 2010
Secukupnya
4 buah
Secukupnya
Secukupnya
30 x 30 cm
Secukupnya
Secukupnya
Secukupnya
37
mencangkup perancangan mekanik dan perancangan elektronik. Perancangan
software diawali dengan pembuatan diagram alir (flowchart) sistem kontrol,
selanjutnya penulisan program menggunakan compiler bahasa pemograman C
pada software Arduino IDE versi 1.6.7.
3.4.1 Perancangan Perangkat Keras (hardware)
Perancangan hardware dibagi atas perancangan mekanik, dan
integrasi unit mikrokontroler utama, unit sensor, dan unit motor dc.
Perancangan ini bisa dilihat pada diagram blok berikut ini.
Gambar 3.2 Diagram Block Perancangan Hardware
Dari diagram blok diatas terlihat beberapa hardware yang
digunakan untuk perancangan dari robot wall follower. Berikut
merupakan penjelasan dari fungsi masing-masing komponen.
Arduino Mega 2560
Driver H-Bridge Mosfet
LCD Shield Arduino
LCD 16x2
HC-SR04
HC
-SR0
4 HC
-SR
04
Motor Kanan Motor Kiri
Baterai
38
Sensor HC-SR04
Berfungsi sebagai sensor yang akan mengirimkan data
sesuai keadaan fisis yang nantinya akan diolah dan di
respon oleh mikrokontroler.
Mikrokontroler ATMega 2560 pada Arduino Mega
Mengontrol kerja dari masing – masing hardware yang
digunakan, sistem kontrol sendiri menggunakan
kontrol PID.
Driver H-Bridge Mosfet
Alat ini menempel dengan mikrokontroler dimana
memiliki fungsi untuk mengontrol arah putaran motor
DC.
Motor DC
Berfungsi sebagai aktuator bagi penggerak roda yang
dikontrol oleh mikrokontroler.
LCD Shield Arduino
Berfungsi sebagai penghubung antara mikrokontroler
ATMega 2560 pada Arduino Mega dengan LCD 16x2.
LCD 16x2
Berfungsi sebagai menampilkan hasil pengkodingan
sistem dari mikrokontroler.
39
Baterai
Berfungsi sebagai Power Supply, pada sistem
minimum Arduino Mega asupan listrik bisa diambil
langsung memanfaatkan kabel serial yang disediakan
sebesar 12V.
A. Desain Mekanik
Desain mekanik yang baik mendukung pergerakan serta
keseimbangan robot wall follower ini menjadi lebih baik dan
efisien, dalam tahap ini merupakan salah satu langkah yang penting
karena dibutuhkan kecermatan dan ketepatan dalam pembuatannya,
hal ini disebabkan karena rancangan mekanik menentukan bentuk
berikut ukuran yang efesien pada alat yang akan dibuat.
Perancangan mekanik sendiri dimulai dari perancangan design
lantai pertama dan lantai kedua dimana lantai pertama ini akan
menjadi tempat bagi sistem minimum dari Arduino Mega, sensor,
motor, beserta baterai. Serta lantai kedua akan menjadi tempat
untuk meletakan barang yang akan dibawa. Perancangan ini
menggunakan software Corel Draw X4.
41
Kemudian pada sistem minimum dari ATMega 2560 pada
Arduino diletakan di tengah dan baterai diletakan dibelakang hal
ini bertujuan untuk menyeimbangkan beban yang akan diterima
motor ketika robot sedang berjalan. Dan pada bagian belakang
kanan dan kiri diletakan motor untuk menggerakan roda yang akan
menjalankan robot. Untuk menyatukan alat dan bahan pada
rancangan mekanik ini digunakan mur dan baut hal ini
memungkinkan alat dapat di bongkar pasang sesuai kebutuhan
pengguna (User).
Rangkaian dari sistem minimum ATMega 2560 pada Arduino
Mega dan sensor HC-SR04 adalah box kontrol sendiri yang telah
di intregasikan menjadi satu yang kemudian dihungkan ke motor
dan baterai melalui kabel jumper yang telah disiapkan.
42
B. Integrasi Hardware
Tahapan ini merupakan tahap terakhir dalam perancangan
mekanik, dimana pada tahap ini semua hardware di intregasi
sesuai pin yang telah dijelaskan hingga menjadi satu kesatuan dan
dapat melakukan fungsinya masing-masing.
Gambar 3.4 Integrasi Hardware
Dapat diketahui bahwa integrasi hardware satu dengan
hardware lainnya maka akuisisi data dapat diperoleh dari berbagai
alat pada robot wall follower. Pada mikrokontroler ATMega 2560
Echo Trigg
Echo Trigg
Echo Trigg
22 23 24 25 26 27
4
5
6
7 8
9
10
11
M1+
M1-
M2-
M2+
Gnd
Vin
PB1
5 PB2
PB3
PB4 3
2
8
9
1
0
10
11
RS
5 E
D4
D5
D6
D7
2
1
2
1 Gnd
12v
12
13
HC-SR 04 HC-SR 04 HC-SR 04
LCD Shield
Mosfet
LCD
Motor Motor Baterai
Ard
uin
o M
ega
43
yang terdapat pada Arduino Mega terhubung dengan beberapa
hardware yang diperlukan untuk mendapatkan suatu sistem dari
robot ini.
Selanjutnya dapat dilihat dari Gambar 3.4 pada bagian
sensor. Disini sensor HC-SR04 yang digunakan berjumlah 3 buah,
dimana setiap sensor ditempatkan pada posisi yang berbeda-beda.
Sensor HC-SR04 terdapat 2 bagian fungsi, yaitu Echo dan Trigger
yang dihubungkan ke Arduino Mega pada pin 23, pin 25, pin 27
dan pin 22, pin 24, pin 26. Sensor disini berfungsi untuk
mengirimkan data yang diterima kepada Arduino Mega.
Kemudian pin 8, pin 9, pin 10, dan pin 11 pada Driver Mosfet
dihubungkan ke Arduino Mega pada pin 4, pin 5, pin 6, dan pin 7.
Pada pin 4 dan pin 5 yang dihubungkan ke Driver Mosfet bertujuan
untuk memprogram pergerakan motor sebelah kanan dan pada pin
6 dan pin 7 untuk memprogram pergerakan motor yang ada
disebelah kiri. Dan pada M1+ dan M1- pada Driver Mosfet
dihubungkan ke motor sebelah kanan, dan pada M2- dan M2+
dihubungkan ke motor sebelah kiri M1+, M1-, M2-, dan M2+
berfungsi sebagai penggerak atau output yang diterima dari
Arduino Mega untuk menggerakan motor sebelah kanan dan motor
sebelah kiri. Dan pada port Vin dan Gnd dihubungkan ke port 12V
dan Gnd pada Baterai yang berfungsi sebagai pemberi supply arus
44
untuk menggerakan semua sistem yang terjadi pada robot wall
follower.
Kemudian pada LCD Shield terdapat 4 buah button dimana
setiap button dihubunkan ke Arduino Mega melalui pin 2, pin 3,
pin 8, dan pin 9. Button ini berfungsi sebagai penggerak atau
pengubah menu yang nantinya akan ditampilkan pada LCD. Lalu
pada LCD port RS, port E, port D4, port D5, port D6, dan port D7
dihubungkan ke pin 0, pin 1, pin 10, pin 11, pin 12, dan pin 13
pada Arduino Mega. LCD disini berfungsi sebagai tampilan menu-
menu dari program yang telah dibuat pada Arduino Mega.
3.4.2 Perancangan Perangkat Lunak (Software)
Perancangan software merupakan proses pembuatan
program yang akan digunakan untuk mengontrol kerja hardware.
Program ini berperan dalam pengakusisian data dari sensor ke
mikrokontroler, serta menampilkan dan menyimpan hasil
pengukuran. Program yang dibuat menggunakan bahasa
pemograman C dengan software Arduino IDE versi 1.6.7 Pada
program ini memiliki beberapa bagian, diataranya:
a) Bagian Inisialisasi
Bagian ini merupakan penentuan library yang digunakan
dalam program serta inisialisasi variabel yang digunakan.
45
b) Bagian Setup
Bagian ini merupakan listing program yang menentukan
penggunaan pin I/O dan konektifitas sensor.
c) Bagian Program Utama (loop)
Bagian ini merupakan listing progam utama untuk yang
mengontrol hardware sesuai dengan perintah yang diberikan.
Data yang berbentuk integer (nilai) yang didapat oleh
sensor kemudian akan diubah mencadi string (huruf) sehingga
dapat dibaca pada serial monitor. Berikut merupakan diagram alir
pengolahan data yang digunakan pada mikrokontroler
Gambar 3.5 Diagram Alir Program Utama Mikrokontroler
Mulai
Selesai
Inisialisasi Program
Setup
Program Utama
Program LCD Program Sensor Program Motor Program PID
46
Error PWM
Pada program utama sendiri merupakan program kontrol
alat dengan kendali PID, berikut merupakan diagram alir kontrol
PID pada program utama.
3.4.3 Desain Kontrol
Perancangan sistem kontrol pada robot wall follower ini terdiri dari
desain kontrol PID dan tunning PID. Pertama diberikan set point pada
sensor yang berada di samping robot. Ketika sensor mendapatkan nilai
error akan dihitung apakan error tersebut bernilai 0 atau tidak. Bila error
tidak 0 maka error akan dihitung oleh PID kemudian motor akan aktif
dengan nilai PWM yang diberikan PID.
Gambar 3.6 Diagram Block Sistem Kontrol
Lalu motor akan menggerakan robot wall follower dan akan
mengirim kembali ke sensor HC-SR04. Sistem yang dibangun merupakan
close loop dan feedback nilai yang berasal dari sensor HC-SR04. Dapat
dilihat pada Gambar 3.6 diatas.
PID Motor Robot
Wall
Follower
HC-SR04
Set Point Keluaran
47
3.4.4 Tahapan Sistem Pengambilan Data
Gambar 3.7 Tahapan Sistem Pengambilan Data
Apakah
Error =
0?
Ambil data
sensor samping
Hitung Error
Aktifkan Motor
dengan nilai dasar
Ya
Hitung PID
Aktifkan Motor
dengan Nilai PID
Save Data Output
Sistem dengan Data
Logger
Selesai
Mulai
Tidak
48
BAB IV
HASIL DAN PEMBAHASAN
4.1 Hasil Rancang Bangun Mikrokontoler dan Sensor Ultrasonik pada
Robot Wall Follower
Pada tahap awal yang dilakukan pada penelitian ini adalah merancang dan
membangun mikrokontroler dan sensor ultrasonik pada robot wall follower. Perlu
diketahui bahwa dalam pembuatan robot wall follower ini tidak lepas dari
bagaimana cara membangun suatu sistem yang efektif agar dapat berfungsi
dengan baik kinerja dari robot nantinya. Khususnya pada mikrokontroler serta
sensor ultrasonik yang digunakan. Disini mikrokontroler yang digunakan adalah
ATMega 2560 yang terdapat pada board Arduino Mega serta sensor ultasonik
yang digunakan adalah sensor HC-SR04. Dimana sensor HC-SR04 akan
mengirim data hasil pengukuran ke mikrokontroler ATMega 2560 yang terdapat
pada Arduino Mega. Bisa dikatakan bahwa mikrokontroler disini adalah sebagai
otak kerja pada robot wall follower ini. kemudian data yang diterima oleh sensor
mikrokontroler akan dilanjutkan ke driver mosfet yang nantinya akan
menggerakan motor untuk menjalankan robot.
Adapun beberapa tambahan pendukung seperti LCD yang berfungsi
sebagai tampilan dari sistem yang diinginkan pada robot. Seperti susur yang ingin
digunakan, setting Kp, Ki, dan Kd, dan mengatur speed gerak untuk motor.
Kemudian supaya semua sistem dapat beroperasi membutuhkan pasokan listrik,
49
sehingga digunakan baterai dengan arus 12 Volt untuk mensupply pasokan listrik
tersebut.
Gambar 4.1 Sistem Robot Wall Follower tampak atas
Gambar 4.2 Sistem Robot Wall Follower tampak depan
50
Gambar 4.3 Sistem Robot Wall Follower tampak samping
Adapun hasil dari rancang bangun mikrokontroler dan sensor ultrasonik
seperti gambar diatas, dimana bentuk robot terbagi atas 2 bagian yaitu bagian atas
dan bagian bawah. Bagian atas tempat untuk barang yang akan dibawa oleh robot
kemudian bagian bawah merupakan sistem minimum dari mikrokontroler yang
berfungsi sebagai pengatur kinerja robot serta sensor ultrasonik yang berfungsi
sebagai alat penelusur dinding pada robot.
4.2 Karakterisasi Sensor HC-SR04 dan Kalibrasi Motor DC 12 Volt
4.2.1 Hasil Karakterisasi Sensor HC-SR04
Sebelum sensor HC-SR04 dapat digunakan, terlebih dahulu
dilakukan proses pengujian tingkat keakuratan sensor pengukuran jarak
oleh sistem sensor tersebut. Dengan demikian dilakukan proses
karakterisasi sistem sensor HC-SR04. Proses karakterisasi sensor jarak
HC-SR04 dilakukan terhadap nilai jarak yang terdapat pada meteran. Hal
51
ini dilakukan karena ingin membandingkan nilai jarak yang dikeluarkan
oleh sensor terhadap nilai jarak tetap yang berada pada meteran.
Gambar 4.4 Proses Karakterisasi Sensor HC-SR04
Tujuan dari karakterisasi ini adalah ingin mendapatkan nilai yang
lebih akurat pada sensor. Pengambilan data dilakukan dengan cara
mehadapkan setiap sensor ke arah dinding agar mendeteksi pengukuran
jarak sensor pada jarak yang ditentukan terhadap dinding. Jarak yang
ditentukan dimulai dari 20 cm sampai dengan 200 cm dengan interval 10
cm dan diulang sebanyak tiga kali pengambilan data. Maka akan terdapat
60 data jarak yang dikeluarkan oleh setiap sensor HC-SR04. Hasil dari
proses karakterisasi sistem sensor HC-SR04 dapat dilihat pada gambar
dibawah ini.
52
y = 1.0036x - 0.6094 R² = 0.9999
020406080
100120140160180200220
0 20 40 60 80 100 120 140 160 180 200 220
Jara
k Se
nso
r (c
m)
Jarak pada Meteran (cm)
Grafik Hasil Karakterisasi Sensor Depan
Rata-rata JarakSensor
Linear (Rata-rataJarak Sensor)
y = 1.0087x - 0.5336 R² = 0.9999
020406080
100120140160180200220
0 20 40 60 80 100 120 140 160 180 200 220
Jara
k Se
nso
r (c
m)
Jarak pada Meteran (cm)
Grafik Hasil Karakterisasi Sensor Kanan
Rata-rata JarakSensorLinear (Rata-rataJarak Sensor)
Gambar 4.5 Grafik Karakterisasi Sensor Depan
Gambar 4.6 Grafik Karakterisasi Sensor Kanan
Gambar 4.7 Grafik Karakterisasi Sensor Kiri
y = 1.0094x - 0.6718 R² = 0.9999
020406080
100120140160180200220
0 20 40 60 80 100 120 140 160 180 200 220
Jara
k Se
nso
r (cm
)
Jarak pada Meteran (cm)
Grafik Hasil Karakterisasi Sensor Kiri
Rata-rata JarakSensorLinear (Rata-rataJarak Sensor)
53
Dari data kalibrasi hasil yang diperoleh, dapat dilihat bahwa dari
ketiga grafik diatas rata-rata dari ketiga data yang diperoleh oleh sensor
terjadi perbedaan terhadap data jarak meteran. Adapun perbedaan ini
biasanya terjadi karena kualitas dari sensor atau terjadinya gangguan
ketika pengukuran berlangsung. Namun nilai dari data sensor dengan data
jarak dapat diperkecil atau dapat diperdekat dengan menggunakan
persamaan regresi. Dengan menggunakan persamaan regresi dimana
Persamaan ini terdiri dari rata-rata ketiga data yang diperoleh oleh sensor
sebagai (x) dan data jarak pengukuran sebagai (y), oleh karena itu dapat
dihitung dengan persamaan regresi tersebut. Disetiap tabel memiliki
persamaan regresi yang berbeda-beda ini terjadi karena setiap tabel
kalibrasi sensor mempunyai nilai data yang berbeda-beda pula. Dapat
dilihat hasil data perhitungan jarak menggunakan persamaan regresi
mendekati nilai dari data jarak pengukuran. Persamaan regresi dapat
dilihat pada grafik diatas. Persamaan regresi yang didapat ketika kalibrasi
sensor depan adalah y = 1.0036x – 0.6094, pada kalibrasi sensor kanan
adalah y = 1.0087x – 0.5336, pada kalibrasi sensor kiri adalah y = 1.0094x
– 0.6718 dengan nilai R2
= 0.999 yang nantinya persamaan ini akan
dimasukan kedalam program sensor.
4.2.2 Hasil Kalibrasi Motor DC 12 Volt
Kemudian langkah selanjutnya adalah kalibrasi motor dimana
motor adalah bagian aktuator yang terdapat pada robot. Motor disini
berfungsi sebagai penggerak roda kanan dan roda kiri pada robot.
54
Kalibrasi ini bertujuan untuk melihat hasil kinerja motor yang akan
digunakan. Kalibrasi ini dilakukan dengan cara setiap motor kanan dan
motor kiri akan diberikan PWM dimulai dari 50 sampai dengan 225. Nilai
PWM yang diberikan didasarkan dengan kecepatan pengiriman data yang
dapat dilakukan oleh mikrokontroler yang digunakan. Karena
mikrokontroler yang digunakan adalah mikrokontroler berbasis 8 bit, nilai
PWM yang dapat diberikan hanya sampai 225 saja. Disini nilai interval
PWM yang diberikan sebanyak 20. Seperti halnya sensor, perlu
dilakukannya kalibrasi agar mendapatkan nilai yang lebih baik saat motor
digunakan sebagai aktuator pada robot.
Gambar 4.8 Proses Kalibrasi Motor DC
55
y = 1.003x + 7.3217 R² = 0.9999
0100200300400500600700800900
10001100
0 100 200 300 400 500 600 700 800 90010001100
Mo
tor
Kir
i (R
pm
)
Motor Kanan (Rpm)
Grafik Kalibrasi Motor
Kecepatan Motor
Linear (KecepatanMotor)
Berikut adalah data hasil kalibrasi kedua motor yang digunakan yang
tertera pada gambar dibawah ini.
Gambar 4.9 Grafik Kalibrasi Motor Kanan dan Kiri
Dari hasil yang diperoleh melalui proses kalibrasi motor, dapat
dilihat bahwa data kecepatan putar motor kanan lebih besar dibandingkan
dengan data motor kiri ketika diberika PWM yang sama. Namun
perbedaan ini relatif sangat kecil dapat dilihat dari hasil grafiknya nilai R2
= 0.999. Oleh sebab itu digunakanlah teknik pengambilan data dengan
menggunakan persamaan regresi yang bertujuan untuk mendekati nilai
kecepatan putar motor kiri yang tertinggal oleh nilai kecepatan putar motor
kanan ketika diberikan nilai PWM yang sama. Grafik yang menunjukan
data nilai kecepatan putar motor kiri dengan kecepatan putar motor kanan
dapat dilihat diatas dengan persamaan regresinya adalah y = 1.003x +
7.3217 yang nantinya akan diinput kedalam program motor.
56
4.3 Analisis Respon Sistem Ketika Robot Bergerak Dengan Variasi
Kontrol Proporsional Bernilai 1 – 7
Pada tahap ini dilakukan pengujian pada robot dengan memberikan
masukan unit step ketika robot diberikan Kp yang berubah-ubah sampai
menemukan osilasi yang maksimal atau osilasi yang terus menerus sehingga
respon transien tidak mencapai keadaan yang stabil. Adapun parameter
karakteristik respon transien terhadap masukan unit step yang akan dianalisis
ketika robot diberikan Kp yang berubah-ubah adalah Rise time (Tr), Max time
(Tmax) atau Peak time (Tp) dan Settling time (Ts) yang mengacu pada kurva
respon unit step, dimana kurva respon unit step ini berfungsi untuk mengetahui
parameter dan karakteristik dari respon pengontrolan. Pada pengambilan data ini
menggunakan susur kiri pada robot dengan menetapkan set point 12 cm atau saat
jarak keadaan stabil ketika robot sedang bergerak dan PWM yang diberikan pada
motor bernilai 60, karena ketika diberikan nilai PWM yang lebih besar untuk
kecepatan robot akan lebih sulit untuk menganalisis respon sistem yang terjadi
pada robot ketika sedang bergerak menelusuri dinding. Pengambilan data dimulai
dari ½ nilai set point yang telah ditetapkan yaitu 6 cm jadi sensor samping kiri
pada robot ketika sedang berjalan menyusuri dinding akan mengirimkan data hasil
dari respon yang diterima. Panjang lintasan untuk pengambilan data berjarak
ketika robot bergerak menyusuri dinding adalah 3 m. Berikut adalah data respon
sistem yang diambil melalui data logger ketika robot bergerak dan diberikan nilai
Kp yang berubah – ubah.
57
12
16.76
0
2
4
6
8
10
12
14
16
18
20
0
51
8
10
35
15
49
23
29
26
34
31
55
36
69
41
83
47
19
52
34
57
52
62
69
67
86
73
06
76
18
79
23
84
37
87
46
Jara
k (c
m)
Waktu (ms)
Respon Sistem Ketika Kp = 1
Kp 1
11.4
18.8
02468
10121416182022
0
77
7
15
51
23
24
31
00
36
58
44
31
52
11
57
92
65
84
73
67
81
67
85
17
92
96
79
08
84
73
90
37
Jara
k (c
m)
Waktu (ms)
Respon Sistem Ketika Kp = 2
Kp 2
Gambar 4.10 Grafik Respon Sistem Ketika Kp = 1
Dapat dilihat dari Gambar 4.10 adalah grafik kurva jarak terhadap waktu
dimana nilai Kp yang diberikan adalah 1 terdapat Rise time (Tr) pada waktu 1035
ms dengan nilai jaraknya adalah 12 cm dan Peak time (Tp) terjadi pada waktu
2071 ms dengan nilai jaraknya 16.76 cm, pada data ketika Kp bernilai 1 ini tidak
memiliki nilai Settling time (Ts) disebabkan terjadinya osilasi yang terus menerus.
Gambar 4.11 Grafik Respon Sistem Ketika Kp = 2
58
Kemudian pada Gambar 4.11 adalah grafik kurva jarak terhadap waktu
dimana nilai Kp adalah 2. Pada grafik ini terdapat Rise time (Tr) terjadi pada
waktu 777 ms dengan jarak pada sensor 11.4 cm dan Peak time (Tp) terjadi pada
waktu 2065 ms dengan jarak pada sensor 18.8 cm, grafik data ketika Kp bernilai 2
ini pun tidak memiliki nilai Settling time (Ts) disebabkan karena masih terjadi
osilasi ketika robot bergerak menyusuri dinding hingga batas jarak uji coba
pengambilan data.
Gambar 4.12 Grafik Respon Sistem Ketika Kp = 3
Pada Gambar 4.12 adalah grafik kurva jarak terhadap waktu dimana nilai
Kp adalah 3. Pada grafik ini Rise time (Tr) terjadi pada waktu 516 ms ketika jarak
yang diterima sensor 10.74 cm dan Peak time (Tp) terjadi pada waktu 1815 ms
ketika jarak yang diterima sensor 18.93, grafik pada Kp bernilai 3 pun tidak
memiliki nilai Settling time (Ts) karena masih terjadi osilasi ketika robot bergerak
menyusuri dinding hingga batas jarak uji coba pengambilan data.
10.74
18.93
02
4
68
10
12
1416
18
20
0
78
4
15
58
23
30
28
87
34
43
42
16
49
91
57
66
65
37
73
08
80
85
86
46
92
17
89
10
Jara
k (c
m)
Waktu (ms)
Respon Sistem Ketika Kp = 3
Kp 3
59
Gambar 4.13 Grafik Respon Sistem Ketika Kp = 4
Selanjutnya pada Gambar 4.13 adalah grafik kurva jarak terhadap waktu
dimana nilai Kp yang diberikan adalah 4, pada grafik ini Rise time (Tr) terjadi
pada waktu 512 ms dengan jarak yang diterima sensor 11.37 cm dan tedapat nilai
Peak time (Tp) terjadi pada waktu 1024 ms dengan jarak yang diterima sensor
18.82 cm kemudian pada Gambar 4.13 ini terdapat Settling time (Ts) terjadi pada
waktu 8421 ms dengan nilai jarak yang diterima sensor 11.62 cm karena pada
waktu ini osilasi mulai berkurang dan respon sistem mulai mencapai dan menetap
dinilai set point 12 cm.
11.37
18.82
11.62
02
4
68
10
12
1416
18
20
0
51
2
10
24
15
39
20
51
25
66
30
87
33
90
39
08
44
21
49
50
54
67
59
81
64
98
70
15
75
30
80
55
83
72
86
78
89
88
Jara
k (c
m)
Waktu (ms)
Respon Sistem Ketika Kp = 4
Kp 4
60
Gambar 4.14 Grafik Respon Sistem Ketika Kp = 5
Kemudian pada Gambar 4.14 adalah grafik kurva dengan nilai Kp yang
diberikan adalah 5, pada grafik ini Rise time (Tr) terjadi pada waktu 254 ms
dengan nilai jarak yang diterima sensor 12.01 cm, Peak time (Tp) terjadi pada
waktu 770 ms pada jarak 18.27 cm dan nilai Settling time (Ts) terjadi pada waktu
7579 ms pada jarak 12.14 cm karena dititik inilah osilasi mulai berkurang dan
respon sistem mulai mecapai dan menetap di nilai set point.
12.01
18.27
12.14
02
4
68
10
12
1416
18
20
0
77
0
15
40
23
14
30
89
32
22
39
93
47
64
55
34
63
09
70
82
78
54
84
13
87
59
91
11
92
74
Jara
k (c
m)
Waktu (ms)
Respon Sistem Ketika Kp = 5
Kp 5
61
Gambar 4.15 Grafik Respon Sistem Ketika Kp = 6
Pada Gambar 4.15 adalah grafik kurva dengan nilai Kp yang diberikan
adalah 6, pada grafik ini Rise time (Tr) terjadi pada waktu 254 ms ketika jarak
yang diterima sensor 10.16 cm, Peak time (Tp) terjadi pada waktu 770 ms ketika
jarak yang diterima sensor 18.32 cm dan Settling time (Ts) terajadi pada waktu
7530 ms ketika jarak yang diterima sensor 12.4 cm.
10.11
18.32
12.4
02
4
68
10
12
1416
18
20
0
51
2
10
26
15
46
20
70
25
84
31
00
34
02
39
17
44
33
49
50
54
64
59
91
65
06
70
19
75
30
80
47
83
48
88
63
Jara
k (c
m)
Waktu (ms)
Respon Sistem Ketika Kp = 6
Kp 6
62
Gambar 4.16 Grafik Respon Sistem Ketika Kp = 7
Kemudian pada Gambar 4.16 adalah grafik kurva dengan nilai Kp yang
diberikan adalah 7, pada grafik ini Rise time (Tr) terjadi pada waktu 250 ms ketika
jarak pada sensor 10.37 cm dan Peak time (Tp) terjadi pada waktu 514 ms ketika
jarak pada sensor 14.94 cm dan tidak memiliki nilai Settling time (Ts) karena pada
grafik ini terjadi osilasi yang maksimum atau osilasi yang sudah terjadi terus
menerus disinilah titik maksimum untuk menentukan parameter lain dari kontrol
PID yaitu Ki dan Kd. Berikut adalah grafik perbandingan parameter respon
terhadap Kp yang berubah – ubah.
10.37
14.94
0
2
4
6
8
10
12
14
16
18
0
51
4
12
93
18
06
21
06
26
21
29
24
34
38
39
58
44
71
49
84
54
98
60
10
65
26
70
58
75
75
80
91
84
05
87
07
92
20
Jara
k (c
m)
Waktu (ms)
Respon Sistem Ketika Kp = 7
Kp 7
63
Gambar 4.17 Grafik Perbandingan Respon Sistem Terhadap Kp
Pada Gambar 4.17 dapat dilihat bahwa setiap parameter respon memiliki
nilai yang berbeda – beda. Sesuai dengan teori pada kontrol PID bahwa ketika Kp
dinaikan akan menyebabkan penurunan rise time, mengurangi error steady state
dan perubahan kecil pada settling time. Pada tabel diatas dapat terlihat turunnya
rise time ketika Kp semakin bertambah serta perubahan pada settling time.
Perlu diketahui bahwa kontrol PID terdapat beberapa macam aksi kontrol
yaitu kontrol proporsional, kontrol integral dan kontrol derivatif. Disetiap kontrol
terdapat terdapat konstanta yang harus ditentukan berdasarkan penggunaan
metode penentuan pada kontrol PID. Pada pengambilan data kontrol PID untuk
robot ini metode yang digunakan adalah metode Zigler Nichols dengan
mengamati hasil respon sinyal ketika konstanta proporsional dinaikkan hingga
periode osilasi mencapai maksimum, hal ini terjadi pada konstanta proporsional
bernilai 7 (Gambar 4.16). Pada gambar grafik tersebut dapat menentukan
2071 2065 1815 1024 770 770 514
1035 777 516 512 254 254 250
8421 7597 7530
0
1000
2000
3000
4000
5000
6000
7000
8000
9000
1 2 3 4 5 6 7
Wak
tu (
ms)
Konstanta Proporsional
Perbandingan Parameter Respon Terhadap Kp
Peak Time
Rise Time
Settling Time
64
konstanta untuk pengkontrolan menggunakan PID. Berikut adalah tabel ketentuan
untuk menentukan parameter kontrol PID dengan menggunakan metode Zigler
Nichols.
Tabel 4.1 Ketentuan Metode Zigler Nichols (Standart PID Tunning Methode)
Dengan menggunakan tabel ketentuan metode Zigler Nichols diatas
didapatkan nilai Kp = 4.12, Ki = 2.39 dan Kd = 1.76. Berikut adalah grafik respon
sistem ketika robot menggunakan kontrol PID yang telah ditentukan.
65
Gambar 4.18 Grafik Respon Sistem PID
Pada Gambar 4.18 adalah grafik kurva reson sistem PID, dapat diketahui
bahwa osilasi terjadi pada tahap pertama saja setelah itu robot bergerak sesuai
dengan set poin yang telah diberikan dan dapat dianalisis parameter responnya.
Peak time (Tp) terjadi pada waktu 737 ms dengan nilai jarak 12 cm, Rise time (Tr)
terjadi pada waktu 490 ms dan nilai jarak 18.01 cm dan Settling time (Ts) terjadi
pada waktu 2248 ms dengan nilai jarak 11.68 cm.
4.3 Analisis Respon Sistem Kontrol PID Ketika Robot Bergerak Untuk
Variasi Beban 0, 0.25 dan 0.5 Kg
Pada tahap ini adalah tahap dimana anilisis perbandingan respon sistem
kontrol PID ketika robot tanpa diberikan beban dan ketika robot diberikan beban,
disini beban yang diberikan adalah batu ukiran seberat 0.25 kg dan 0.5 kg. berikut
adalah grafik respon sistem ketika robot menggunakan kontrol PID dengan beban
0.25 kg dan 0.5 kg.
12
18.01
11.68
02468
101214161820
0
73
7
14
79
20
03
27
39
30
68
38
03
43
27
50
69
58
04
65
49
72
84
80
23
83
35
90
77
Jara
k (c
m)
Waktu (ms)
Respon Sistem PID
Kp 4.11 Ki 2.39 Kd 1.76
66
Gambar 4.19 Grafik Respon PID dengan Beban 0.25 kg
Kemudian pada Gambar 4.19 adalah grafik respon sistem ketika robot
membawa beban dengan berat 0.25 kg, dengan kontrol PID yang telah diberikan
sebelumnya yaitu dengan nilai Kp = 4.11, Ki = 2.39 dan Kd = 1.76. Terjadi osilasi
ketika pengambilan data pertama kali, setelah itu sistem mengalami osilasi sedikit
dan kemudian stabil. Terjadi Peak time (Tp) pada waktu 2032 ms dengan jarak
17.94 cm, Rise time (Tr) terjadi pada waktu 499 ms dengan nilai jarak 8.61 cm
dan Settling time (Ts) terjadi pada waktu 4812 ms dengan nilai jarak 11.65 cm.
8.61
17.94
11.65
02468
101214161820
0
15
35
30
29
45
30
58
12
73
18
88
18
10
33
4
10
78
4
11
00
3
11
21
7
11
42
9
11
64
4
11
85
3
12
72
8
Jara
k (c
m)
Waktu (cm)
Respon Sistem Ketika Membawa Beban 0.25 Kg
Kp 4.11 Ki 2.39 Kd 1.76
67
Gambar 4.20 Grafik Respon PID dengan Beban 0.5 kg
Pada Gambar 4.20 adalah grafik respon sistem ketika robot bergerak
menyusuri dinding dengan membawa beban 0.5 kg dengan menggunakan kontol
PID yang telah ditentukan yaitu dengan nilai Kp = 4.11, Ki = 2.39 dan Kd = 1.76.
Dari grafik tersebut sama halnya dengan kondisi ketika robot bergerak membawa
beban 0.25 kg. terjadi osilasi pada saat pertama pengambilan data dan kemudian
menjadi stabil. Terjadi Peak time (Tp) pada waktu 2116 ms dengan nilai jarak
13.54 cm, Rise time (Tr) terjadi pada waktu 792 ms dengan nilai jarak 11.4 cm
dan Settling time (Ts) terjadi pada waktu 4756 ms dengan nilai jarak 11.58 cm,
kemudian dari ketiga kondisi respon sistem dilakukan perbandingan ketika robot
bergerak tampa beban dan ketika robot diberikan beban. Berikut adalah grafik
perbandingan respon sistem menggunakan kontrol PID ketika robot tidak
diberikan beban dan setelah diberikan beban.
11.4
13.54
11.58
0
2
4
6
8
10
12
14
160
10
54
21
16
31
72
42
29
52
82
63
42
73
95
82
37
84
60
86
76
88
92
91
06
93
22
95
33
97
36
99
40
Jara
k (c
m)
Waktu (ms)
Respon Sistem Ketika Membawa Beban 0.5 Kg
Kp 4.11 Ki 2.39 Kd 1.76
68
Gambar 4.21 Grafik Perbandingan Respon Sistem
Pada Gambar 4.21 adalah grafik perbandingan parameter respon sistem
ketika robot diberikan beban dan tidak diberikan beban. Terjadi perbedaan nilai
pada setiap kondisinya seperti yang terlihat pada grafik diatas nilai Peak time
semakin lama atau semakin tinggi ketika robot bergerak membawa beban.
Kemudian pada nilai Rise time pun mengalami kenaikan diikuti dengan nilai
Settling time yang mengalami kenaikan pula ketika robot bergerak membawa
beban yang semakin berat. Beban pada robot mengakibatkan respon sistem yang
lambat jadi pengambilan data setiap parameter respon menjadi semakin lama
dengan memberikan kecepatan yang sama disetiap pengambilan datanya dan
menyebabkan kenaikan nilai parameter pada respon sistem ketika robot bergerak.
737
2032 2116
490 499 792
2248
4812 4756
0
1000
2000
3000
4000
5000
6000
0 0.25 0.5
Wak
tu (
ms)
Berat (kg)
Perbandingan Respon Sitem Dengan dan Tanpa Pemberat
Peak Time
Rise Time
Settling Time
69
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Pada penelitian ini telah berhasil dilakukan pengaplikasian mikrokontroler
dan sensor ultrasonik pada pembuatan robot wall follower dengan menggunakan
kontrol PID dimana robot akan bergerak menyusuri dinding dengan membawa
beban menggunakan sistem kontrol PID yang telah berhasil ditentukan dengan
menggunakan metode penentuan kontrol PID menurut metode Zigler Nichols.
Dalam rangkaian eksperimen pada penelitian ini dapat disimpulkan sebagai
berikut :
1. Berhasil merancang dan membangun mikrokontroler dan sensor ultrasonik
yang bekerja pada robot wall follower.
2. Berhasil mengkarakterisasi sensor HC-SR04 dan mengkalibrasi motor DC
12 Volt dengan diperolehnya grafik yang berbentuk linear dengan nilai
kelinierannya (R2) = 0.999, serta persamaan liniernya y = 1.0036x –
0.6094 untuk sensor depan, y = 1.0087x – 0.5336 untuk sensor kanan, y =
1.0094x – 0.6718 untuk sensor kiri dan y = 1.003x + 7.3212 untuk motor
DC 12 Volt, membuktikan bahwa kerja sensor dan motor sudah baik.
3. Didapatkan respon sistem untuk menentukan konstanta kontrol pada PID
(Kp, Ki dan Kd) ketika variasi kontrol proportional bernilai 7 dengan nilai
70
Rise time 250 ms dan nilai Peak time 514 ms. Kemudian didapatkan nilai
Kp = 4.11 Ki = 2.39 dan Kd = 1.76 sesuai dengan metode Zigler Nichols.
4. Analisis parameter sinyal respon sistem ketika robot bergerak tanpa beban
(0 Kg) dengan kontrol PID dengan nilai Peak time pada waktu 737 ms,
Rise time pada waktu 490 ms, dan Settling time pada waktu 2248 ms.
Ketika beban 0.25 Kg memiliki nilai Peak time pada waktu 2032 ms, Rise
time pada waktu 499 ms, dan Settling time pada waktu 4812 ms. Dan
ketika dengan beban 0.5 Kg memiliki nilai Peak time pada waktu 2116 ms,
Rise time pada waktu 792 ms, dan Settling time pada waktu 4756 ms.
5.2 Saran
Dalam pengambilan data sensor HC-SR04 sebaiknya dilakukan dengan
teliti dan menggunakan sensor yang lebih baik demi mendapatkan hasil kalibrasi
sensor yang lebih teliti walaupun harganya sedikit lebih mahal dari sensor HC-
SR04. Kemudian, pada motor untuk robot dilakukan penghitungan untuk
menentukan berat maksimum yang dapat ditampung robot ketika robot bergerak
membawa beban. Karena pada penilitian ini tidak dilakukan penghitungan
tersebut, penelitian ini hanya berfokus pada respon sinyal yang dihasilkan ketika
robot bergerak membawa barang serta dapat berjalan lancar ketika membawa
barang. Kemudian pada sistem kontrolnya disarankan untuk penelitian selanjutnya
dengan menggunakan sistem kontrol yang lebih baik dibandingan dengan yang
digunakan pada penilitian ini.
71
DAFTAR PUSTAKA
[1] Triwiyatno, Aris. 2002. “Konsep Umum Sistem Kontrol.” Skripsi.
Bandung: Program Studi Fisika ITB.
[2] N. S. Nise, 2003. “Control System Engineering.” Thrid. California.
[3] K. J. Astrom, 2002. “Control System Design.” Books. New York.
[4] Willis, M. J., 1999. “Proportional-Integral-Derivative Control.”
Chairuzzaini dkk. Metode Ziegler-Nichols pada Sistem Kontrol Nichols
pada Perancangan Kontroler PID, 1998.
[5] Putra, Agfianto Eko. 2002. “Teori dan Aplikasi Mikrokontroler.”
Skripsi, Bandung: Program Studi Fisika UNPAD.
[6] “Arduino Mega 2560,” 5 April 2016. [Online]. Avaiable:
https://www.arduino.cc/en/Main/arduinoBoardMega2560.
[7] “Texas Instrument Dual High-Speed Mosfet Datasheet,” 5 April 2015.
[Online]. Avaiable: http://www.ti.com/lit/gpn/tps2812.
[8] “HC-SR04 Datasheet,” 5 April 2016. [Online]. Avaiable:
http://www.electroschematics.com/8902/hc-sr04-datasheet/.
[9] “Prinsip Kerja Motor DC,” 5 April 2016. [Online]. Avaiable:
http://www.artikel-teknologi.com/prinsip-kerja-motor-listrik/.
[10] Hall, Prentice PTR. 1998. “Digital Signal Processing.” John Willey.
New York.
72
[11] “National Instrument Penjelasan Data Logger” 5 April 2016. [Online].
Avaiable: http://www.in.com/data-logger/.
73
LAMPIRAN
1. Data Kalibrasi Sensor Depan HC-SR04
Data Jarak Sensor Depan (cm) Rata-rata
Data Jarak Meteran Data Rata - rata
Data 1 Data 2 Data 3 (x) (y) 22.61 22.04 21.24 21.96 20 22.65
30.84 30.57 30.58 30.66 30 31.38
40.26 40.1 40.02 40.12 40 40.88
50.82 50.1 50.05 50.32 50 51.11
60.17 60.29 59.97 60.14 60 60.97
69.97 70.1 69.81 69.96 70 70.82
79.91 79.48 80.05 79.81 80 80.71
90.15 89.81 89.91 89.95 90 90.89
100.09 99.76 100.07 99.97 100 100.94
109.59 110.23 110.03 109.95 110 110.95
119.86 120.03 119.97 119.95 120 120.99
129.59 130.81 130.36 130.25 130 131.33
140.19 140.53 140.02 140.24 140 141.36
149.91 150.43 150.52 150.28 150 151.44
160.4 160.12 160.02 160.18 160 161.37
170.29 170.19 170.07 170.18 170 171.40
180.19 180.12 180.67 180.32 180 181.58
190.79 190.27 191.04 190.7 190 192
198.92 199.23 199.45 199.2 200 200.53
2. Data Kalibrasi Sensor Kanan HC-SR04
Data Jarak Sensor Kanan (cm)
Rata-rata (cm)
Meteran (cm) Data Rata - rata
Data 1 Data 2 Data 3 (x) (y) 20.74 21.53 21 21.09 20 21.79
29.76 30.21 30.64 30.20 30 30.99
39.67 39.88 40.48 40.01 40 40.88
49.5 50.22 50 49.90 50 50.87
59.5 60.1 60.36 59.98 60 61.05
69.85 69.48 69.67 69.67 70 70.82
74
79.81 80.02 79.87 79.92 80 81.15
89.52 89.6 89.9 89.67 90 91.01
99.42 99.33 99.73 99.49 100 100.92
109.7 108.4 109.3 109.13 110 110.65
118.4 119.4 119.1 118.96 120 120.58
129.4 129.4 129.8 129.53 130 131.24
138.1 138.1 139.8 138.66 140 140.46
149.1 149.1 149.8 149.33 150 151.22
158.9 158.5 159.2 158.86 160 160.85
168.9 168.1 169.8 168.93 170 171.01
178.6 178.5 179.9 179 180 181.17
188.8 189 189 188.93 190 191.19
198.8 199.1 199.4 199.13 200 201.45
3. Data Kalibrasi Sensor Kiri HC-SR04
Data Jarak Sensor Kiri (cm)
Rata-rata (cm)
Meteran (cm) Data Rata - rata
Data 1 Data 2 Data 3 (x) (y) 20.98 21 21.32 21.1 20 21.87
30.29 30.64 30.72 30.55 30 31.39
39.97 40.65 40.07 40.23 40 41.15
49.55 50.17 50.05 49.92 50 50.91
60.03 60.15 60.14 60.10 60 61.18
69.67 70.17 70.1 69.98 70 71.13
79.71 79.78 79.85 79.78 80 81.01
89.59 89.9 89.97 89.82 90 91.12
99.66 99.97 98.4 99.34 100 100.72
109.21 109.8 109.57 109.52 110 110.98
120.07 120.3 118.49 119.62 120 121.15
129.79 129.67 129.95 129.80 130 131.42
139.18 139.59 140.12 139.63 140 141.32
149.66 149.5 148.75 149.30 150 151.07
159.67 159.14 159.88 159.56 160 161.41
169.2 170.58 168.72 169.5 170 171.42
179.16 179.18 178.22 178.85 180 180.85
189.54 189.71 189 189.41 190 191.50
199.48 198.47 199.5 199.15 200 201.31
75
4. Data Kalibrasi Motor DC 12 Volt
Motor Kanan (Rpm)
Motor Kiri (Rpm) PWM Data Rata - rata
(y) (x) 213.3 204.86 50 212.79
307.2 300.5 70 308.72
403.9 394.3 90 402.80
497.96 488.6 110 497.38
591.23 583.33 130 592.40
686.63 677.26 150 686.61
780.76 768.3 170 777.92
875.13 869.96 190 879.89
964.9 952.4 210 962.57
1029.66 1019.33 225 1029.70
5. Data dan Grafik Respon Sistem Ketika Kp = 1 sampai Kp = 7
Sensor Kiri (cm) Waktu (ms) Kp Waktu (ms)
6 17840 1 0
6.52 18100 1 260
9.13 18358 1 518
10.53 18616 1 776
12 18875 1 1035
14.94 19132 1 1292
16.09 19389 1 1549
16.76 19911 1 2071
13.59 20169 1 2329
12.45 20431 1 2591
11.67 20474 1 2634
10.89 20737 1 2897
9.75 20995 1 3155
8.97 21253 1 3413
8.52 21509 1 3669
7.41 21766 1 3926
8.5 22023 1 4183
8.35 22302 1 4462
10.22 22559 1 4719
10.89 22817 1 4977
76
12.66 23074 1 5234
14.01 23333 1 5493
15.5 23592 1 5752
17.73 23851 1 6011
18.06 24109 1 6269
17.85 24369 1 6529
18.84 24626 1 6786
17.7 24886 1 7046
17.7 25146 1 7306
16.45 25404 1 7564
16.3 25458 1 7618
15.1 25717 1 7877
15 25763 1 7923
13.8 26019 1 8179
13.07 26277 1 8437
12.45 26324 1 8484
12.87 26586 1 8746
Sensor Kiri (cm) Waktu (ms) Kp Waktu (ms)
6.62 17027 2 0
6.98 17283 2 256
10.63 17542 2 515
11.4 17804 2 777
16.4 18061 2 1034
17.63 18319 2 1292
18.02 18578 2 1551
18.2 18834 2 1807
18.8 19092 2 2065
15.1 19351 2 2324
13.39 19614 2 2587
10.79 19870 2 2843
9.44 20127 2 3100
8.76 20173 2 3146
8.71 20428 2 3401
8.81 20685 2 3658
8.81 20943 2 3916
10.32 21199 2 4172
11.67 21458 2 4431
13.23 21718 2 4691
14.63 21978 2 4951
77
16.45 22238 2 5211
17.27 22515 2 5488
20.5 22774 2 5747
19.2 22819 2 5792
15.65 23088 2 6061
13.58 23350 2 6323
11.98 23611 2 6584
10.74 23875 2 6848
10.01 24135 2 7108
9.75 24394 2 7367
10.11 24674 2 7647
10.74 24935 2 7908
11.72 25194 2 8167
12.33 25239 2 8212
12.35 25500 2 8473
12.49 25544 2 8517
13.44 25803 2 8776
13.99 26064 2 9037
14.18 26323 2 9296
9.75 24394 2 7367
10.11 24674 2 7647
10.74 24935 2 7908
11.72 25194 2 8167
12.33 25239 2 8212
12.35 25500 2 8473
12.49 25544 2 8517
13.44 25803 2 8776
13.99 26064 2 9037
17.18 26323 2 9296
Sensor Kiri (cm) Waktu (ms) Kp Waktu (ms)
6.01 19573 3 0
6.45 19833 3 260
6.64 20100 3 527
7.83 20357 3 784
10.74 20616 3 1043
11.91 20875 3 1302
17.49 21131 3 1558
18.93 21388 3 1815
18.58 21647 3 2074
78
16.09 21903 3 2330
16.04 21947 3 2374
12.81 22205 3 2632
10.68 22460 3 2887
8.56 22717 3 3144
7.52 22973 3 3400
7.52 23016 3 3443
9.85 23272 3 3699
11.62 23531 3 3958
13.44 23789 3 4216
14.58 24045 3 4472
16.19 24303 3 4730
16.24 24564 3 4991
15.2 24822 3 5249
13.8 25079 3 5506
12.56 25339 3 5766
11.88 25596 3 6023
11.15 25852 3 6279
10.01 26110 3 6537
10.32 26365 3 6792
10.43 26622 3 7049
11.14 26881 3 7308
12.24 27144 3 7571
12.56 27400 3 7827
13.96 27658 3 8085
15.36 27915 3 8342
14.98 28173 3 8600
14.93 28219 3 8646
14.93 28483 3 8910
14.43 28528 3 8955
13.85 28790 3 9217
12.92 29048 3 9475
14.32 29303 3 9730
14.93 28483 3 8910
14.43 28528 3 8955
13.85 28790 3 9217
Sensor Kiri (cm) Waktu (ms) Kp Waktu (ms)
6.6 17701 4 0
7.26 17957 4 256
79
11.37 18213 4 512
15.86 18471 4 770
18.82 18725 4 1024
18.22 18983 4 1282
15.46 19240 4 1539
12.4 19496 4 1795
9.8 19752 4 2051
8.4 20009 4 2308
8.56 20267 4 2566
9.65 20525 4 2824
13.07 20788 4 3087
15.91 21047 4 3346
16.23 21091 4 3390
15.76 21350 4 3649
15.55 21609 4 3908
14.11 21865 4 4164
12.61 22122 4 4421
11.83 22380 4 4679
11 22651 4 4950
10.37 22909 4 5208
10.48 23168 4 5467
11.34 23424 4 5723
12.23 23682 4 5981
13.59 23940 4 6239
14.63 24199 4 6498
15 24457 4 6756
14.67 24716 4 7015
14.17 24974 4 7273
12.56 25231 4 7530
11.34 25496 4 7795
10.79 25756 4 8055
10.68 26014 4 8313
11.26 26073 4 8372
11.62 26122 4 8421
12.4 26379 4 8678
12.52 26423 4 8722
12.58 26689 4 8988
12.4 26948 4 9247
Sensor Kiri (cm) Waktu (ms) Kp Waktu (ms)
80
6.01 25864 5 0
12.01 26118 5 254
15.78 26376 5 512
18.27 26634 5 770
16.59 26890 5 1026
13.27 27148 5 1284
10.89 27404 5 1540
9.54 27666 5 1802
8.71 27922 5 2058
10.51 28178 5 2314
13.65 28438 5 2574
15.2 28695 5 2831
15.34 28953 5 3089
15.19 28998 5 3134
15.03 29042 5 3178
14.79 29086 5 3222
13.01 29343 5 3479
11.55 29599 5 3735
10.56 29857 5 3993
10.68 30115 5 4251
10.48 30369 5 4505
11.26 30628 5 4764
12.23 30885 5 5021
13.58 31141 5 5277
14.1 31398 5 5534
14.46 31659 5 5795
13.78 31918 5 6054
12.56 32173 5 6309
12.39 32433 5 6569
11.88 32691 5 6827
11.83 32946 5 7082
11.93 33204 5 7340
12.14 33461 5 7597
12.76 33718 5 7854
13.39 33975 5 8111
13.47 34233 5 8369
13.49 34277 5 8413
13.59 34322 5 8458
14.06 34367 5 8503
13.37 34623 5 8759
12.83 34881 5 9017
81
12.6 34929 5 9065
12.57 34975 5 9111
12.26 35039 5 9175
11.62 35090 5 9226
11.36 35138 5 9274
Sensor Kiri (cm) Waktu (ms) Kp Waktu (ms)
6.37 23794 6 0
10.11 24048 6 254
16.76 24306 6 512
18.32 24564 6 770
16.4 24820 6 1026
12.12 25083 6 1289
9.54 25340 6 1546
7.67 25598 6 1804
8.35 25864 6 2070
13.91 26119 6 2325
18.67 26378 6 2584
17.42 26636 6 2842
13.39 26894 6 3100
12.87 26939 6 3145
9.65 27196 6 3402
7.83 27453 6 3659
9.8 27711 6 3917
11.88 27968 6 4174
15.34 28227 6 4433
15.72 28487 6 4693
14.32 28744 6 4950
12.45 29000 6 5206
11.46 29258 6 5464
10.27 29528 6 5734
9.75 29785 6 5991
10.43 30041 6 6247
13.68 30300 6 6506
14.25 30556 6 6762
13.94 30813 6 7019
13.33 31070 6 7276
12.4 31324 6 7530
11.72 31582 6 7788
11.31 31841 6 8047
82
11.36 32097 6 8303
11.3 32142 6 8348
11.26 32400 6 8606
12.35 32657 6 8863
12.4 32916 6 9122
Sensor Kiri (cm) Waktu (ms) Kp Waktu (ms)
6.17 16418 7 0
10.37 16677 7 259
17.47 16932 7 514
14.94 17455 7 1037
11 17711 7 1293
9.28 17968 7 1550
8.31 18224 7 1806
7.88 18267 7 1849
11.2 18524 7 2106
16.35 18783 7 2365
15.31 19039 7 2621
12.5 19296 7 2878
12.35 19342 7 2924
10.48 19598 7 3180
9.23 19856 7 3438
10.32 20117 7 3699
11.62 20376 7 3958
13.54 20631 7 4213
14.53 20889 7 4471
13.8 21148 7 4730
12.87 21402 7 4984
13.23 21658 7 5240
11.98 21916 7 5498
11.26 22173 7 5755
10.48 22428 7 6010
10.94 22687 7 6269
12.61 22944 7 6526
14.46 23202 7 6784
15.05 23476 7 7058
13.59 23734 7 7316
11.31 23993 7 7575
9.7 24253 7 7835
9.96 24509 7 8091
83
9.59 24558 7 8140
12.09 24823 7 8405
12.71 24869 7 8451
14.67 25125 7 8707
15.15 25381 7 8963
15.62 25638 7 9220
15.62 25638 7 9220
6. Data Respon Sistem Kontrol PID
Sensor Kiri (cm) Waktu (ms) Kp Ki Kd Waktu (ms)
6.06 15890 4.11 2.39 1.76 0
8.66 16134 4.11 2.39 1.76 244
12 16380 4.11 2.39 1.76 490
18.01 16627 4.11 2.39 1.76 737
16.61 16878 4.11 2.39 1.76 988
15.2 17123 4.11 2.39 1.76 1233
13.13 17369 4.11 2.39 1.76 1479
12.14 17615 4.11 2.39 1.76 1725
11.88 17647 4.11 2.39 1.76 1757
11.67 17893 4.11 2.39 1.76 2003
11.68 18138 4.11 2.39 1.76 2248
11.2 18382 4.11 2.39 1.76 2492
11.41 18629 4.11 2.39 1.76 2739
11.36 18681 4.11 2.39 1.76 2791
11.83 18925 4.11 2.39 1.76 3035
12.3 18958 4.11 2.39 1.76 3068
12.5 19203 4.11 2.39 1.76 3313
13.39 19446 4.11 2.39 1.76 3556
13.85 19693 4.11 2.39 1.76 3803
13.96 19939 4.11 2.39 1.76 4049
14.43 20184 4.11 2.39 1.76 4294
14.43 20217 4.11 2.39 1.76 4327
13.54 20463 4.11 2.39 1.76 4573
12.97 20713 4.11 2.39 1.76 4823
13.18 20959 4.11 2.39 1.76 5069
12.68 21204 4.11 2.39 1.76 5314
12.76 21450 4.11 2.39 1.76 5560
12.76 21694 4.11 2.39 1.76 5804
84
12.66 21940 4.11 2.39 1.76 6050
13.49 22195 4.11 2.39 1.76 6305
13.65 22439 4.11 2.39 1.76 6549
13.13 22684 4.11 2.39 1.76 6794
12.92 22930 4.11 2.39 1.76 7040
12.5 23174 4.11 2.39 1.76 7284
13.13 23420 4.11 2.39 1.76 7530
13.07 23667 4.11 2.39 1.76 7777
12.71 23913 4.11 2.39 1.76 8023
12.64 23947 4.11 2.39 1.76 8057
12.61 24194 4.11 2.39 1.76 8304
12.61 24225 4.11 2.39 1.76 8335
12.71 24470 4.11 2.39 1.76 8580
13.02 24721 4.11 2.39 1.76 8831
12.87 24967 4.11 2.39 1.76 9077
7. Data Respon Sistem Kontrol PID dengan Beban 0.25 kg
Sensor Kiri (cm) Waktu (ms) Kp Ki Kd Waktu (ms)
5.65 5198 4.11 2.39 1.76 0
6.39 5449 4.11 2.39 1.76 251
8.61 5698 4.11 2.39 1.76 500
11.38 5948 4.11 2.39 1.76 750
15.39 6199 4.11 2.39 1.76 1001
16.67 6480 4.11 2.39 1.76 1282
16.86 6733 4.11 2.39 1.76 1535
17.55 6981 4.11 2.39 1.76 1783
17.94 7230 4.11 2.39 1.76 2032
16.8 7480 4.11 2.39 1.76 2282
15.94 7728 4.11 2.39 1.76 2530
15.71 7977 4.11 2.39 1.76 2779
13.84 8227 4.11 2.39 1.76 3029
12.75 8482 4.11 2.39 1.76 3284
12.02 8729 4.11 2.39 1.76 3531
10.3 8980 4.11 2.39 1.76 3782
9.94 9230 4.11 2.39 1.76 4032
10.72 9479 4.11 2.39 1.76 4281
11.39 9728 4.11 2.39 1.76 4530
11.38 9762 4.11 2.39 1.76 4564
85
11.65 10010 4.11 2.39 1.76 4812
13.68 10261 4.11 2.39 1.76 5063
14.53 10511 4.11 2.39 1.76 5313
14.72 10760 4.11 2.39 1.76 5562
14.89 11010 4.11 2.39 1.76 5812
13.73 11260 4.11 2.39 1.76 6062
12.85 11509 4.11 2.39 1.76 6311
12.38 11765 4.11 2.39 1.76 6567
12.23 12015 4.11 2.39 1.76 6817
11.88 12267 4.11 2.39 1.76 7069
11.97 12516 4.11 2.39 1.76 7318
12.17 12766 4.11 2.39 1.76 7568
12.33 13018 4.11 2.39 1.76 7820
12.54 13266 4.11 2.39 1.76 8068
12.69 13516 4.11 2.39 1.76 8318
12.95 13767 4.11 2.39 1.76 8569
13.21 14016 4.11 2.39 1.76 8818
13.11 14266 4.11 2.39 1.76 9068
13.11 14526 4.11 2.39 1.76 9328
13.18 14776 4.11 2.39 1.76 9578
12.95 15030 4.11 2.39 1.76 9832
12.64 15281 4.11 2.39 1.76 10083
12.56 15532 4.11 2.39 1.76 10334
12.8 15567 4.11 2.39 1.76 10369
12.17 15817 4.11 2.39 1.76 10619
12.59 15855 4.11 2.39 1.76 10657
12.12 15891 4.11 2.39 1.76 10693
12.12 15945 4.11 2.39 1.76 10747
12.17 15982 4.11 2.39 1.76 10784
12.19 16017 4.11 2.39 1.76 10819
12.07 16053 4.11 2.39 1.76 10855
12.49 16090 4.11 2.39 1.76 10892
12.49 16124 4.11 2.39 1.76 10926
12.02 16160 4.11 2.39 1.76 10962
12.12 16201 4.11 2.39 1.76 11003
12.12 16238 4.11 2.39 1.76 11040
12.02 16272 4.11 2.39 1.76 11074
12.02 16308 4.11 2.39 1.76 11110
12.02 16345 4.11 2.39 1.76 11147
12.19 16379 4.11 2.39 1.76 11181
12.07 16415 4.11 2.39 1.76 11217
86
12.07 16451 4.11 2.39 1.76 11253
12.07 16486 4.11 2.39 1.76 11288
12.07 16521 4.11 2.39 1.76 11323
12.12 16558 4.11 2.39 1.76 11360
12.23 16591 4.11 2.39 1.76 11393
12.12 16627 4.11 2.39 1.76 11429
12.24 16663 4.11 2.39 1.76 11465
12.24 16703 4.11 2.39 1.76 11505
12.17 16737 4.11 2.39 1.76 11539
12.17 16772 4.11 2.39 1.76 11574
12.17 16808 4.11 2.39 1.76 11610
12.35 16842 4.11 2.39 1.76 11644
12.23 16877 4.11 2.39 1.76 11679
12.28 16913 4.11 2.39 1.76 11715
12.69 16947 4.11 2.39 1.76 11749
12.75 16982 4.11 2.39 1.76 11784
12.75 17017 4.11 2.39 1.76 11819
12.38 17051 4.11 2.39 1.76 11853
12.38 17086 4.11 2.39 1.76 11888
12.38 17130 4.11 2.39 1.76 11932
12.43 17164 4.11 2.39 1.76 11966
12.59 17421 4.11 2.39 1.76 12223
12.75 17674 4.11 2.39 1.76 12476
13.16 17926 4.11 2.39 1.76 12728
12.75 17957 4.11 2.39 1.76 12759
13.11 18210 4.11 2.39 1.76 13012
12.64 18462 4.11 2.39 1.76 13264
13.23 18713 4.11 2.39 1.76 13515
8. Data Respon Sistem Kontrol PID dengan Beban 0.5 kg
Sensor Kiri (cm) Waktu (ms) Kp Ki Kd Waktu (ms)
5.65 7194 4.11 2.39 1.79 0
6.63 7456 4.11 2.39 1.79 262
6.94 7718 4.11 2.39 1.79 524
9.84 7983 4.11 2.39 1.79 789
11.4 8248 4.11 2.39 1.79 1054
12.08 8512 4.11 2.39 1.79 1318
12.85 8775 4.11 2.39 1.79 1581
87
13.21 9039 4.11 2.39 1.79 1845
13.54 9310 4.11 2.39 1.79 2116
12.64 9570 4.11 2.39 1.79 2376
11.66 9836 4.11 2.39 1.79 2642
11.34 10101 4.11 2.39 1.79 2907
10.3 10366 4.11 2.39 1.79 3172
10.01 10631 4.11 2.39 1.79 3437
9.99 10896 4.11 2.39 1.79 3702
10.62 11159 4.11 2.39 1.79 3965
10.53 11423 4.11 2.39 1.79 4229
11.19 11687 4.11 2.39 1.79 4493
11.58 11950 4.11 2.39 1.79 4756
11.29 12214 4.11 2.39 1.79 5020
11.45 12476 4.11 2.39 1.79 5282
12.69 12744 4.11 2.39 1.79 5550
12.49 13008 4.11 2.39 1.79 5814
12.75 13271 4.11 2.39 1.79 6077
11.91 13536 4.11 2.39 1.79 6342
11.52 13801 4.11 2.39 1.79 6607
11.34 14064 4.11 2.39 1.79 6870
10.82 14326 4.11 2.39 1.79 7132
11.08 14589 4.11 2.39 1.79 7395
11.14 14856 4.11 2.39 1.79 7662
11.31 15120 4.11 2.39 1.79 7926
11.29 15168 4.11 2.39 1.79 7974
10.82 15431 4.11 2.39 1.79 8237
10.94 15488 4.11 2.39 1.79 8294
10.88 15542 4.11 2.39 1.79 8348
10.88 15598 4.11 2.39 1.79 8404
10.93 15654 4.11 2.39 1.79 8460
11.05 15710 4.11 2.39 1.79 8516
11.39 15762 4.11 2.39 1.79 8568
11.57 15815 4.11 2.39 1.79 8621
11.45 15870 4.11 2.39 1.79 8676
11.62 15926 4.11 2.39 1.79 8732
11.14 15978 4.11 2.39 1.79 8784
11.19 16030 4.11 2.39 1.79 8836
11.19 16086 4.11 2.39 1.79 8892
11.24 16140 4.11 2.39 1.79 8946
11.34 16192 4.11 2.39 1.79 8998
11.39 16244 4.11 2.39 1.79 9050
88
11.97 16300 4.11 2.39 1.79 9106
11.97 16357 4.11 2.39 1.79 9163
11.86 16408 4.11 2.39 1.79 9214
11.45 16461 4.11 2.39 1.79 9267
11.45 16516 4.11 2.39 1.79 9322
11.6 16569 4.11 2.39 1.79 9375
11.62 16620 4.11 2.39 1.79 9426
12.02 16673 4.11 2.39 1.79 9479
11.97 16727 4.11 2.39 1.79 9533
11.55 16779 4.11 2.39 1.79 9585
11.55 16830 4.11 2.39 1.79 9636
11.6 16880 4.11 2.39 1.79 9686
11.65 16930 4.11 2.39 1.79 9736
11.5 16978 4.11 2.39 1.79 9784
11.45 17026 4.11 2.39 1.79 9832
11.39 17082 4.11 2.39 1.79 9888
11.34 17134 4.11 2.39 1.79 9940
12.23 17186 4.11 2.39 1.79 9992
11.81 17239 4.11 2.39 1.79 10045
11.81 17291 4.11 2.39 1.79 10097
9. Hasil Pemprograman dengan Menggunakan Arduino 1.6.7
#include <LiquidCrystal.h>
#include <SD.h>
#include <SPI.h>
LiquidCrystal lcd(0, 1, 10, 11, 12, 13);
int pbup = 2;
int pbdown = 3;
int pbback = 8;
int pbok = 9;
int arahkiri = 4; // inisiai pin untuk motor kiri
int kiri = 5;
int arahkanan = 7; // inisiai pin untuk motor kanan
int kanan = 6;
//punya pid
89
float kp=4.11;
float ts=1;
float kd=1.76;
float ki=0;
int setpoint = 12;
int basepwm = 60;
int speedmax = 100;
#define echodepan 23
#define trigdepan 22
#define echokiri 25
#define trigkiri 24
#define echokanan 27
#define trigkanan 26
int CS_pin = 53;
float jarakdepan,jarakkanan,jarakkiri;
float pwmkiri,pwmkanan,eror,lasteror;
int menu=0;
int logicatur=0;
float refresh_rate = 0.0; //Dataloger Refresh Rate
int temp_address = 72; //Address of the I2C Temp Sensor
long id = 1; //Use this to store the id # of our reading.
void setup() {
lcd.begin(16,2);
//Serial.begin(9600);
digitalWrite(A0,HIGH);
pinMode(CS_pin, OUTPUT);
pinMode(trigdepan, OUTPUT);
pinMode(echodepan, INPUT);
pinMode(trigkiri, OUTPUT);
pinMode(echokiri, INPUT);
pinMode(trigkanan, OUTPUT);
pinMode(echokanan, INPUT);
90
//Initialize Card
if (!SD.begin(CS_pin))
{
Serial.println("Card Failure");
return;
}
Serial.println("Card Ready");
//Read the Configuration information (COMMANDS.txt)
File commandFile = SD.open("COMMANDS.txt");
if (commandFile)
{
Serial.println("Reading Command File");
float decade = pow(10, (commandFile.available() - 1));
while(commandFile.available())
{
float temp = (commandFile.read() - '0');
refresh_rate = temp*decade+refresh_rate;
decade = decade/10;
}
Serial.print("Refresh Rate = ");
Serial.print(refresh_rate);
Serial.println("ms");
commandFile.close();
}
else
{
Serial.println("Could not read command file.");
return;
}
//Write Log File Header
File logFile = SD.open("LOG.csv", FILE_WRITE);
if (logFile)
91
{
logFile.println(", , , , ,"); //Just a leading blank line, incase there was previous data
String header = "DEPAN, KIRI, TIME(MS), KP, KD";
logFile.println(header);
logFile.close();
Serial.println(header);
}
else
{
Serial.println("Couldn't open log file");
}
}
void loop() {
menuutama();
//dataloger();
bacasensordepan();
bacasensorkiri();
}
void bacasensordepan()
{
digitalWrite(trigdepan, LOW);
delayMicroseconds(2);
digitalWrite(trigdepan, HIGH);
delayMicroseconds(10);
digitalWrite(trigdepan, LOW);
long tdepan = pulseIn(echodepan, HIGH);
jarakdepan = ((tdepan/58.2)*1.0036)+0.6136;
if (jarakdepan<=2) {jarakdepan=2;}
else if (jarakdepan>=200) {jarakdepan=200;}
}
void bacasensorkiri()
{
92
digitalWrite(trigkiri, LOW);
delayMicroseconds(2);
digitalWrite(trigkiri, HIGH);
delayMicroseconds(10);
digitalWrite(trigkiri, LOW);
long tkiri = pulseIn(echokiri, HIGH);
jarakkiri = ((tkiri/58.2)*1.0078)+0.6069;
if (jarakkiri<=2) {jarakkiri=2;}
else if (jarakkiri>=200) {jarakkiri=200;}
}
void bacasensorkanan()
{
digitalWrite(trigkanan, LOW);
delayMicroseconds(2);
digitalWrite(trigkanan, HIGH);
delayMicroseconds(10);
digitalWrite(trigkanan, LOW);
long tkanan = pulseIn(echokanan, HIGH);
jarakkanan = tkanan/58.2;
if (jarakkanan<=2) {jarakkanan=2;}
else if (jarakkanan>=200) {jarakkanan=200;}
}
void PIDsusurkiri(){
float eror = setpoint-jarakkiri;
// kontrol p
float pnya=kp*eror;
// kontrol d
float d1=kd;
float d2=d1/ts;
float d3=eror-lasteror;
float dnya=d2*d3;
// kontrol i
93
float i1=ki;
float i2=eror+lasteror;
float i3=i1*i2;
float inya=i3*ts;
lasteror=eror;
float pidnya=pnya+dnya+inya;
pwmkiri=basepwm+pidnya;
if(pwmkiri>speedmax) {pwmkiri=speedmax;}
if(pwmkiri<30) {pwmkiri=30;}
//=====Hitung Kondisi Kedua===============
pwmkanan=basepwm-pidnya;
if(pwmkanan>speedmax) {pwmkanan=speedmax;}
if(pwmkanan<30) {pwmkanan=30;}
}
void PIDsusurkanan(){
int eror = setpoint-jarakkanan;
// kontrol p
int pnya=kp*eror;
// kontrol d
int d1=kd;
int d2=d1/ts;
int d3=eror-lasteror;
int dnya=d2*d3;
// kontrol i
int i1=ki;
int i2=eror+lasteror;
int i3=i1*i2;
int inya=i3*ts;
lasteror=eror;
int pidnya=pnya+dnya+inya;
pwmkiri=basepwm-pidnya;
if(pwmkiri>speedmax) {pwmkiri=speedmax;}
94
if(pwmkiri<30) {pwmkiri=30;}
//=====Hitung Kondisi Kedua===============
pwmkanan=basepwm+pidnya;
if(pwmkanan>speedmax) {pwmkanan=speedmax;}
if(pwmkanan<30) {pwmkanan=30;}
}
void menuutama()
{
switch (menu)
{
//menu utama
case 0:
analogWrite(kiri,0);
analogWrite(kanan,0);
digitalWrite(arahkiri,LOW);
digitalWrite(arahkanan,LOW);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Fahrizal");
lcd.setCursor(0,1);
lcd.print("1112097000032");
if((digitalRead(pbok)==LOW)&&(logicatur==0)){delay(100);menu=7;}
else if((digitalRead(pbok)==LOW)&&(logicatur==1)) {delay(100);menu=8;}
if(digitalRead(pbback)==LOW) {delay(100);menu=10;}
if(digitalRead(pbup)==LOW) {delay(100);menu=1;}
if(digitalRead(pbdown)==LOW) {delay(100);menu=9;}
delay(5);
break;
//atur kp
case 1:
lcd.clear();
lcd.setCursor(0,0);
95
lcd.print("Set Kp:");
lcd.setCursor(0,1);
lcd.print(kp);
if(digitalRead(pbup)==LOW){delay(50);kp=kp+0.25;}
else if(digitalRead(pbdown)==LOW){delay(50);kp--;}
if(kp>30) {kp=0;}
if(kp<0) {kp=30;}
if(digitalRead(pbok)==LOW) {delay(100);menu=2;}
if(digitalRead(pbback)==LOW) {delay(100);menu=0;}
delay(5);
break;
//aturkd
case 2:
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Set Kd:");
lcd.setCursor(0,1);
lcd.print(kd);
if(digitalRead(pbup)==LOW){delay(50);kd++;}
else if(digitalRead(pbdown)==LOW){delay(50);kd--;}
if(kd>30) {kd=0;}
if(kd<0) {kd=30;}
if(digitalRead(pbok)==LOW) {delay(100);menu=3;}
if(digitalRead(pbback)==LOW) {delay(100);menu=1;}
delay(5);
break;
//atur ki
case 3:
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Set Ki:");
lcd.setCursor(0,1);
96
lcd.print(ki);
if(digitalRead(pbup)==LOW){delay(50);ki++;}
else if(digitalRead(pbdown)==LOW){delay(50);ki--;}
if(ki>30) {ki=0;}
if(ki<0) {ki=30;}
if(digitalRead(pbok)==LOW) {delay(100);menu=4;}
if(digitalRead(pbback)==LOW) {delay(100);menu=2;}
delay(5);
break;
//atur set point
case 4:
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Set SP Jarak:");
lcd.setCursor(0,1);
lcd.print(setpoint);
if(digitalRead(pbup)==LOW){delay(50);setpoint++;}
else if(digitalRead(pbdown)==LOW){delay(50);setpoint--;}
if(setpoint>30) {setpoint=0;}
if(setpoint<0) {setpoint=30;}
if(digitalRead(pbok)==LOW) {delay(100);menu=5;}
if(digitalRead(pbback)==LOW) {delay(100);menu=3;}
delay(5);
break;
//atur basepwm
case 5:
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Set Speed:");
lcd.setCursor(0,1);
lcd.print(basepwm);
if(digitalRead(pbup)==LOW){delay(50);basepwm++;}
97
else if(digitalRead(pbdown)==LOW){delay(50);basepwm--;}
if(basepwm>150) {basepwm=0;}
if(basepwm<0) {basepwm=150;}
if(digitalRead(pbok)==LOW) {delay(100);menu=6;}
if(digitalRead(pbback)==LOW) {delay(100);menu=4;}
delay(5);
break;
//atur speed bales pas belok
case 6:
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Set Speedmax:");
lcd.setCursor(0,1);
lcd.print(speedmax);
if(digitalRead(pbup)==LOW){delay(50);speedmax++;}
else if(digitalRead(pbdown)==LOW){delay(50);speedmax--;}
if(speedmax>200) {speedmax=0;}
if(speedmax<0) {speedmax=200;}
if(digitalRead(pbok)==LOW) {delay(100);menu=0;}
if(digitalRead(pbback)==LOW) {delay(100);menu=5;}
delay(5);
break;
//start kiri
case 7:
PIDsusurkiri();
dataloger();
lcd.clear();
lcd.setCursor(0,1);
lcd.print(pwmkiri);
lcd.setCursor(10,1);
lcd.print(pwmkanan);
lcd.setCursor(0,0);
98
lcd.print(jarakkiri);
lcd.setCursor(12,0);
lcd.print(jarakdepan);
digitalWrite(arahkiri,LOW);
digitalWrite(arahkanan,LOW);
analogWrite(kiri,(pwmkiri*1.003+7.3217));
analogWrite(kanan,pwmkanan);
if(digitalRead(pbok)==LOW) {delay(100);menu=0;}
break;
//start kanan
case 8:
PIDsusurkanan();
dataloger();
lcd.clear();
lcd.setCursor(0,1);
lcd.print(pwmkiri);
lcd.setCursor(10,1);
lcd.print(pwmkanan);
lcd.setCursor(0,0);
lcd.print(jarakkanan);
lcd.setCursor(12,0);
lcd.print(jarakdepan);
if (jarakdepan<=15)
{
digitalWrite(arahkiri,HIGH);
digitalWrite(arahkanan,LOW);
analogWrite(kiri,255-pwmkiri);
analogWrite(kanan,pwmkanan);
}
else if(jarakdepan>15)
{
digitalWrite(arahkiri,LOW);
99
digitalWrite(arahkanan,LOW);
analogWrite(kiri,pwmkiri);
analogWrite(kanan,pwmkanan);
}
if(digitalRead(pbok)==LOW) {delay(100);menu=0;}
delay(5);
break;
//atur susur
case 9:
lcd.clear();
if (logicatur==0)
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("atur susur");
lcd.setCursor(0,1);
lcd.print("susurkiri");
delay(100);
}
else if(logicatur==1)
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("atur susur");
lcd.setCursor(0,1);
lcd.print("susurkanan");
delay(100);
}
if(digitalRead(pbup)==LOW){delay(50);logicatur++;}
else if(digitalRead(pbdown)==LOW){delay(50);logicatur--;}
if(logicatur>1) {logicatur=0;}
if(logicatur<0) {logicatur=1;}
100
if(digitalRead(pbok)==LOW){delay(100);menu=0;}
delay(5);
break;
}
}
void dataloger()
{
String dataString = String(jarakdepan) + ", " + String(jarakkiri)+", "+String(millis())+",
"+String(kp)+","+String(ki)+","+String(kd);
//Open a file to write to
//Only one file can be open at a time
File logFile = SD.open("LOG.csv", FILE_WRITE);
if (logFile)
{
logFile.println(dataString);
logFile.close();
Serial.println(dataString);
}
else
{
Serial.println("Couldn't open log file");
}
//Increment ID number
id++;
delay(refresh_rate);
}
Top Related