PROYEK AKHIR
Dosen Pembimbing:
i
ii
ABSTRAK
iii
ABSTRACT
iv
KATA PENGANTAR
Penulis
v
UCAPAN TERIMA KASIH
Dengan penuh rasa syukur kehadirat Allah SWT serta
junjungan nabi besar kita Nabi Muhammad SAW, tanpa
menghilangkan rasa hormat yang mendalam, penulis
mengucapkan terima kasih kepada pihak-pihak yang telah
membantu penulis dalam menyelesaikan proyek akhir ini. Penulis
mengucapkan terima kasih kepada:
1. Bapak dan Ibu, serta seluruh Keluarga yang selalu memberi
dukungan dan mendo’akan dalam kegiatan pembelajaran
penulis dan penyelesaian proyek akhir ini.
2. Bapak Dr. Zainal Arief, ST., MT., selaku direktur PENS.
3. Bapak Epyk Sunarno, S.ST., MT. selaku ketua program
studi D4 Teknik Elektro Industri PENS.
4. Bapak Moch. Machmud Rifadil, S.ST., MT. dan Bapak Dr.
Arman Jaya, ST., MT., selaku dosen pembimbing proyek
akhir yang dengan sabar membimbing dalam perencanaan
dan pengerjaan proyek akhir ini.
5. Ibu Suhariningsih, S.ST., MT., Bapak Drs. Irianto, MT.,
dan Bapak Ainur Rofiq Nansur, ST., MT. selaku dosen
penguji proyek akhir yang telah memberi masukan dan saran
pada proyek akhir ini.
6. Dulur-dulur 4 D4 Elektro Industri A alias GATELIN-A
yang selalu membantu dan mendukung untuk menyelesaikan
proyek akhir ini.
7. Bapak Mail, selaku asisten Lab. Electric Drive yang sudah
berkenan membantu meminjamkan peralatan untuk
menyelesaikan proyek akhir ini.
8. Awwalun Alfin, Yora Erlangga, dan Ahmad Najih
sebagai sahabat karib, yang selalu sabar untuk membantu
dan mendukung untuk menyelesaikan proyek akhir ini.
9. Keluarga EEPROVE Team & CHAPENS Team yang
selalu siap membatu baik sarana mapun prasarana guna
tercapainya proyek akhir ini.
10. Semua pihak yang telah membantu penulis hingga
terselesaikannya proyek akhir ini yang tidak dapat penulis
sebutkan satu persatu.
Semoga Allah SWT selalu memberikan perlindungan,
rahmat, dan nikmat-Nya bagi kita semua. Amin.
vi
DAFTAR ISI
HALAMAN JUDUL......................................................................... i
HALAMAN PENGESAHAN .......................................................... ii
ABSTRAK ......................................................................................... iii
ABSTRACT ...................................................................................... iv
KATA PENGANTAR ...................................................................... v
UCAPAN TERIMA KASIH ............................................................ vi
DAFTAR ISI ..................................................................................... vii
DAFTAR GAMBAR ........................................................................ ix
DAFTAR TABEL ............................................................................. xi
vii
3.3.6. Rangkaian Rangkaian Penguatan Op Amp ................. 25
3.3. Perencanaan dan Pembuatan Perangkat Lunak .......................... 25
3.3.1. Logika Fuzzy .............................................................. 26
3.3.1.1. Fuzyfikasi.................................................................... 26
3.3.1.2. Rule Base Fuzzy.......................................................... 28
3.3.1.3. Defuzyfikasi ................................................................ 30
3.4. Perencanaan dan Pembuatan Mekanik ....................................... 30
3.4.1. Mekanik Pengereman .................................................. 32
3.4.2. Penempatan Sensor Jarak ............................................ 33
BAB V. PENUTUP
5.1 Kesimpulan ................................................................................. 63
5.2 Saran ........................................................................................... 63
DAFTAR PUSTAKA
LAMPIRAN
BIODATA PENULIS
viii
DAFTAR GAMBAR
ix
Gambar 4.11 Pengujian servo pada rem mobil di bidang miring ....... 53
Gambar 4.12 Grafik throttle motor terhadap kecepatan dan jarak
mobil ............................................................................. 56
Gambar 4.13 Grafik sudut pengereman servo terhadap kecepatan
dan jarak mobil ............................................................. 56
Gambar 4.14 Simulasi Fuzzy Logic Pada MATLAB .......................... 57
Gambar 4.15 Pengujian Pengereman Otomatis ................................... 60
x
DAFTAR TABEL
xi
BAB I
PENDAHULUAN
1
aman kendaraan agar dapat bergerak maju dan berhenti secara
otomatis sehingga pengemudi hanya perlu focus untuk
mengendalikan kemudi ketika berbelok. Untuk menjaga jarak
aman kendaraan saat melaju, mikrokontroler harus mengetahui
kecepatan mobil dan jarak mobil dengan kedaraan yang berada
di depan mobil tersebut. Dengan sistem adaptive cruise control
pada mobil listrik ini akan dapat mempermudah pengendara saat
mengemudi terlebih saat kemacetan serta dapat mengurangi
polusi udara.
1.3 Tujuan
Tujuan dari pembuatan tugas akhir ini adalah merancang
dan merealisasikan sebuah sistem adaptive cruise control yang
diterapkan pada mobil listrik menggunakan logika fuzzy sebagai
metode pengontrolan dengan parameter data jarak obyek yang
berada di depan mobil dan kecepatan mobil sehingga mampu
2
melakukan percepatan atau perlambatan secara otomatis untuk
menjaga jarak aman kendaraan saat melaju.
1.5. Manfaat
Manfaat yang diharapkan dari hasil proyek akhir ini adalah
mengenalkan teknologi modern sebagai solusi alternatif masalah
kendaraan bermotor di Indonesia. Dengan adaptive cruise
control pada mobil listrik ini mempermudah pengemudi mobil
saat menghadapi kemacetan sehingga mengurangi rasa lelah,
bosan, dan stress serta dapat mengurangi polusi udara.
1.6. Metodologi
Dalam penyusunan Proyek Akhir ini diperlukan suatu
metodologi untuk mendapatkan hasil yang memuaskan.
Rancangan metodologi dalam pengerjaan Proyek Akhir ini antara
lain :
3
1.6.1. Studi Literatur
Studi literatur diperoleh dari jurnal-jurnal, buku-buku
teks, dan beberapa sumber dari internet yang sesuai dengan
bahasan Proyek Akhir. Pada studi literatur dipelajari mengenai
Gambaran umum dan dasar teori penunjang yang dipakai untuk
merealisasikan alat, antara lain Adaptive Cruise Control, Motor
DC Tanpa Sikat (Brushless DC Motor), Mikrokontroler
STM32F407VG (ARM cortex-M4F) dan teori-teori lain yang
sesuai dengan Proyek Akhir ini.
4
48 V, Motor BLDC 1 kW, LCD Karakter, Sensor LIDAR Lite
V3 dan Motor Servo. Pada sistem ini digunakan motor BLDC
yang berfungsi sebagai penggerak utama. Untuk mengatur
kecepatan motor digunakan throttle yang berfungsi mengatur
besar tegangan yang diinputkan pada driver motor. Sensor jarak
LIDAR digunakan untuk mendeteksi jarak kendaraan yang ada di
sekitar. Sensor LIDAR yang berada pada depan mobil digunakan
sebagai acuan untuk motor servo melakukan tarikan pada tuas
rem.
5
1.6.5. Pengujian Sistem
Pada tahap ini dilakukan integrasi sistem dari bagian-
bagian yang telah dibuat. Setelah itu dilakukan pengujian sistem
yang telah terintegrasi dan dilakukan perbaikan jika terjadi
fault (kegagalan).
JUDUL
Pada halaman judul ini terdapat judul tugas akhir yang akan
dikerjakan.
PENGESAHAN
Pada halaman pengesahan ini terdapat pengesahan atau tanda
tangan dari dosen pembimbing dan penguji, sebagai persetujuan.
ABSTRAK
Pada abstrak ini akan dijelaskan tugas akhir ini secara
keseluruhan atau bisa dikatakn hasil dari alat yang di uji, seperti
kesimpulan.
BAB I PENDAHULUAN
Pada Bab I berisikan latar belakang pembuatan alat pada proyek
akhir, tujuan yang ingin dicapai, batasan masalah pada proyek
akhir, serta sistematika pembahasan.
6
BAB II DASAR TEORI
Bab II meliputi literatur-literatur, teori dasar, serta referensi yang
berguna sebagai acuan dan landasan dalam perencanaan dan
pembuatan proyek akhir.
7
controller PID digunakan untuk mengatur respon kecepatan
motor dc.
8
BAB II
TINJAUAN PUSTAKA
9
logika fuzzy. Sistem inferensi fuzzy telah berhasil diterapkan di
bidang seperti kontrol otomatis, klasifikasi data, analisis
keputusan, sistem pakar, dan visi komputer. Ada dua jenis sistem
inferensi fuzzy yang bisa jadi diimplementasikan jenis Mamdani
dan tipe Sugeno.Kedua jenis sistem inferensi ini agak berbeda
cara output ditentukan. Inferensi gaya Mamdani membutuhkan
menemukan centroid dari bentuk dua dimensi dengan
mengintegrasikan melintasi fungsi yang terus berubah. Michio
Sugeno menyarankan untuk menggunakan satu spike, singleton
sebagai fungsi keanggotaan dari konsekuensi. Sebuah singleton,
atau lebih tepat single fuzzy, adalah himpunan fuzzy dengan
fungsi keanggotaan yaitu kesatuan pada satu titik tertentu.
Tahapan pengendalian fuzzy adalah sebagai berikut :
A. Fuzzyfikasi
Proses fuzzyfikasi yaitu mengubah nilai suatu masukan
menjadi suatu fungsi keanggotaan fuzzy. Pada proses ini
membership function ditentukan. Membership function adalah
suatu kurva yang menunjukkan pemetaan titik-titik input data
kedalam nilai data keanggotaan.
C. Defuzzyfikasi
Proses defuzzyfikasi merupakan pengubahan kembali data-
data fuzzy kembali ke dalam bentuk numerik yang dapat
dikirimkan ke peralatan pengendalian.
10
respon dinamik juga lebih baik serta waktu respon yang lebih
pendek sehingga didapatkan small steady state error dan
kepresisian lebih tinggi.
11
2.4. Motor Servo
12
rem. Sistem pengereman seperti ini menggunakan model
menjepit sebuah disk brake yang dilakukan oleh caliper rem.
Caliper rem mendapatkan sebuah tekanan dari dalam kabel rem
yang berisi minyak rem. Penekanan pedal rem akan
menimbulkan jepitan caliper yang terdapat kampas rem terhadap
piringan rem.
13
menciptakan medan magnet putar stator untuk menarik magnet
rotor.
Karena tidak ada brush pada motor BLDC, untuk
menentukan timing komutasi yang tepat pada motor ini sehingga
didapatkan torsi dan kecepatan yang konstan, diperlukan tiga
buah sensor hall dan atau encoder.
14
Gambar 2.6 Rangkaian Pengganti Motor BLDC
Tiap Fasa Pada Kondisi Steady State
15
Dimana 𝑇𝑙𝑜𝑠𝑠𝑒𝑠 adalah total torsi akibat gesekan, kumparan,
dan rugi besi. Dengan menurunkan nilai amplitude (modulus),
didapatkan
𝑚𝑝
𝑇𝑒𝑚 = 𝜆𝑚 𝐼.................................................................................... (2.6)
2
𝑉 = 𝐸 + 𝑅𝐼 ....................................................................................... (2.8)
16
BAB III
PERENCANAAN DAN PEMBUATAN SISTEM
17
penggerak utama mobil listrik. Digunakan juga baterai tambahan
12V sebagai sumber tegangan tegangan bagi mikrokontroller
ARM STM32F407-Discoverys sebesar 5V.
Sebagai sistem monitoring daya yang terpakai saat mobil
dijalankan, proyek akhir ini dilengkapi dengan sensor tegangan
dan arus pada beban motor dan baterai utama yang akan
ditampilkan pada LCD. Berdasarkan blok diagram pada Gambar
3.1, perancangan dan pembuatan perangkat keras pada proyek
akhir ini meliputi sebagai berikut :
A. Perancangan dan Pembuatan Perangkat Keras
1. Perencanaan dan pembuatan rangkaian sensor tegangan.
2. Perencanaan dan pembuatan rangkaian sensor arus.
3. Perencanaan dan pembuatan rangkaian sensor jarak.
4. Perencanaan dan pembuatan rangkaian sensor
kecepatan.
5. Perencanaan dan pembuatan rangkaian servo.
6. Perencanaan dan pembuatan rangkaian penguatan op
amp.
B. Perancangan dan Pembuatan Perangkat Lunak
1. Perencanaan kontrol metode logika fuzzy
C. Perancangan dan Pembuatan Mekanik
1. Perencanaan dan pembuatan mekanik pengereman.
2. Perencanaan dan penempatan sensor jarak pada mobil.
18
3.2. Flowchart Sistem Kontrol
START
Y Fuzzy Logic
ACC = ON?
Control ( )
Decision Rules ( )
Defuzzyfikasi ( )
END
19
3.3. Perancangan dan Pembuatan Perangkat Elektrik
Sistem elektrik pada proyek akhir ini memiliki beberapa
bagian penting yaitu sensor, mikrokontroler, display, dan
aktuator. Software designer yang digunakan dalam pembuatan
perangkat elektrik pada proyek akhir ini adalah EAGLE 6.5.0.
Penulis memilih software desainer ini untuk perencanan dan
desain seluruh rangkaian baik skematik maupun layout dari
rangkaian yang dibutuhkan. Dalam sistem ini terdapat satu papan
PCB yang berisi rangkaian untuk tempat ARM STM32F4-
Discovery dengan mengeluarkan fungsi dari pinout sesuai
kebutuhan seperti sensor, regulator, I2C, dan LCD.
20
3.3.2. Perencanaan dan Pembuatan Sensor Tegangan
Pada proyek akhir ini menggunakan dua buah sensor
tegangan yang digunakan untuk melihat tegangan keluaran dari
baterai utama. Rangkaian sensor tegangan ini menggunakan
prinsip rangkaian pembagi tegangan. Namun dalam
pengaplikasian pada resistor input menggunakan variable resistor
10K Ohm agar dapat mengatur besar resistansi yang
mempengaruhi output sesuai dengan perhitungan rumus pembagi
tegangan.
Rangkaian sensor tegangan ini mengeluarkan data analog
yang dirubah menjadi data digital dengan menggunakan fitur
ADC pada mikrokontroller. Gambar 3.4. merupakan rangkaian
pembagi tegangan dari yang digunakan sebagai sensor tegangan
𝑅2
𝑉𝑜𝑢𝑡 = 𝑥 𝑉𝑖𝑛
𝑅1+𝑅2
21
𝑅2
2,9 = 𝑥 60
33000+𝑅2
2,9R2+95700=60R2
98700
𝑅2 = 57.1
𝑅1 = 1676 Ω
22
Gambar 3.5 Skematik Rangkaian Sensor Jarak
23
berupa pulsa yang kemudian akan dibaca oleh mikrokontroller
melalui external interrupt. Perhitungan pulsa tersebut dapat
dikonversi menjadi satuan rpm berdasarkan persamaan 3.3.
counter x60
rpm = .....................................................................................(3.3)
n
Dimana :
Counter = jumlah pulsa yang terbaca mikrokontroller tiap detik
n = jumlah lubang piringan yang digunakan
24
3.3.6. Perencanaan Penguatan Rangkaian Op-Amp
Tegangan output DAC saat nilai bit maksimum sebesar
2,9V karena tegangan referensi 3 Volt. Penguat non-inverting
pada DAC bertujuan agar output tegangan penguat tetap positif.
Besar kecil dari penguatan dikontrol dengan menentukan nilai Ri.
Tipe IC op-amp LM741 digunakan sebagai penguat non-
inverting. Output DAC dapat mengontrol besar throttle (gas)
pada motor BLDC secara maksimal. Untuk mengetahui seberapa
besar penguatan yang dihasilkan oleh DAC ini, dapat digunakan
persamaan 3.4 sebagai berikut:
Ri = 3,3 kΩ dan Rf = 2,2 kΩ
𝑅𝑓
Av = ( + 1) ..………………….…………………….....(3.4)
𝑅𝑖
= (2.2k/3.3k + 1)
= 1,67
Keterangan persamaan 3.4:
Av = Besarnya penguatan
Rf = Hambatan Referensi (Ω)
Ri = Hambatan input (Ω)
25
digunakan pada KEIL uVision5 adalah bahasa C dengan sebelum
dilakukan include driver berdasarkan library hardware dari
ARM STM32F407-Discovery. Dalam perencanaan pembuatan
desain perangkat lunak yang menggunakan mikrokontroler, perlu
dilakukan mapping input/output yang digunakan. Karena
beberapa pheriperal memerlukan fungsi khusus dalam
penggunaan, misal External Interupt (EXTI), Analog to Digital
Converter (ADC), Timer Pulse Width Modulation (PWM),
GPIO_input, GPIO_output, I2C, dsb.
3.4.1.1. Fuzzyfikasi
Dalam proses fuzzyfikasi ini menggunakan masukan
berupa data jarak mobil dengan obyek yang berada di depan dan
juga kondisi kecepatan mobil. Sedangkan untuk output yang akan
dilakukan berupa PWM yang digunakan mengontrol kecepatan
motor BLDC dan mengontrol gerak motor servo. Besar nilai
PWM ini yang akan selalu digunakan untuk mengontrol aksi
mobil dalam melakukan percepatan dan juga perlambatan agar
dapat menjaga jarak aman mobil. Dua variabel input masing-
masing memiliki range, dengan data sebagai berikut:
26
Data dari variable kecepatan merupakan reverensi dari
buku TA sebelumnya yang berjudul “Rancang Bangun Sistem
Adaptive Cruise Control Pada Mobil Listrik Menggunakan
Logika Fuzzy”, oleh Ahmad Najih. Sedangkan variable untuk
jarak diperoleh dari datasheet sensor LIDAR lite v3.
Semua batasan ini dimasukkan ke dalam suatu fungsi
keanggotaan atau membership function (MF). Dalam sistem ini
membership function untuk input adalah range jarak dan
kecepatan yang sudah diatur dengan bentuk fungsi adalah
segitiga. Jumlah dari membership function ini adalah lima
kondisi range. Dengan kondisi ini dapat menjadi acuan input
yang akan diproses mikrokontroller untuk menentukan aksi.
Grafik membership function yang diatur dalam sistem ini
ditunjukan pada gambar 3.8 dan 3.9.
27
3.4.1.2. Rule Base Fuzzy
Setelah mendapat nilai derajat keanggotaan dari
pembacaan sensor jarak dan sensor kecepatan pada proses
fuzzifikasi maka nilai tersebut akan dimasukkan ke dalam proses
if then rule base fuzzy umtuk menghasilkan rule strength operasi
AND. Rule base ini berfungsi untuk mempermudah system
control fuzzy dalam menentukan tindakan yang di ambil jika
terjadi beberapa kondisi yang terjadi. Dengan menggunakan
persamaan berikut maka didapatkan perencanaan untuk
mendapatkan perlambatan dan jarak aman yang ditentukan:
St = Vk . t – 1 𝑎t2 𝑉 1
St = Vk ( 𝑘 ) - 𝑎.t2
2 𝑎 2
Vt = Vk – 𝑎t
𝑉𝑘2 1 𝑉 2
St = - 𝑎. ( 𝑘 )
Vt = 0 𝑎 2 𝑎
0 = Vk – 𝑎t 𝑉𝑘2 1 𝑉2𝑘
St =
𝑎
-
2
.
𝑎
Vk = 𝑎t
1 𝑉𝑘2
t = Vk St = x
2 𝑎
𝑎
𝑉𝑘2
𝑎=
2.𝑆𝑡
Dimana :
St = Jarak Pengereman
Vk = Kecepatan Kendaraan
𝑎 = Perlambatan
t = waktu Pengereman
28
Jika jarak dengan obstacle yang ditargetkan untuk berhenti
setelah pengereman maksimum adalah 5 meter maka jarak 10
meter akan menjadi acuan untuk mobil melakukan pengereman
maksimum ketika mobil dalam keadaan kecepatan maksimum
yaitu 15 km/jam(7 m/s) adalah :
𝑉𝑘2 4,172
𝑎= = = 0,86 m/s2
2.𝑆𝑡 2.10
Tabel 3.3. Rule base logika fuzzy yang digunakan dalam sistem
variab Jarak
le
Kondisi S_dekat Dekat Sedang Jauh S_jauh
S_lambat NBt NBt NSt NSt NSt
29
3.4.1.3. Defuzzyfikasi
Dimana proses defuzzyfikasi ini adalah untuk mengubah
nilai keluaran fuzzy ke dalam nilai keluaran (output) dengan
bentuk MF. Terdapat dua perlakuan yaitu berupa kontrol motor
servo yang disambung dengan pedal rem agar melakukan gerakan
pelambatan dan pengontrolan kecepatan motor BLDC untuk
aksi penambahan percepatan atau perlambatan.
30
yang digunakan dalam pembuatan mekanik pada penelitian ini
adalah Autodesk Inventor 2016.
Rancangan dalam sistem ini adalah tipe prototype yang
mengedepankan sisi aerodinamis sehingga bentuk bodi
menyerupai sebuah peluru. Konsep tersebut dibuat untuk
meringankan mobil karena dibutuhkan agar kemudahan dalam
akan percepatan dan pengereman secara otomatis. Tabel lengkap
spesifikasi mobil yang akan dipakai dalam sistem proyek akhir
ini ditunjukan pada lampiran D.1.
Dalam perencanaan yang dibuat adalah mobil dengan
menggunakan 3 roda penggerak. Letak roda tersebut adalah dua
roda berada di depan dan satu roda berada di balakang.
Konstruksi chassis yang dibuat menggunakan tipe ladder dengan
bentuk seperti tangga agar lebih kuat menopang beban. Bahan
yang digunakan adalah aluminium hollow yang di sambung
menggunakan las diral agar didapatkan berat yang ringan namun
tetap kuat.
Tipe steering pada mobil ini menggunakan design setir
gokart dengan perbandingan 1:1 yang mengendalikan 2 roda
depan yang sudah digabungkan dengan sebuah pipa aluminum.
Terdapat juga sekat antara ruang pengemudi dengan ruang mesin.
Hal ini diberikan agar keamaan pengemudi tetap terjaga dengan
baik. Berikut adalah design chassis mobil yang dibuat
31
Bodi mobil yang dipakai menggunakan bahan serat
fiber. Bahan ini memiliki kekuatan lebih serta proses pembuatan
yang tidak terlalu rumit. Kaca mobil didesain agar pengemudi
dapat melihat dengan jelas dan mudah. Bahan yang dipilih adalah
acrylic 1mm agar mudah untuk memotong dan membentuk
sesuai design.
32
3.5.2. Perencanaan Dan Penempatan Sensor Jarak
Sensor jarak dalam proyek ini akhir sangat diperlukan
dalam mendeteksi obyek yang berada di depan mobil. Hal ini
diperlukan karena pembacaan jarak menjadi salah satu parameter
yang menentukan aksi untuk mobil melakukan percepatan atau
perlambatan sesuai jarak aman secara otomatis.
Pada perencanaan penempatan sensor jarak ini harus
tepat agar mendapatkan data yang akurat serta meminimalisir
terjadi eror sesuai jarak optimal sensor. Setelah dilakukan
pengujian sudut serta jarak sensor, dibuatlah desain penempatan
sensor yang tepat.
33
*Halaman ini sengaja dikosongkan*
34
BAB IV
PENGUJIAN DATA
35
dauhulu sebesar 2.9V. Hasil pengujian akan dijelaskan pada
lampiran tabel 4.1. Grafik berikut menunjukan bahwa sensor
tegangan memiliki nilai linieritas pada nilai output tegangan
sensor.
36
Vin Vo Sensor Vo Teori Error
ADC
(V) (V) (V) (%)
36 1.716 1.739 1.323 2358
40 1.907 1.932 1.306 2617
44 2.103 2.125 1.056 2885
48 2.292 2.319 1.150 3151
52 2.483 2.512 1.150 3415
56 2.679 2.705 0.966 3681
60 2.868 2.898 1.047 3950
Dari data pengujian pada Tabel 4.1 dan Gambar 4.1 sensor
tegangan dapat dikatakan baik karena memiliki nilai error yang
rendah dan memiliki kurva yang linier seiring dengan kenaikan
tegangan pada sisi input.
Setelah melakukan pengambilan data sensor dan uji partisi
pada modul sensor tegangan, maka akan dilakukan kepresisian
modul TA terhadap alat ukur yang sudah ada dan parsing data
untuk konfersi data ADC ke nilai tegangan real (asli).
Konfersi pembacaan ke mikrokontroler
ADC = ADC (real time) – ADC (zero current) ……………… (4.1)
Tegangan = (ADC) x V(max) ) / (4095) ……………… (4.2)
37
Gambar 4.2. Grafik Sensivitas Sensor Arus
38
Arus ADC ADC Vout Error ADC
(Test) (Mikro) (Teori) (Sensor) (%)
14 2595 2578 1.857 0.668
16 2677 2660 1.916 0.652
18 2759 2732 1.968 0.994
20 2836 2811 2.025 0.890
39
Jarak Sesungguhnya Jarak LIDAR ERROR
(M) (M) (%)
22 22.03 0.14
24 23.98 0.08
26 26.03 0.12
28 27.96 0.14
30 30.08 0.27
32 31.96 0.12
33 32.94 0.18
34 34.05 0.15
35 35 0.00
36 36.04 0.11
37 37 0.00
38 38.16 0.42
39 - -
40 - -
40
Gambar 4.3. Pengujian Sensor Jarak LIDAR
41
yang nantinya servo akan berputar dan menarik pedal rem. Pada
umumnya duty cycle yang diperlukan untuk men-drive servo
adalah 0-12,5%. Sedangkan spesifikasi sudut yang dimiliki servo
dapat digunakan adalah antara 0o hingga 200o. Servo ini memiliki
torsi hingga 27kg pada tegangan kerja 6 volt.
42
Tabel 4.5 Data pengujian DAC Mikrokontroller ARM
No Desimal Vo Praktek (mV) Vo teori (mV) % Error
1 0 47 0 -
2 64 48 45 6.3
3 128 82 90 9.3
4 256 167 181 7.6
5 512 351 362 3
6 1024 717 725 1.1
7 2048 1452 1450 0.1
8 4095 2893 2899 0.2
43
sampai dengan 3 Volt. Karena untuk mengatur besar tegangan
yang digunakan untuk mengatur throttle sampai dengan 5 Volt,
maka tegangan keluaran dari DAC mikrokontroller
membutuhkan penguatan dengan menggunakan IC LM741.
Tegangan output DAC pada saat nilai bit maksimum adalah 2,89
Volt, karena tegangan referensi 3 Volt.
Parameter – parameter data yang diambil pada pengujian
kali ini adalah berupa tegangan keluaran rangkaian Op-Amp,
yaitu penguatan tegangan dari DAC Mikrokontroller. Berikut
hasil data rangkaian Op-Amp yang ditunjukkan pada tabel 4.6.
Tabel 4.6 Data Pengujian Rangkaian Op-Amp
No V input (mV) Vo Prak (V) Vo Teori (V) % Error
1 47 0,01 0,0 -
2 48 0,081 0,075 7,3
3 82 0,152 0,151 0,4
4 167 0,305 0,302 1
5 351 0,612 0,605 1
6 717 1,22 1,21 0,9
7 1452 2,44 2,42 1
8 2893 4,86 4,84 0,5
𝑉𝑜𝑢𝑡 (𝑝𝑒𝑛𝑔𝑢𝑎𝑡𝑎𝑛)
A= …………………………………… (4.4)
𝑉𝑖𝑛
5 𝑉𝑜𝑙𝑡
A= = 1.7
2,89 𝑉𝑜𝑙𝑡
44
Vout = Vinput × A …………………………...………….(4.5)
Keterangan persamaan 4.5:
Vout = Tegangan output (Volt)
Vinput = Tegangan input (Volt)
A = Besar penguatan
Pengaturan nilai tegangan DAC adalah 0 - 5 volt. Pada
gambar 4.5 berikut adalah gambar grafik hasil pengukuran
tegangan keluaran rangkaian Op-Amp menggunakan IC LM741.
3
2
1
0
0,0000 0,5000 1,0000 1,5000 2,0000 2,5000 3,0000 3,5000
Vin
45
mengambil data bagaimana motor BLDC ini dapat berputar
dengan kecepatan tertentu. Pengujian ini mengatur nilai keluaran
tegangan yang akan digunakan untuk memutar motor BLDC.
46
No. Decimal Rpm Motor
13 1700 317
14 1800 330
15 1900 355
16 2000 381
17 2100 408
18 2200 440
19 2300 468
20 2400 498
21 2500 500
22 2600 500
23 2700 504
24 2800 502
25 2900 500
26 3000 503
47
Grafik Nilai Decimal Mikro Terhadap Kec. Motor
600
500
400
300
RPM
200
100
0
0 500 1000 1500 2000 2500 3000 3500
-100
Decimal
48
Keterangan :
r = Jari-jari roda (0.2 m)
v = Kecepatan linier (m/s)
49
Rps = Rpm …............................................................... (4.8)
60
Keterangan :
r = Jari-jari roda (0.2 m)
v = Kecepatan linier (km/h)
Rps = Rad per second
50
berhenti maka akan diketahui jarak berhenti dari batas yang
ditentukan. Berikut pada tabel 4.9 adalah hasil pengujian
kekuatan mekanik rem
𝑣𝑡 2 = 𝑣 2 + 2 𝑎 𝑠
𝑣𝑡 2 = 0.832 + 2 𝑎 0.1
𝑣𝑡 2 = 0.688 + 0.2 𝑎
0.688
𝑎=− = −3.4 𝑚/𝑠 2
0.2
51
Tabel 4.10. Data hasil pengujian servo dengan sistem pengereman
Duty Cycle Sudut Putar Aksi rem
(%) (derajat) (dalam %)
1 18 10
2 36 20
3 54 30
4 72 40
5 90 50
6 108 60
7 126 70
8 144 80
9 162 90
10 180 100
52
Gambar 4.11. Pengujian servo pada rem mobil di bidang miring
53
motor servo yang disambung dengan pedal rem. Motor servo
yang digunakan memiliki torsi sebesar 25 Kg yang bekerja
berdasarkan PWM.
Untuk mendapatkan pengereman yang optimal hal yang
perlu diperhatikan yakni berat badan, luas bidang gesek antara
roda dengan aspal, tekanan hidrolik rem, luas penampang
piringan cakram dan bahan dasar kampas rem. Dalam proyek
akhir ini pengemudi memiliki berat badan 70Kg.
Setelah itu dilakukan pengujian sistem pengereman
integrasi total beserta kontrol logika fuzzy untuk mengetahui
respon pengereman ketika mendapatkan respon dari sensor jarak
dan kecepatan. Hasil pengujian dapat dilihat pada tabel 4.12.
54
Jarak Kecepatan Motor BLDC Motor Servo
(m) (km/j) Throttle (%) Aksi Sudut (%) Aksi
16 10.3 88.9 1 0 0
15 10.3 69.4 1 0 0
14 7.98 68.3 1 0 0
13 7.98 64.1 1 0 0
12 7.54 59.4 1 0 0
11 8.85 58.4 1 0 0
10 8.85 51 1 0 0
9 7.83 47.3 1 0 0
8 7.83 0 0 42 1
7 6 0 0 68 1
6 6 0 0 55.7 1
5 6.8 0 0 90.3 1
4 7.4 0 0 85.7 1
3 6.8 0 0 85.7 1
2 3.05 0 0 85.7 1
1 0 0 0 85.7 1
55
perencanaan dengan hasil yang didapat. Pengujian dilakukan
dengan cara dua tahap, yaitu:
Gambar 4.12. Grafik throttle motor terhadap kecepatan dan jarak mobil
Gambar 4.13. Grafik sudut pengereman servo terhadap kecepatan dan jarak
mobil
56
Tabel 4.13. Pengujian fuzzy hasil software dengan hardware
Kecepatan (km/jam)
Data Matlab Data hardware
0 3 5 8 11 14 0 3 5 8 11 14
0 85 85 85 85 100 100 85 85 85 85 100 100
5 85 85 85 85 100 100 85 85 85 85 100 100
7 14 14 14 43 85 85 14 14 14 43 85 85
9 0 0 0 0 43 43 0 0 0 0 43 43
13 0 0 0 0 0 0 0 0 0 0 0 0
Jarak (m)
15 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
5 0 0 0 0 0 0 0 0 0 0 0 0
7 0 0 0 0 0 0 0 0 0 0 0 0
9 14 14 47 47 0 0 14 14 47 47 0 0
13 14 14 47 70 70 70 14 14 47 70 70 70
15 14 14 47 70 100 100 14 14 47 70 100 100
Keterangan :
= output sudut pengereman oleh motor servo
= output kecepatan motor BLDC
57
Dari tabel 4.13 dibandingkan hasil dari simulasi control
logika fuzzy mengguanakan software MATLAB dengan program
control logika fuzzy pada mikrokontroller ARM STM32F4. Data
menunjukan bahwa data simulasi dengan data program sudah
sesuai dan sistem dapat berjalan sesuai perancangan yang dibuat.
Dengan menggunakan program ini maka sistem adaptive cruise
control dapat berjalan sesuai dengan yang diharapkan.
58
3. Sistem akan menjalankan mobil dari garis start dengan
kenaikan kecepatan tertentu sesuai dengan jarak aman.
4. Hentikan obyek setelah dipindahkan sejauh 25 m.
5. Mobil akan otomatis melakukan perlambatan hingga
berhenti.
6. Hasil pengujian dapat dilihat pada tabel 4.15.
59
sangat dekat. Hasil seperti yang dijelaskan diatas karena
kemampuan dari sistem yang terbatas.
60
Keterangan :
= mengalami aksi percepatan/perlambatan
- = tidak mengalami aksi percepatan/perlambatan
61
*Halaman ini sengaja dikosongkan*
62
BAB V
PENUTUP
5.1. Kesimpulan
Dari seluruh tahapan dalam pengerjaan proyek akhir ini
maka penyusun dapat menyimpulkan :
1. Nilai throttle (gas) berbanding lurus dengan kecepatan
motor. Yaitu saat throttle (0-100) % dan kecepatan motor
bernilai (0-15) km/h. Namun perubahan kecepatan motor
tidak linear dengan perubahan duty cycle, karena
diakibatkan karakteristik dari motor BLDC.
2. Secara keseluruhan sistem adaptive cruise control sudah
bekerja dengan baik, meskipun masih memiliki error pada
setiap kondisi. Hasil menunjukkan ketika diberi beban
pengemudi 50 kg, pengujian pertama (pengereman
mendadak) mobil dengan kecepatan awal 15 km/h dapat
berhenti di depan mobil dengan jarak 85 cm. Sedangkan
ketika kecepatan awal mobil menyesuaikan dengan
kecepatan mobil yang ada di depan mobil akan menjaga
jarak sejauh 9 m ketika melaju dan 2 m ketika berhenti.
Hasil menunjukkan bahwa simulasi dan pengujian dari
adaptive cruise control sistem secara elektrik sudah sesuai
dengan beberapa perumusan yang telah dirancang. Pada
bagian mekanik, sudah berjalan dengan baik secara
maksimal untuk mendukung proses pengereman.
3. Dengan adaptive cruise control sistem dapat membantu
pengendara dalam menjaga jarak aman mobil dengan obyek
di depannya secara otomatis, sehingga mengurangi rasa
lelah dalam menghadapi kemacetan lalu lintas
5.2. Saran
1. Penggunaan image processing system sebagai input data agar
lebih meluas pada obyek penjalan kaki atau pembaca garis
marka.
2. Sistem mekanik yang ergonomis agar pengendara lebih
nyaman dan aman sehingga dapat menjadi mobil masa
depan.
63
3. Penggunaan metode pengontrolan yang terus diperbarui agar
menemukan metode yang lebih cepat dan aman.
64
DAFTAR PUSTAKA
65
9. W. Hangbo-bo, S. Xiao-wen and y. Jiang, "Research on
Hierarchical Control of Automobile Adaptive Cruise System
Based on The Mode Swtiching," in 28th Chinese Control and
Decision Conference (CCDC), Hefei, China, 2016.
66
BIODATA PENULIS
Riwayat Pendidikan:
SDN Sanan Weatan 3 Blitar Tahun 2002-2008
SMP Negeri 2 Blitar Tahun 2008-2011
SMA Negeri 1 Talun Tahun 2011-2014
Politeknik Elektronika Negeri Surabaya Tahun 2014-2018
67
LAMPIRAN
68
1.6 Rangkaian Board Mikrokontroller ARM
STM32F407VG
69
1.7 Hardware Mikrokontroller ARM STM32F407VG
70
1.9 Program main.c Keil U Vision (ARM STM32F4VG)
#include "main.h"
#include "stm32f4xx_hal.h"
float r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11,r12,r13,r14,r15;
float r16, r17, r18, r19, r20, r21, r22, r23, r24, r25;
float m1,m2,m3,m4,m5,m6,m7,m8,m9,m10;
float m11,m12,m13,m14,m15,m16, m17, m18, m19, m20;
float m21, m22, m23, m24, m25;
71
I2C_Send_Data[1]= 0x00;
HAL_I2C_Master_Transmit(LIDAR_I2C,
LIDAR_Address, I2C_Send_Data, 2, 50);
}
int Read_LIDAR() //Fungsi untuk Ambil Data
{
static int data;
I2C_Send_Data[0]= 0x00;
I2C_Send_Data[1]= 0x04;
HAL_I2C_Master_Transmit(LIDAR_I2C,
LIDAR_Address, I2C_Send_Data, 2, 50);
HAL_Delay(10);
I2C_Send_Data[0]= 0x8F;
HAL_I2C_Master_Transmit(LIDAR_I2C,
LIDAR_Address, I2C_Send_Data, 1, 50);
HAL_I2C_Master_Receive(LIDAR_I2C,
LIDAR_Address, I2C_Receive_Data, 2, 50);
data= (I2C_Receive_Data[0] << 8) +
I2C_Receive_Data[1];
return (data);
}
void ShortLogging(void)
{
sprintf(Logging,"%1.2f|%1.2f|%1.2f|%1.2f|%1.2f|%1.2f|%1.2f|\n
",vout,iout,j,sudut,data,gas,s);
HAL_UART_Transmit_IT(&huart3,(uint8_t*)Logging,
strlen(Logging));
}
72
//-------------------- Sensor Kecepatan-------------------//
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
l++;
}
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef
*htim)
{
if(htim->Instance==TIM1) //Fungsi Interrupt Timer
{
waktu++;
if(waktu==5000)
{
k=(((l*60/24))*1);
s=(((2*0.20*22)/7)*3.6*k/60)/1.3;
waktu=0;
l=0;
}
}
if(htim->Instance==TIM2)
{
// fuzzifikasi kecepatan--------------------------------------------------
//penetrala atau pengkondisian awal
s_lambat= 0;
lambat = 0;
k_sedang= 0;
cepat = 0;
s_cepat = 0;
73
//penentuan titik lokasi input 1
if( k <= 40) s_lambat = 1;
else if ((k > 40) && (k <= 90))
{
s_lambat = (90 - k) / (90 - 40);
lambat = (k - 40) / (90 -40);
}
else if ((k > 90) && (k <= 140))
{
lambat = (140 - k) / (140 - 90);
k_sedang = (k - 90) / (140 - 90);
}
else if ((k > 140) && (k <= 200))
{
k_sedang = (200 - k) / (200 - 140);
cepat = (k - 140) / (200 - 140);
}
else if ((k > 200) && (k <= 240))
{
cepat = (240 - k) / (240 - 200);
s_cepat = (k- 200) / (240- 200);
}
else s_cepat = 1;
s_dekat = 0;
dekat = 0;
j_sedang= 0;
jauh = 0;
s_jauh = 0;
74
//penentuan titik lokasi input 2
if( j <= 500) s_dekat = 1;
else if ((j > 500) && (j <= 700))
{
s_dekat = (700 - j) / (700 - 500);
dekat = (j - 500) / (700 - 500);
}
else if ((j > 700) && (j <= 900))
{
dekat = (900-j) / (900 - 700);
j_sedang= (j - 700) / (900 - 700);
}
else if ((j > 900) && (j<= 1300))
{
j_sedang = (1300 - j) / (1300 - 900);
jauh = (j - 900) / (1300 - 900);
}
else if ((j> 1300) && (j <= 1500))
{
jauh = (1500 - j) / (1500 - 1300);
s_jauh = (j - 1300) / (1500 - 1300);
}
else s_jauh = 1;
//deklarasi membership function
min=s_lambat;
if(s_dekat<min)
{
min=s_dekat;
}
rule_s1=min;
min=s_lambat;
if(dekat<min)
{
min=dekat;
75
} rule_s7=min;
rule_s2=min; min=lambat;
if(j_sedang<min)
min=s_lambat; {
if(j_sedang<min) min=j_sedang;
{ }
min=j_sedang; rule_s8=min;
} min=lambat;
if(jauh<min)
rule_s3=min; {
min=s_lambat; min=jauh;
if(jauh<min) }
{ rule_s9=min;
min=jauh; min=lambat;
} if(s_jauh<min)
rule_s4=min; {
min=s_lambat; min=s_jauh;
if(s_jauh<min) }
{ rule_s10=min;
min=s_jauh; min=k_sedang;
} if(s_dekat<min)
rule_s5=min; {
min=lambat; min=s_dekat;
if(s_dekat<min) }
{ rule_s11=min;
min=s_dekat; min=k_sedang;
} if(dekat<min)
rule_s6=min; {
min=lambat; min=dekat;
if(dekat<min) }
{ rule_s12=min;
min=dekat; min=k_sedang;
}
76
if(j_sedang<min) min=j_sedang;
{ }
min=j_sedang; rule_s18=min;
} min=cepat;
rule_s13=min;/ if(jauh<min)
min=k_sedang; {
if(jauh<min) min=jauh;
{ }
min=jauh; rule_s19=min;
} min=cepat;
rule_s14=min; if(s_jauh<min)
min=k_sedang; {
if(s_jauh<min) min=s_jauh;
{ }
min=s_jauh; rule_s20=min;
} min=s_cepat;
rule_s15=min; if(s_dekat<min)
min=cepat; {
if(s_dekat<min) min=s_dekat;
{ }
min=s_dekat; rule_s21=min;
} min=s_cepat;
rule_s16=min;
min=cepat; if(dekat<min)
if(dekat<min) {
{ min=dekat;
min=dekat; }
} rule_s22=min;
rule_s17=min; min=s_cepat;
min=cepat; if(j_sedang<min)
if(j_sedang<min) {
{ min=j_sedang;
}
77
rule_s23=min;
min=s_cepat;
if(jauh<min)
{
min=jauh;
}
rule_s24=min;
min=s_cepat;
if(s_jauh<min)
{
min=s_jauh;
}
rule_s25=min;
78
//Defuzzifikasi proses
//hasil keluaran 1
Hasil1 = rule_s1*nbt + rule_s2*nbt + rule_s3*nst + rule_s4*nst +
rule_s5*nst;
Hasil2 = rule_s6*nbt + rule_s7*nbt + rule_s8*mt + rule_s9*mt +
rule_s10*mt;
Hasil3 = rule_s11*nbt + rule_s12*nbt + rule_s13*mt +
rule_s14*pst + rule_s15*pst;
Hasil4 = rule_s16*nbt + rule_s17*nbt + rule_s18*nbt +
rule_s19*pst + rule_s20*pbt;
Hasil5 = rule_s21*nbt + rule_s22*nbt + rule_s23*nbt +
rule_s24*pst + rule_s25*pbt;
//hasil keluaran 2
HasilI1 = rule_s1*psr + rule_s2*nsr + rule_s3*nbr + rule_s4*nbr
+ rule_s5*nbr;
HasilI2 = rule_s6*psr + rule_s7*nsr + rule_s8*nbr + rule_s9*nbr
+ rule_s10*nbr;
HasilI3 = rule_s11*psr + rule_s12*mr + rule_s13*nbr +
rule_s14*nbr + rule_s15*nbr;
HasilI4 = rule_s16*pbr + rule_s17*psr + rule_s18*mr +
rule_s19*nbr + rule_s20*nbr;
HasilI5 = rule_s21*pbr + rule_s22*psr + rule_s23*mr +
rule_s24*nbr + rule_s25*nbr;
79
Pembagi5 = rule_s21 + rule_s22 + rule_s23 + rule_s24 +
rule_s25;
asum=asum+arus[0];
bsum=bsum+b[0];
adata=asum/500; //Iout
bdata=bsum/500; //Vin
asum=0;
80
bsum=0;
//konversi nilai
vout =Nilai_ADC[2]; //0.0144*adata - 30.047;
iout =Nilai_ADC[0]; //0.0068*bdata - 1.1262;
while (1)
{
//-------------------- Tampilan Sensor Jarak-------------------//
// Ambil Nilai Jarak dengan fungsi
LIDAR_Init();
Read_LIDAR()
j= Read_LIDAR();
sprintf(simpan1,"J=%.1f cm",j);
lcd_gotoxy(0,0);
lcd_puts(simpan1);
//--------------------Throttle Manual-------------------//
throttle= Nilai_ADC[1] *360.0/4095;
sprintf(simpan3,"P=%5.1f",gas);
lcd_gotoxy(20,0);
lcd_puts(simpan3);
//--------------------Throttle Otomatis-------------------//
81
dataa=(100*data-100000)/850;
sprintf(desimal," DAC =%.1f",dataa);
lcd_gotoxy (19,1);
lcd_puts(desimal);
82