BAB 4. HASIL DAN PEMBAHASAN
4.1 Hasil Penelitian
4.1.1 Proses Pembuatan Sistem Penggerak Hybrid Pada Sepeda
A. Menghitung kebutuhan daya motor listrik yang digunakan
Untuk menentukan spesifikasi motor listrik yang digunakan, maka langka pertama menghitung massa total, n (putaran mesin), daya motor listrik, arus baterai, dan torsi yang dibutuhkan.
1. Menghitung massa total kendaraan dan pengendara Massa kendaraan (Ms) = 99 kg – 4,9 kg = 94,1 kg
Masa Pengendara (Mp) = 50 kg Massa Peralatan (Me) = 17 kg Maka
mtotal=ms+me+mp ………..3.1
¿94,1kg+50kg+17kg
¿161,1kg
Jadi masa total kendaraan dengan pengendara yaitu 161,1 kg 2. Mencari n (putaran motor listrik) yang diperlukan Kecepatan (V’) = 50 km/jam = 833 m/menit = 13,9 m/detik Diamater velg (D) = 12 inch = 0,3 m
Maka
V'=π × d ×n ……….3.2 m/¿menit=3,14×0,3m× n
833¿
833 m/¿menit
3,14×0,3m n=¿
38
39
833m/¿menit 0,942m
¿ ¿
¿884rpm
Jadi rpm yang dihasilkan pada kecepatan 50 km/jam yaitu 1062 rpm.
3. Menghitung daya motor listrik yang dibutuhkan.
Kecepatan (V) = 50 km/jam = 13,9 m/s Masa total (mtotal) = 161,1 kg
Koefisien gesek (µ) = 0,06 Efisiensi (�) = 90 % = 0,9 Gravitasi (g) = 9,8 m/s Maka
P=g xμ x mtot x V x η ……….………3.4 m/¿s×0,9
m/¿s×0,06×161,1kg ×13,9¿
¿9,8¿
¿1185watt
Jadi daya motor listrik yang dibutuhkan untuk menggerakan kendaraan hybrid pada kecapatan 50 km/jam yaitu 1185 Watt.
4. Menghitung arus baterai yang diperlukan Tegangan baterai (v) = 48 volt
Daya motor listrik (P) = 1185 watt Maka
P=V × I ………..…………..3.5 I=P
V ………..……..3.6
¿1185watt 48volt
¿24,68A
Jadi arus baterai yang diperlukan yaitu 24,68 Ampere 5. Mencari torsi yang diperlukan
Daya motor listrik (P) = 1185 watt Putaran motor lsitrik (n) = 884 rpm Maka
T= 60× P
2× π ×n ………....………3.7
¿ 60×1185watt 2×3,14×884rpm
¿71100 5551
¿12,8Nm
Jadi torsi yang diperlukan yaitu sebesar 12,8 Nm
Dari hasil perhitungan diatas, dapat diketahui spesikasi motor listrik yang sesuai dengan kebutuhan sepeda motor hybrid yang dirancang dengan kecepatan 50 km/jam daya motor listrik yang dibutuhkan yaitu sebesar 1185 watt.
B. Proses Pembuatan
Dalam proses pembuatan system penggerak hybrid diperlukan waktu yang cukup lama. Hal tersebut dikarenakan ada beberapa komponen dari sepeda motor yang harus di custom untuk menyesuaikan dengan motor listrik yang akan dipasang. Sesuai dengan rencana sebelumnya, motor listrik akan dipasang pada roda depan yang telah terkonvigurasi dengan velg. Berikut adalah langkah- langkah proses pembuatan:
1. Mengukur dimensi motor listrik
Motor listrik yang digunakan merupakan motor listrik BLDC HUB 1,2 KW yang sudah terkonfigurasi dengan velg. Untuk diameter velg12 x2.15 inchi dan ukuran ban 100/90-12. Kemudian untuk ukuran as nya berdiamater 14 mm dengan panjang 19 cm dari poros pembatas.
2. Memasang ban dan piringan cakram
Ban yang digunakan merupakan ban dengan ukuran standar dari sepeda motor scoopy yaitu 100/90-12 serta piringan cakram yang digunakan adalah piringan cakram dari sepeda motor n-max. Tujuan dari pemasangan ban dan piringan cakram terlebih dahulu yaitu untuk memudahkan dalam proses pemasangan roda. Hal tersebut dikarenakan as motor listrik tidak bisa dilepas atau paten, sehingga apabila ingin memasang atau mengganti ban harus melepas shock terlebih dahulu.
3. Custom buttom shock
Buttom shock merupakan bagian shock yang terhubung dengan as roda.
Pada sepeda motor scoopy, buttom shock yang digunakan mempunyai lubang as 12 mm sedangkan pada motor listrik as nya berdiameter 14 mm. Sehingga lubang as buttom sock harus diperbesar dengan cara di bubut.
41
4. Membuat segitiga T shock
Gambar 4.1 Desain Segitiga T Shock
Gambar 4.2 Proses Pembuatan Segitiga T Shock
Segitiga T shock merupakan komponen penting dalam sepeda motor yang berfungsi sebagai penyangga suspensi depan dan dudukan pada komstir. Pada sepeda motor scoopy, ukuran panjang segitiga T shock dari titik tengah lubang kiri ke titik tengah lubang kanan yaitu 12cm. Sedangkan untuk bisa dipasang pada motor listrik harus memiliki ukuran panjang 19 cm. Sehingga perlu membuat segitiga T shock agar sesuai dengan panjang as motor listrik. Untuk pembuatan segitiga T shock menggunakan teknik milling dan bubut dengan bahan material Almunium 60651-T6.
5. Proses Assembly
43
Gambar 4.3 Desain Assembly Motor Listrik Dengan Segitiga T Shock
Gambar 4.4 Assembly Sistem Penggerak Roda Depan
Assembly merupakan proses untuk menyatukan komponen menjadi satu unit yang utuh. Pada proses ini, langkah pertama yaitu memasang segitiga T sock
dengan as tengah pada komstir. Kemudian dilanjutkan dengan pemasangan shock beserta roda pada segitiga T shock. Pastikan baut pengunci terpasang dengan benar dan tidak kendor. Selanjutnya mengatur posisi ketinggan shock, karena apabila tingginya tidak sama, maka ketika kendaraan jalan akan terasa tidak imbang. Terakhir pastikan kembali semua komponen terpasang dengan benar dan kendaraan aman untuk dioperasikan.
6. Membuat braket caliper
Pada sepeda motor scoopy, posisi caliper berada pada sisi sebelah kiri sedangkan untuk motor listrik posisi caliper berada pada sisi sebelah kanan.
Sehingga agar caliper dapat terpasang pada buttom shock, perlu dibuatkan braket yang baru. Braket dibuat dengan teknik cutting dengan menggunakan material carbon steel 6 mm. Setelah braket jadi, dilanjutkan dengan pemasangan caliper dan penyetelan rem.
7. Merakit sistem kelistrikan
Pada proses perakitan sistem kelistrikan, langkah pertama yaitu mencari dan menganalisah komponen sepeda motor yang terhubung ke Arduino untuk perpindahan sistem penggerak secara otomatis. Ada beberapa komponen sepeda motor yang terhubung ke arduino yaitu switch stater, switch rem, switch standar samping, sensor tps dan port charger handhpone. Tegangan suplay Arduino diperoleh dari tegangan port charger handpohne12 volt yang kemudian diturunkan melalui step down menjadi 5 volt. Tegangan signal throttle gas motor listrik dihubungkan dengan tegangan signal sensor tps agar throttle gas motor listrik dan mesin bensin menjadi satu. Komponen lain yang digunakan dihubungkan ke relay kemudian diteruskan ke arduino. Arduino akan menghidupkan sistem stater dan switch standar samping untuk mematikan mesin bensin secara otomatis sesuai dengan kondisi baterai motor listrik. Arduino juga akan mengaktifkan fitur regen apabila sistem penggerak menggunakan mesin bensin. Langkah kedua yaitu assembly sistem kelistrikan motor listrik dengan sistem perpindahan yang telah dirangkai. Apabila selesai, dilanjutkan proses pemograman arduino menggunakan aplikasi Arduino IDE.
8. Perancangan Program Microcontroller (Arduino Nano)
Pemograman dapat dilakukan dengan menggunakan aplikasi Arduino IDE setelah selesai merakit kelistrikan dan mengetahui komponen apa saja yang akan dikontrol. Adapun komponen yang dikontrol yaitu switch stater, switch rem, switch standar samping, sistem parking motor listrik, dan throttle motor listrik.
Semua komponen ini di kontrol dengan menggunakan rangkaian relay, sehingga bisa hidup dan mati secara otomatis tanpa menggunakan tombol manual seperti pada rangkaian konvensional. Berikut merupakan program Arduino untuk perpindahan sistem penggerak hybrid pada kendaraan sepeda motor matic FI 110 CC :
45
Gambar 4.5 Penginputan nama-nama pin yang digunakan untuk mengontrol komponen
Gambar 4.6 Mendelekrasikan switch dan relay pada program arduino
Gambar 4.7 Mendelekrasikan switch dan relay pada program arduino
Gambar 4.8 Pemograman Penyimpanan Data Pada SD Card
Gambar 4.9 Pemograman Pembacaan Data Pada LCD Monitor
Gambar 4.10 Pemograman Untuk Pengaktifan Motor Listrik BLDC
47
Gambar 4.11 Pemograman Sistem Perpindahan Dari Motor Listrik ke Mesin Bensin dan sebaliknya.
4.1.2 Kendala Ketika Proses Pengerjaan
Pada proses pengerjaan ada beberapa kendala yang ditemukan oleh peneliti, sehingga sedikit menghambat proses pengerjaan. Kendala yang pertama yaitu ukuran as motor listrik yang lebih besar dan panjang dari as roda depan sepeda motor. Oleh sebab itu, harus merubah diameter buttom shock dan membuat segitiga T shock baru agar motor listrik dapat terpasang pada roda depan kendaraan. Kemudian kendala yang kedua yaitu pada saat pemasangan dop ban motor listrik lumayan susah dikarenakan posisi lubang dop agak menjorok kedalam dan ruangnya sempit. Masalah yang berikutnya yaitu mencari saluran kabel dari sistem-sistem sepeda motor yang akan dihubungkan ke microcontroller.
Pada proses ini harus memahami wiring kelistrikan dan memastikan aman pada saat dihubungkan. Kendala selanjutnya yaitu baterai yang digunakan tidak sesuai dengan kebutuhan motor listrik, sehingga pada saat bukaan throttle penuh dan tegangannya tinggi, maka sistem microcontroller akan akan menghidupkan mesin bensin. Hal tersebut dikarenakan tegangan baterai terbaca mencapai tegangan minimum.
4.1.3 Data Uji Coba Pengoperasian Sistem Penggerak Hybrid Pada Sepeda Motor Matic FI 110 CC
Tabel 4.1 hasil uji coba pengoperasian sistem penggerak hybrid
No
. SOC Baterai
(Volt) Temperatur
Lingkunga n (°C)
Sistem
Penggerak Kondisi Rencana (Target)
Kondisi Aktual (Lapangan)
1. ≥53 Volt 34°C Motor Listrik Hidup Ya
2. ≥53 Volt 34°C Motor Bensin Mati Ya
3. ≤47 Volt 34°C Motor Listrik Mati Ya
4. ≤47 Volt 34°C Motor Bensin Hidup Ya
5. ≥53 Volt 34°C Motor Listrik Hidup Ya
6. ≥53 Volt 34°C Motor Bensin Mati Ya
Dari tabel hasil uji coba pengoperasian sistem penggerak hybrid yang dilakukan pada siang hari dengan temperature lingkungan sekitar 34°C, dapat diketahui bahwa sistem bekerja dengan baik sesuai dengan konsep yang telah direncanakan.
4.2 Pembahasan
4.2.1 Hasil Pemodelan Sistem Penggerak Hybrid Pada Kendaraan Sepeda Motor Matic FI 110 CC.
Sistem Penggerak hybrid dirangkai secara paralel dimana motor listrik dan mesin bensin sama-sama terhubung ke roda dan beroperasi secara bergantian.
Motor listrik terletak pada velg roda depan dan menggerakan roda pada kondisi awal hingga tegangan baterai mencapai tegangan minimum yang ditentukan.
Kemudian mesin bensin terletak ditengah dan terhubung dengan sistem penggerak cvt untuk menggerakkan roda belakang pada saat kondisi baterai motor lisrik mencapai tegangan minimum hingga baterai dicharger mencapai tegangan maksimum. Pemodelan seri parallel dengan motor listrik dipasang pada roda depan bertujuan agar tidak merubah atau menghilangkan fungsi dari mesin bensin menjadi penggerak utama.
49
Gambar 4.12 Rangkaian Perpindahan Sistem Penggerak Hybrid
Gambar 4.13 Bagan Sistem Perpindahan Sistem Penggerak Hybrid
Cara kerja sistem penggerak hybrid yaitu microcontroller akan membaca tegangan dari baterai motor listrik. Apabila tegangan baterai terbaca, maka microntroller akan mengaktifkan sistem penggerak motor listrik. Dan apabila tegangan baterai tidak terbaca atau bermasalah, maka microcontroller secara otomatis akan menghidupkan stater mesin bensin melalui relay. Keterangan kondisi baterai dapat dilihat melalui lcd monitor. Pada kondisi awal sistem penggerak menggunakan motor listrik. Throttle gas motor listrik terhubung dengan sensor TPS agar putaran throttle kedua sistem penggerak menjadi satu.
Kemudian pada saat baterai sudah mencapai tegangan minimum yang ditentukan, maka microcontroller akan menghdiupkan swtitch stater mesin benin melalui relay. Sistem penggerak menggunakan mesin bensin sampai baterai dicharger mencapai tegangan maksimum. Apabila baterai sudah mencapai tegangan maksimum, maka microcontroller akan menghidupkan kembali motor listrik dan mematikan mesin bensin dengan mengaktifkan switch standar samping melalui relay.
51
Tabel 4.2 Data Logger Bukaan Throttle Dan Tegangan Baterai
1 3 5 7 9 11 13 15 17 19 21 23 25 0
10 20 30 40 50 60
Tegangan Baterai (Voltage) Bukaan Throttle (Voltage)
Gambar 4.13 Grafik Bukaan throttle dan tegangan baterai
Data dan grafik diatas merupakan hasil dari pembacaan tegangan throttle gas dan tegangan baterai pada saat mendekati tegangan minimum yang ditentukan. Dari grafik dapat dilihat bahwa saat sistem penggerak menggunakan motor listrik, maka tegangan baterai terus berkurang dan tegangan throttle gas naik. Hal ini disebabkan karena semakin cepat pergerakan dari motor listrik, maka daya yang dikeluarkan semakin besar. Kemudian untuk throttle gas semakin dibuka putarannya, maka tengangannya semakin besar.
Sedangkan pada saat pergantian sistem penggerak ke mesin bensin, maka tegangan baterai akan naik mengikuti kecepatan dari kendaraan. Hal ini disebabkan oleh sistem regen dari motor listrik yang bisa menghasilkan tegangan dan bisa menchaerger ulang baterai. Pada kondisi ini throttle gas motor listrik diputus sehingga tegangannya menjadi 0.
Hasil dari pemodelan sistem penggerak hybrid pada kendaraan sepeda motor matic FI 110 CC yaitu kendaraan menggunakan dua sistem penggerak secara bergantian sesuai dengan kondisi baterai. Dengan menggunakan sistem penggerak hybrid, maka kendaraan dapat mencharger ulang baterai secara mendiri dan menambah jarak tempuh kendaraan.
BAB 5. PENUTUP 5.1 Kesimpulan
Berdasarkan hasil rancang bangun system penggerak hybrid pada sepeda motor matic FI 110 CC menggunakan motor listrik BLDC Hub 1200 watt dan microcontroller arduino nano sebagai switching perpindahan system penggerak dengan parameter tegangan minimum dan maksimum dari baterai :
1. Sistem penggerak hybrid yang dirangkai secara paralel menggunakan switching perpindahan microcontroller Arduino nano dengan parameter tegangan minimum dan maksimum dari tegangan baterai dapat beroperasi dengan baik seseuai dengan rencana penelitian. Sistem penggerak berpindah dari motor listrik ke mesin bensin pada saat tegangan baterai mencapai ≤47 volt. Dan sistem penggerak akan berpindah dari mesin bensin ke motor listrik pada saat tegangan baterai mencapai tegangan ≥54 volt.
2. Skema sistem perpindahan penggerak hybrid dengan menggunakan microcontroller arduino nano dan beberapa modul tambahan dapat bekerja dengan baik sesuai dengan perencanaan. Pada kondisi siang hari dengan temperature lingkungan sekitar 34°C, sistem tetap bekerja dengan baik dan tidak terjadi kendala.
5.2 Saran
Setelah melakukan penelitian ini, penulis ada beberapa saran untuk penelitian pengembangan selanjutnya yaitu sebagai berikut :
1. Pada penelitian selanjutnya untuk melakukan penyempurnaan eksterior dari kendaraan, karena ada beberapa part yang tidak bisa terpasang.
2. Membuat tempat pengaman untuk sistem kelistrikan agar sistem terhindar dari air dan debu.
3. Melakukan pengujian terhadap charger dan discharger baterai motor listrik.
4. Melakukan pengujian terhadap kecepatan maksimum motor listrik.
5. Membuat simulasi keamanan berkendara.
51
dan Efisiensi Baterai 110 VDC di Gardu Induk Sungai Kedukan Palembang,” Sriwijaya University, 2019.
Al Fikri, M. M. (2019). Analisa Sistem Kerja Electrical Fuel Injection (EFI) pada Motor Honda CBR 150. Majamecha, 1(1), 36-47.
Alan Fadianto, A. F. (2019). Rancang Bangun Mesin Pemotong Rumput Elektrik (Doctoral dissertation, Universitas Islam Majapahit Mojokerto).
Amir, A., & Nofriansyah, M. (2020). Uji Performa Sepeda Motor Sport Sistem Programmed Fuel Injection (Pgm-Fi) Satu Silinder 150 Cc Menggunakan Bahan Bakar Bensin Ron 92. Motor Bakar: Jurnal Teknik Mesin, 3(2).
Andika, R. J., Rusdinar, A., Wibowo, A. S. 2018. Perancangan dan Implementasi Driver Motor Tiga Fasa Untuk Pengendalian Kecepatan Motor BLDC Berbasis PWM Pada Mobil Listrik. Fakultas Teknik Universitas Telkom. Bandung.
Bagus, A. (2022). Rancangan Pengusir Burung Berbasis IOT Dengan NODEMCU 32 Dan Catu Data Aki (Doctoral dissertation, Institut Teknologi Telkom Purwokerto).
Cahyono, T. P., Hardianto, T., & Kaloko, B. S. (2020). Pengujian Karakteristik Baterai Lithium-Ion Dengan Metode Fuzzy dengan Beban Bervariasi. Jurnal Arus Elektro Indonesia, 6(3), 82-86.
Fauzi, A. (2020). Analisa Konsumsi Daya Motor Listrik pada Sepeda Motor Hybrid dengan Variasi Laju Kecepatan Berbasis Microcontroller (Doctoral dissertation, Universitas Pancasakti Tegal).
Gaol, R. P. L. (2020). Uji Performansi Mesin Otto Satu Slinder Dengan Bahan Bakar Pertalite Dan Pertamax. Piston (Jurnal Ilmiah Teknik Mesin Fakultas Teknik UISU), 4(2), 64-70.
52
53
Harfit, A. R. (2013). Kajian Mobil Hybrid dan Kebutuhannya di Indonesia.
Jakarta: Program Pasca Sarjana Universitas Gunadarma.
Hidayat, R. A. (2013). Kali Literatur Karakteristik Performansi Hybrid Engine Toyota Prius (Doctoral dissertation, Fakultas Teknik Unpas).
https://id.aliexpress.com/item/32848816452.
https://oto.detik.com/motor/d-5868967/luar-biasa-penjualan-motor-di-indonesia- tembus-46-juta-unit
https://vaporvoice.net/2021/01/11/cpsc-using-repackaged-18650-batteries-for- vapes-can-kill/)
https://www.bandung.promomotorhonda.net/2018/01/spesifikasi-motor-honda- scoopy-esp-terbaru.
https://www.gridoto.com/read/221726930/kenapa-cuma-motor-matic-yang-pakai- cover-plastik-di-bloksilinder#!%2F
https://www.tokopedia.com/zahranstore-1/diskon-48v-1000w-brushed-controller- electric-bicycle-ebike-sc
https:djukarna4arduino.wordpress.com
https:smotor.com/product/votol-controller-em-100/
Murdianto, O. B. (2012). Pengembangan Model" Regenerative Brake" pada Sepda Listrik untuk Menambah Jarak Tempuh.
Pattiapon, D. R., Rikumahu, J. J., & Jamlaay, M. (2019). Penggunaan Motor Sinkron Tiga Phasa Tipe Salient Pole Sebagai Generator Sinkron.
Jurnal simetrik, 9(2), 197-207.
Perpres Nomor 55 Tahun 2019 tentang “Percepatan Program Kendaraan Bermotor Listrik Berbasis Baterai (Battery Electric Vehicle) Untuk Transportasi Jalan”.
Ricky, R. Perencanaan Dan Pembuatan Kendaraan Mini Kart Bertenaga Listrik (Doctoral dissertation, Petra Christian University).
Sanata, A. (2012). Optimalisasi Prestasi Mesin Bensin Dengan Variasi Temperatur Campuran Bahan Bakar Premium Dan Etanol. ROTOR, 5(2), 1-7.
Sinaga, S. (2020). Analisis Kebutuhan Energi Motor Listrik Pada Mobil Hybrid Urban KMHE 2018. Jurnal Teknik Mesin Mercu Buana, 9(3), 180- 189.
Siswoyo, Rike. dkk. (2014). “Penerapan Teknologi Hybrid Pada Kendaraan Sepeda Motor 4 Langkah Berkapasitas 100 cc Dengan Menggunakan Alternator”. Jurnal. Jakarta : Fakultas Teknik UPN
“Veteran”.
Suryadi, A., & Triyono, B. (2015, November). Optimasi Pengaktifan Motor Penggerak pada Prototipe Sepeda Motor Hibrid untuk Menurunkan Konsumsi Bahan Bakar. In Prosiding Industrial Research Workshop and National Seminar (Vol. 6, pp. 146-150).
Susilo, J. (2015). Modifikasi Cylinder head terhadap unjuk kerja sepeda motor. Jurnal Teknik Mesin UBL, 3(1), 19-23.
Ubaidillah, A. F. Rancang Bangun Sistem Pengendalian Kecepatan Motor Pendorong Robot Hovercraft Dengan Kemudi Otomatis Berbasis Arduino. Tesis. Jember : Universitas Negeri Jember.
Wibowo, Y. C., & Riyadi, S. (2018). Analisa Pembebanan pada Motor Brushless DC (BLDC). In Prosiding Seminar Nasional Instrumentasi, Kontrol Dan Otomasi (pp. 277-282).
LAMPIRAN Lampiran 1
Gambar. Pengecekan tegangan output dari sensor TPS
55
Lampiran 2
Gambar. Pengukuran As Roda Motor Listrik BLDC
57
Lampiran 3
Gambar. Pengukuran dan Pembuatan Segitiga T shock
Lampiran 4
Gambar. Assembly Sistem Penggerak Hybrid Pada Sepeda Motor Matic FI 110 CC
59
Lampiran 5
Gambar. Proses Perakitan Sistem Kelistrikan
Lampiran 6
Gambar. Rangkaian Sistem Kelistrian Perpindahan Penggerak Hybrid dan Controller Motor Listrik
61
Lampiran 7
Gambar. Dokumentasi Bersama Bapak Direktur Polije Dan Bapak Ketua Jurusan Teknik
Lampiran 8
1. //library komunikasi SPI 2. #include <SPI.h>
3. // library untuk datalogger sdcard 4. #include <SD.h>
5. // library untuk lcd I2c
6. #include <LiquidCrystal_I2C.h>
7. // penginisialisaasi addres lcd dan tipe lcd 8. LiquidCrystal_I2C lcd(0x27, 16, 2);
9.
10. const int chipSelect = 10;
11. File myFileHibrid;
12.
13. int stater = 7; // penginisialisasi pin 7 untuk stater motor
14. int rem = 6; // penginisialisasi pin 6 untuk rem motor
15. int switchstd = 5; // penginisialisasi pin 5 untuk switch standar motor
16. int parkir = 4; // penginisialisasi pin 4 untuk switch parkir BLDC
17. int bat = A0; // penginisialisasi pin A0 untuk pembacaan baterai BLDC
18. int trot = A1; // penginisialisasi pin A1 untuk pembacaan bukaan trotle gas
19. float R1 = 30000.0; // penginisialisasi Resistor dengan hambatan 3K ohm
20. float R2 = 7500.0; // penginisialisasi resistor dengan hambatan 7.5K ohm
21. float bc_volt; // pembuatan variabel 22. float bc_teg_bat; // pembuatan variable 23. float bc_adc; // pembuatan variable 24. float data; // pembuatan variable 25. int count = 0; // pembuatan variable 26. int bol = false; // pembuatan variable 27. int bol1 = false; // pembuatan variable 28. int bol2 = false; // pembuatan variable 29. float bc_volt1; // pembuatan variable 30. float bc_buka_gas; // pembuatan variable 31. float bc_teg; // pembuatan variable 32. float data1; // pembuatan variable 33.
34. void setup() {
35. Serial.begin (9600);
36. lcd.begin();
37. pinMode(bat, INPUT); // mengaktifkan pin bat sebagai masukan
38. pinMode(trot, INPUT); // mengaktifkan pin trot sebagai masukan
39. pinMode(stater, OUTPUT); // mengaktifkan pin stater sebagai keluaran
63
40. pinMode(rem, OUTPUT); // mengaktifkan pin rem sebagai keluaran
41. pinMode(switchstd, OUTPUT); // mengaktifkan pin switch standart sebagai keluaran
42. pinMode(parkir, OUTPUT); // mengaktifkan pin parkir sebagai keluaran
43.
44. digitalWrite(stater, HIGH); // mengaktifkan pin stater sebagai keluaran bernilai 1 (HIGH)
45. digitalWrite(rem, HIGH); // mengaktifkan pin rem sebagai keluaran bernilai 1 (HIGH)
46. digitalWrite(switchstd, HIGH); // mengaktifkan pin switch standart sebagai keluaran bernilai 1 (HIGH)
47. digitalWrite(parkir, HIGH); // mengaktifkan pin parkir sebagai keluaran bernilai 1 (HIGH)
48.
49. bol = false; // mengeset variable bol dalam keadaan false / 0 / LOW
50. bol1 = false; // mengeset variable bol1 dalam keadaan false / 0 / LOW
51. bol2 = false; // mengeset variable bol2 dalam keadaan false / 0 / LOW
52.
53. bldc(); // masuk kefungsi untuk menghidupkan BLDC 54.
55. while (!Serial);
56. Serial.print("Initializing SD card...");
57.
58. if (!SD.begin(chipSelect)) {
59. Serial.println("initialization failed. Things to check:");
60. Serial.println("1. is a card inserted?");
61. Serial.println("2. is your wiring correct?");
62. Serial.println("3. did you change the chipSelect pin to match your shield or module?");
63. Serial.println("Note: press reset button on the board and reopen this Serial Monitor after fixing your issue!");
64. while (true);
65. } 66. } 67.
68. void loop() {
69. baca_baterai(); // masuk kefungsi pembacaan baterai
70. baca_trotel(); // masuk kefungsi pembacaan bukaan trotle gas
71. tampil_lcd(); // masuk kefungsi menampilkan data / karakter kedalam lcd
72. save_sdcard(); // masuk kefungsi menyimpan data kedalam sdcard
73. } 74.
75. void save_sdcard() {
76. myFileHibrid = SD.open("dataH.txt", FILE_WRITE); //
membuka sdcard dan menulis file simpanan dataH.txt 77. if (myFileHibrid) {
78.
myFileHibrid.print(bc_teg);myFileHibrid.print(",");myFileHibrid .println(data); // menulis data-data yang disimpan pada
dataH.txt berupa bukaan gas dan pembacaan baterai dengan separator koma (,)
79. myFileHibrid.close(); // menutup penulisan data yang disimpan pada dataH.txt
80. } 81. else {
82. Serial.println("gagal dataHibrid.txt");
83. } 84. } 85.
86. void tampil_lcd() {
87. lcd.setCursor(0,0); // mengeset tampilan pada baris pertama dan kolom pertama
88. lcd.print("Volt Bat: "); // menulis karakter "Volt Bat :"
pada baris pertama
89. lcd.setCursor(10,0); // mengeset tampilan pada baris pertama dan kolom 10
90. lcd.print(data); // menampilkan "data" pada baris pertama pada kolom 10
91.
92. lcd.setCursor(0,1); // mengeset tampilan pada baris kedua dan kolom pertama
93. lcd.print("Throtle: "); // menampilkan karakter
"Throtle:" pada baris kedua kolom pertama
94. lcd.setCursor(10,1); // mengeset tampilan pada baris kedua dan kolom 10
95. lcd.print(bc_teg); // menampilkan "bc_teg" pada baris kedua pada kolom 10
96. delay(200); // jeda waktu 200 ms
97. lcd.clear(); // menghapus semua karakter pada lcd agar bisa ditimpa karakter baru
98. // Serial.println(data);
99. } 100.
101. void baca_trotel() {
102. data1 = analogRead(trot); // membaca pin trot dengan mode analog
103. bc_volt1 = (data1 * 5.0) / 1023.0; // dari pembacan pada pin trot dijadikan dalam nilai ADC (analog digital converter)
104. bc_teg = bc_volt1 / (R2 / (R1 + R2)); // hasil pembacaan ADC dikalkulasikan dengan resistor agar hasil dari pembacaan mendekati real data yang dibaca
105. }
106. void baca_baterai() {
65
107. bc_adc = analogRead(bat); // membaca pin bat dengan mode analog
108. bc_volt = (bc_adc * 5.0) / 1023.0; // dari pembacan pada pin trot dijadikan dalam nilai ADC (analog digital converter)
109. data = bc_volt * 12.6; // hasil pembacaan ADC dikalikan 12.6 agar mendekati nilai baterai pada bldc
110. delay(250); // jeda waktu 250 ms 111. if (data >= 53) { // kondisi jika data
lebihdari 53 V
112. bldc(); // mengaktifkan fungsi motor bldc
113. count = 0; // variabel untuk sekali perulangan mengeset angka 0 (nol)
114. // bol2 = true;
115. }
116. if (data <= 47) { // kondisi data kurang dari 47 V
117. count = 1; // variable untuk sekali perulangan mengeset angka 1 (satu)
118. bol2 = true; // mengaktifkan kondisi bol2 dalam keadaan benar / 1 (satu)
119. if (count == 1 && bol2 == true) { // kondisi dimana jika data count bernilai 1 (satu) dan data bol2 bernilai benar 120. engine(); // mengaktifkan
fungsi menghidupka mesin motor 121. }
122. } 123. } 124.
125. void bldc() {
126. bol = true; // kondisi variable bol dalam keadaan true 127. bol1 = false; // kondisi variable bol1 dalam keadaan false 128.
129. if (bol == true && bol1 == false) { // jika kondisi
variable bol keadaan true dan variable bol1 dalam keadaan false 130. digitalWrite(parkir, LOW); // mengaktifkan pin
pada variable parkir dalam keadaan 0 (LOW)
131. delay(250); // jeda waktu 250ms 132. digitalWrite(switchstd, HIGH); // mengaktifkan pin
pada switchstd dalam keadaan 1 (HIGH)
133. digitalWrite(stater, HIGH); // mengaktifkan pin pada starer dalam keadaan 1 (HIGH)
134. digitalWrite(rem, HIGH); // mengaktifkan pin pada rem dalam keadaan 1 (HIGH)
135. } 136. } 137.
138. void engine() {
139. bol1 = true; // variable bol1 dalam keadaan true 140. bol = false; // variable bol dalam keadaan false