Upload
khangminh22
View
3
Download
0
Embed Size (px)
Citation preview
16
BAB III
PERANCANGAN
Pada bab ini akan dijelaskan tentang perancangan perangkat keras dan
perangkat lunak yang ada pada alat ini. Bahasan perancangan akan dimulai dari
penjelasan singkat cara kerja alat secara keseluruhan
3.1. Gambaran Alat
Cara kerja dari alat ini pertama yang dilakukan adalah pengambilan data dari
sensor apung yang terdapat pada tangki bensin sepeda motor, yang nantinya akan
digunakan untuk menentukan jumlah sisa bahan bakar yang terdapat di tangki sepeda
motor.
Setelah mesin motor dihidupkan maka ECU yang terdapat pada sepeda motor
akan mengirimkan masukan berupa pulsa ke injector motor dengan frekuensi tertentu
sesuai dengan kondisi motor. Sehingga injector akan menyemprotkan bahan bakar ke
mesin sesuai dengan jumlah pulsa yang dikirimkan ECU. Dengan menggunakan
Arduino akan didapatkan jumlah total pulsa yang dikirimkan ECU ke injector, dan
akan didapat jumlah bahan bakar yang disemprotkan injector ke mesin. Jumlah bahan
bakar yang dikeluarkan oleh injector ini digunakan untuk mengurangi jumlah bahan
bakar yang terbaca oleh sensor apung pada tangki sebelum motor dihidupkan.
Sehingga didapat jumlah bahan bakar aktual pada tangki.
Selain itu jumlah bahan bakar yang dikeluarkan oleh injector ini juga untuk
menghitung sisa jarak yang dapat ditempuh oleh motor. Dengan menghitung jumlah
jarak yang ditempuh sepeda motor dibagi dengan jumlah bahan bakar yang
dikeluarkan oleh injector sehingga didapat data jarak tempuh/liter. Data ini digunakan
untuk menghitung perkiraan sisa jarak tempuh sepeda motor dengan cara
mengalikannya dengan sisa bahan bakar pada tangki motor.
Jarak yang ditempuh oleh sepeda motor dapat dihitung dengan cara
menghitung jumlah pulsa yang dihasilkan oleh sensor Vehicles Speed dikalikan
diameter roda kendaraan.
17
Selanjutnya data-data hasil perhitungan Arduino di atas ditampilkan pada
LCD, yaitu berupa sisa bahan bakar pada tangki berupa digit angka. Dan perkiraan
sisa jarak tempuh yang dapat ditempuh sepeda motor.
Pada Arduino terdapat tombol push button yang digunakan untuk mengatur
tampilan LCD. Yaitu berupa sisa jarak tempuh perkiraan atau sisa bahan bakar yang
terdapat pada tangki sepeda motor.
Gambar 3.1. Blok Diagram Sistem
3.2. Perancangan Perangkat Keras
Perangkat keras yang dirancang adalah sebuah user interface yang berbentuk
kotak dengan dimensi 11,5cm×5,5cm×4cm (p×l×t). Pada kotak ini terdapat LCD
16×2 sebagai media penampil data dan juga sebuah tombol push button yang berfungsi
untuk mengganti informasi yang ditampilkan oleh LCD, yaitu berupa sisa bahan bakar
yang tersedia pada tangki bensin atau sisa jarak tempuh yang bisa ditempuh oleh
motor. Selain itu pada kotak ini terdapat Arduino UNO Atmega 328 yang berfungsi
untuk mengumpulkan dan menghitung data yang didapat dari sensor Vehicles Speed,
apung bensin, dan sinyal masukan dari ECU ke injector motor.
Sedangkan untuk sensor-sensor yang dipakai seperti sensor Vehicles Speed,
Apung bensin, dan injector memakai sensor bawaan yang terdapat pada sepeda motor.
18
Gambar 3.2. Gambar sketsa tampilan alat
Gambar 3.3. Realisasi perangkat keras alat
3.3. Perancangan Elektronika
Pada bagian ini akan dijelaskan mengenai perancangan elektronika yang
dipakai dalam sistem yang akan dibuat. Perancangan elektronika dalam pembuatan
tugas akhir ini terdiri dari bagian-bagian utama sebagai berikut:
1. Mikrokontroler jenis Arduino UNO ATmega328 sebagai pengendali utama.
2. Sensor Vehicles Speed
3. Sensor Apung bensin
4. Injector
5. LCD 16×2
LCD
PUSH BUTTON
19
3.3.1. Pengendali Utama
Sebagai pengendali utama dalam tugas rancang ini digunakan
mikrokontroler jenis Arduino UNO ATmega328. Fungsi dari Arduino pada alat
ini antara lain:
1. Melakukan pembacaan data dari sensor apung bensin, Vehicles Speed, dan
data keluaran dari ECU yang dikirimkan ke injector
2. Melakukan perhitungan jumlah sinyal yang dikirimkan ECU ke injector,
dan mengkonversikan kejumlah bahan bakar yang digunakan oleh
kendaraan.
3. Melakukan perhitungan jumlah sinyal yang dihasilkan oleh sensor
Vehicles Speed, dan mengkonversikan ketotal jarak yang ditempuh oleh
kendaraan.
4. Melakukan perhitungan sisa bahan bakar pada tangki kendaraan.
5. Melakukan perhitungan jumlah konsumsi bahan bakar untuk tiap jarak
yang ditempuh oleh kendaraan dalam satuan km/l. Kemudian menghitung
perkiraan sisa jarak tempuh yang dapat dilalui oleh kendaraan.
6. Menyimpan hasil perhitungan data ke EEPROM yang terdapat pada
Arduino UNO
7. Menampilkan hasil pengolahan data melalui LCD 16×2, hasil yang
ditampilkan adalah sisa bahan bakar dalam tangki kendaraan dan sisa jarak
tempuh yang dapat dicapai oleh kendaraan. Pemilihan jenis tampilan yang
ditampilkan dapat diatur dengan menggunakan tombol push button,
sehingga user dapat memilih menampilkan sisa jarak tempuh atau
menampilkan sisa bahan bakar pada tangki kendaraan.
20
Tabel 3.1. Konfigurasi pin mikrokontroler Arduino UNO ATmega328 yang
digunakan
Nama Port Fungsi
PORT SDA Terhubung dengan pin SDA LCD 16×2
PORT SCL Terhubung dengan pin SCL LCD 16×2
PORT A0 Terhubung dengan pin data pada sensor apung bensin
PORT D7 Terhubung push button
PORT D2 Terhubung dengan keluaran ECU yang terhubung dengan
injector
PORT D3 Terhubung dengan sensor Vehicles Speed
PORT Vin Terhubung dengan kabel power stop kontak motor
PORT GND Terhubung dengan ground motor
Gambar 3.4. Skema rancangan pengendali utama.
Push Button
Rangkaian
tambahan berupa
Buffer, pembagi
tegangan dan
resistor pulldown
21
3.3.2. Sensor Pelampung Tangki Bensin
Sensor pelampung tangki bensin digunakan untuk menentukan jumlah
bahan bakar dalam tangki bensin kendaraan. Setelah data awal didapat oleh
Arduino, data dari sensor ini akan digunakan sebagai ralat apabila terjadi
kesalahan perhitungan pada Arduino. Selain itu apabila terjadi penambahan bahan
bakar Arduino akan mengetahuinya dari data yang diperoleh dari sensor apung
bensin ini.
Gambar 3.5. Wiring pelampung tangki bensin.
22
3.3.3. Sensor Vehicles Speed
Sensor Vehicles Speed pada tugas akhir ini digunakan untuk menghitung
jarak yang ditempuh oleh kendaraan. Sensor ini akan menghasilkan sinyal sesuai
dengan jumlah putaran roda kendaraan, oleh Arduino sinyal yang dihasilkan oleh
sensor ini akan dihitung dan dikonversikan ke jarak yang ditempuh oleh
kendaraan. Sebelum masuk ke pengendali utama keluaran dari sensor ini akan
dimasukan terlebih dahulu ke sebuah rangkaian buffer dengan menggunakan IC
Op-Amp LM324. Hal ini untuk mengantisipasi terjadinya kesalahan pembacaan
data pada mikrokontroler
Gambar 3.6. Wiring sensor Vehicles Speed
23
Gambar 3.7. Untai Buffer
3.3.4. Injector
Pada kendaraan injeksi, injector digunakan sebagai alat yang akan
menyemprotkan bahan bakar ke mesin sesuai dengan sinyal yang dikirimkan oleh
ECU. Pada tugas akhir ini sinyal yang dikirim oleh ECU ke injector dihitung
dengan menggunakan mikrokontroler sehingga akan diketahui jumlah bahan
bakar yang disemprotkan oleh injector ke mesin kendaraan. Sehingga diketahui
jumlah konsumsi bahan bakar kendaraan.
Besar tegangan sinyal yang dikirimkan ECU ke injector adalah sebesar
35Vpp, atau sekitar 12Vrms. Sedangkan tegangan input pada mikrokontroler
hanya mampu membaca tegangan hingga 5V saja, oleh karena itu diberikan
sebuah rangkaian pembagi tegangan dan sebuah dioda sebelum masuk ke
mikrokontroler. Hal ini berfungsi agar mikrokontroler dapat membaca data
dengan benar, dan mencegah masuknya tegangan negatif ke pin input
mikrokontroler.
24
Gambar 3.8. Wiring pembacaan sinyal keluaran ECU ke Injector
Gambar 3.9. Untai dari rangkaian pembagi tegangan yang dibuat
Untuk perhitungan pembagi tegangan digunakan rumus sebagai berikut:
𝑉𝐷𝑎𝑡𝑎 =𝑅2
𝑅1+𝑅2 × 𝑉𝐸𝐶𝑈 (1)
Dengan :
VData = Sinyal masukan ke mikrokontroler (V)
VECU = Sinyal keluaran dari ECU (V)
R1 = 40K Ω
R2 = 10K Ω
25
Dari perhitungan di atas bila Vin sebesar 35Vpp maka Vout yang didapat
sebesar 7Vpp (sekitar 4,9Vrms). Dimana tegangan ini masih berada dalam
batasan tegangan masukan dari mikrokontroler (maksimal tegangan masukan
pada mikrokontroler adalah 5V).
3.3.5. LCD 16×2
LCD 16×2 pada tugas akhir ini digunakan sebagai user interface yang
akan menampilkan hasil perhitungan dari Arduino. Terdapat 2 tipe data yang
ditampilkan oleh LCD. Data pertama berupa sisa bahan bakar pada tangki
kendaraan dan data kedua berupa sisa jarak yang dapat ditempuh oleh kendaraan.
User dapat memilih tipe data yang ditampilkan oleh LCD dengan menggunakan
tombol push button yang terdapat pada hardware tugas akhir ini. Sebelum
terhubung dengan mikrokontroler push button akan dihubungkan terlebih dahulu
dengan rangkaian pulldown resistor. Hal ini agar pembacaan posisi ON / OFF
pada mikrokontroler tidak terjadi kesalahan. Sehingga mikrokontroler akan
benar-benar membaca HIGH atau LOW tergantung dari kondisi push button.
Gambar 3.10. Wiring LCD 16×2 dan Push Button
26
3.4. Perancangan Perangkat Lunak
Pada bagian ini akan dijelaskan mengenai perancangan perangkat lunak yang
digunakan pada tugas akhir ini. Perancangan perangkat lunak yang akan dijelaskan
mengenai cara kerja mikrokontroler ATmega328. Penjelasan dari perancangan
perangkat lunak alat ini akan dijelaskan melalui diagram alir sistem secara keseluruhan
seperti ditunjukkan pada Gambar 3.11.
28
Penjelasan dari diagram alir Gambar 3.11 adalah sebagai berikut:
Saat mesin kendaran dihidupkan Arduino akan mengambil data terakhir
yang disimpan pada EEPROM.
Setelah itu mikrokontroler akan melakukan pengecekan data dari sensor
apung bensin. Hal ini dilakukan untuk mengecek apabila terjadi
penambahan bahan bakar pada tangki kendaraan.
Selain itu mikrokontroler juga akan memulai pengambilan data dari sensor
Vehicles Speed dan sinyal yang dikeluarkan ECU ke injector pada
program interrupt. Dan menyimpan hasil pembacaan data tersebut
Apabila proses pengambilan data sudah berjalan selama 60 detik (1menit),
mikrokontroler akan memproses data yang didapat. Data yang dihitung
berupa sisa jarak tempuh kendaraan dan sisa bahan bakar yang terdapat
pada tangki kendaraan.
Setelah itu data yang telah diproses oleh mikrokontroler akan ditampilkan
sesuai dengan keinginan dari user, yaitu berupa sisa jarak tempuh
kendaraan atau sisa bahan bakar pada tangki kendaraan. Hal ini dilakukan
dengan cara mikrokontroler mengecek kondisi dari push button apakah
berada pada kondisi ON atau berada pada kondisi OFF.
Setelah ditampilkan mikrokontroler akan menyimpan data terakhir ke
EEPROM.
Setelah itu mikrokontroler akan kembali ke proses pengambilan data
sensor.