DOKUMENTASI PROYEK AKHIR SISTEM EMBEDDED HALAMAN SAMPUL JUDUL PROYEK INDIKATOR BATERAI MENGGUNAKAN ARDUINO
KELOMPOK AEEA Anggota Kelompok :
Akmal Nur Faisal
1306368620
2013
Akhdan Hilmy Taufiqurrahman
1306368500
2013
Erithiana Sisijoan Koesnadi
1306404600
2013
Evan Benedict Zaluchu
1306447360
2013
UNIVERSITAS INDONESIA DEPOK 2016
1
DAFTAR ISI
BAB 1
1.1 Tujuan ……..……………………………………………………………………… 3 1.2 Latar Belakang …….………………………………………………………………3 1.3 Batasan Masalah ….……………………………………………………………… .4
BAB 2
2.1 Deskripsi dan spesifikasi sistem …….…………………………………………… .5 2.2 Desain Hardware ...……………………………………………………………… ..9 2.3 Desain Software …..……………………………………………………………….10
BAB 3
3.1 Implementasi ……………………………………………………………………… 14 3.2 Metode Test ………..………………………………………………………………14 3.3 Result ……..………………………………………………………………………..14
Video (terlampir di file)
2
BAB 1
1.1 Tujuan
1. Menjelaskan konsep pemodelan sistem emdedded. 2. Mengimplementasikan aplikasi sistem embedded menggunakan pemrograman. 3. Membuat alat yang dapat menunjukkan indicator dari baterai Li-ion. 4. Menampilkan Arus, Tegangan, serta kapasitas dari baterai Li-ion.
Bahasa
1.2 Latar Belakang
Baterai merupakan sebuah komponen penting dalam alat elektronik saat ini, hal ini dikarenakan tingginya tingkat mobilitas masyarakat saat ini sehingga dibutuhkan sumber daya yang fleksibel. Jenis baterai yang umum digunakan pada berbagai perangkat gadget adalah tipe baterai Li-ion. Hal ini karena baterai tersebut memiliki kapasitas yang cukup besar dengan ukuran fisik baterai yang kecil. Tetapi, masyarakat kebanyakan tidak tahu tentang informasi baterai yang mereka miliki, seperti arus dan tegangan pada baterai. Proses pengisian baterai melalui charger harus sesuai dengan arus dan tegangan pada baterai. Hal ini karena, jika arus dan tegangan pada baterai melebihi kemampuan dari baterai, maka baterai dapat mengalami kerusakan dengan cepat dan bahkan meledak jika arus dan tegangan yang mengalir jauh melebihi kemampuan dari baterai tersebut. Karena itu, kelompok kami akan memberikan informasi tegangan dan arus pada baterai sehingga masyarakat dapat memilih charger yang baik untuk pengecasan serta memberikan informasi tentang ketahanan baterai itu sendiri. Pada proyek embedded kali ini, kami membuat sebuah indikator baterai yang berbasis Arduino yang bertujuan untuk mengukur parameter-parameter diatas tersebut, dan mampu memberikan keluaran dari hasil pengukuran tersebut secara visual. Hasil output data yang dapat ditampilkan pada alat ini berupa arus, tegangan, serta persentase dari baterai tersebut. Harapan kami dari proyek ini adalah dengan tertampilkannya data tersebut, pengguna mampu lebih cermat dalam melakukan charging sehingga tidak mubazir seperti pada saat baterai tersebut mengalami overcharging , serta juga dalam memilih baterai, apakah baterai tersebut bekerja pada tingkat arus serta tegangan yang normal. Secara garis besar, cara kerja alat kami adalah dengan menyediakan power supply ke Arduino sebagai sumber daya alatnya, lalu menghubungkan Arduino ke baterai yang ingin
3
diukur parameternya, menggunakan kabel USB. Arduino tersebut tentunya terpasang dengan display LCD sehingga mampu untuk menampilkan hasil pengukuran parameter yang dilakukan.
1.3 Batasan Masalah
1. 2. 3. 4.
Baterai yang akan diujikan merupakan jenis Li-ion Alat mampu menyala menggunakan power supply Alat dapat mengetahui arus, tegangan dan kapasitas baterai LCD pada alat dapat ter-dimmed apabila baterai sudah mencapai 100%
4
BAB 2
2.1 Deskripsi dan spesifikasi sistem
1. Arduino Uno R3 Arduino Uno R3 adalah papan pengembangan (development board) mikrokontroler yang berbasis chip ATmega328P. Disebut sebagai papan pengembangan karena board ini memang berfungsi sebagai arena prototyping sirkuit mikrokontroller. Dengan menggunakan papan pengembangan, anda akan lebih mudah merangkai rangkaian elektronika mikrokontroller dibanding jika anda memulai merakit ATMega328 dari awal di breadboard. Arduino Uno memiliki 14 digital pin input / output (atau biasa ditulis I/O, dimana 6 pin diantaranya dapat digunakan sebagai output PWM), 6 pin input analog, menggunakan crystal 16 MHz, koneksi USB, jack listrik, header ICSP dan tombol reset. Hal tersebut adalah semua yang diperlukan untuk mendukung sebuah rangkaian mikrokontroler. Cukup dengan menghubungkannya ke komputer dengan kabel USB atau diberi power dengan adaptor AC-DC atau baterai, anda sudah dapat bermain-main dengan Arduino UNO anda tanpa khawatir akan melakukan sesuatu yang salah. Kemungkinan paling buruk hanyalah kerusakan pada chip ATMega328, yang bisa anda ganti sendiri dengan mudah dan dengan harga yang relatif murah.
5
Spesifikasi Mikrokontroler:
2. LCD 16X2 dengan I2C backpack Penggunaan LCD sebagai penampil data adalah hal yang umum. Pengguna arduino sudah sering menggunakan LCD dengan library LiquidCrystal yang dibundel dengan software Arduino. Hal yang memberatkan adalah pengunaan pin Output yang cukup boros untuk menjalankannya. Untuk mode 4 bit memerlukan 6 pin output, dan untuk mode 8 bit memerlukan 10 pin output. Serial LCD atau I2C LCD
6
Backpack adalah cara mengatasi permasalahan pemborosan penggunaan pin output.
3. Baterai Li-ion Dalam tren teknologi ponsel, perkembangan selalu menuju ke perangkat lebih kecil, lebih tipis, dan lebih ringan, karena hal inilah yang membuat mereka berpindah ke jenis baterai Li-ion. Baterai Li-ion menjawab kebutuhan tren karena baterai ini mampu menyimpan energi lebih banyak dengan ukuran yang lebih kecil dan ringan. Untuk perbandingan lebih detail , Li-ion mampu menyimpan 150 watt-hours di dalam 1 kilogram baterai. Sementara NiMH hanya mampu menyimpan 60-70 watt-hours /kilogram. Karena perbedaan yang cukup signifikan ini, banyak vendor ponsel lebih memilih Li-Ion.
4. Lampu LED Light Emitting Diode atau sering disingkat dengan LED adalah komponen elektronika yang dapat memancarkan cahaya monokromatik ketika diberikan tegangan maju. LED merupakan keluarga Dioda yang terbuat dari bahan semikonduktor. Warna-warna Cahaya yang dipancarkan oleh LED tergantung pada jenis bahan semikonduktor yang dipergunakannya. LED juga dapat memancarkan sinar inframerah yang tidak tampak oleh mata seperti yang sering kita jumpai pada Remote Control TV ataupun Remote Control perangkat elektronik lainnya.
7
Voltase yang digunakan:
5. Resistor 12K Resistor adalah komponen elektronika yang berfungsi untuk menghambat arus listrik dan menghasilkan nilai resistansi tertentu. Kemampuan resistor dalam menghambat arus listrik sangat beragam disesuaikan dengan nilai resistansi resistor tersebut. Resistor memiliki beragam jenis dan bentuk. Diantaranya resistor yang berbentuk silinder, smd (Surface Mount Devices), dan wirewound . Jenis jenis resistor antara lain komposisi karbon, metal film, wirewound , smd, dan resistor dengan teknologi film tebal. Resistor yang paling banyak beredar di pasaran umum adalah resistor dengan bahan komposisi karbon, dan metal film. Resistor ini biasanya berbentuk silinder dengan pita pita warna yang melingkar di badan resistor. Pita pita warna ini dikenal sebagai kode resistor. Dengan mengetahui kode resistor kita dapat mengetahui nilai resistansi resistor, toleransi, koefisien temperatur dan reliabilitas resistor tersebut. Tutorial ini akan menjelaskan kode kode resistor yang banyak beredar di pasaran.
8
6. Mini Breadboard Sebuah breadboard elektonika sebenarnya mengacu pada sebuah papan tempat membuat rangkaian elektronika yang tidak perlu dilakukan penyolderan untuk menghubungkan antara satu komponen dengan komponen lainya sehingga dikenal dengan solderless breadboard. Breadboard adalah sebuah perangkat yang digunakan untuk membuat rangkaian sementara atau rangkaian prototype yang sama sekali tidak membutuhkan proses penyolderan. Cara seperti ini akan menghemat waktu dan biaya.
2.2 Desain Hardware
Gambar 1. Desain Hardware
9
Kami menggunakan Arduino Uno R3 pada sistem hardware untuk indikator baterai menggunakan Arduino. LCD 16X2 dengan I2C backpack digunakan untuk menampilkan indikator baterai. Baterai Li-ion sebagai baterai yang dapat di charge dan sebagai input untuk melihat indikator baterainya. Untuk menyambungkan ketiga komponen tersebut, kami menggunakan sebuah mini breadboard dengan 2 resistor berukuran 12K ohm dan sebuah LED untuk menandakan bahwa baterai berada dalam kondisi pengecasan. Arduino disambungkan ke mini breadboard dengan menggunakan kabel male to male dan kabel male to female untuk ke LCD 16X2 dengan I2C backpack . Pin yang disambungkan merupakan pin untuk Vcc, GND, Input(A0), SDA(A4), dan SCL(A5). Vcc dan GND digunakan sebagai sumberdaya untuk menjalankan LCD 16X2 dengan I2C backpack serta sebagai sumber arus untuk baterai Li-ion yang akan di charge. Input(A0) digunakan untuk membaca indicator baterai dengan dilengkapi 2 buah resistor untuk menghambat daya yang masuk ke Arduino. Hal ini dilakukan agar Arduino tidak kelebihan daya dan mencegah agar Arduino cepat rusak. SDA(A4) dan SCL(A5) digunakan sebagai input untuk I2C adapter . Pada Arduino juga dipasangkan sebuah lampu LED bewarna biru yang akan menyala saat melakukan pengecasan dan akan mati jika baterai yang di charge sudah penuh. Untuk melakukan pengecasan, Arduino disambungkan dengan kabel usb ketravel adapter untuk menerima daya.
2.3 Desain Software Arsitektur software embedded ini berjenis typical closed Loop, dimana program akan dijalankan berulang-ulang pada sistem yang akan dikontrol. Mengukur Power Baterai
Baterai indikator akan mengukur power yang tersisa dalam baterai dengan cara mengukur voltase yang ada pada baterai kemudian dibagi dengan voltase penuhnya dan dikali dengan angka seratus, seperti pada potongan kode dibawah ini:
int sensorValue = analogRead(input); //read the A0 pin value voltage = sensorValue * (5.00 / 1023.00) * 2; tegangan = (voltage / 9)*100; power=power+tegangan; Potongan kode diatas akan dijalankan selama 100 kali sampling, dan kemudian dibagi dengan 100 untuk mencari rata-rata. Hal ini karena input analog dari arduino naik-turun dengan
10
kecepatan yang tidak dapat ditangkap oleh mata, agar output yang dikeluarkan stabil. Hasil perhitungan kemudian akan diprint. Mengukur Voltase
Pengukuran voltase sudah dilakukan pada Pengukuran Power baterai, sehingga yang dilakukan hanyalah mengeprint nilai volatase sebelumnya. Mengukur Arus
Pengukuran arus dilakukan dengan cara sampling voltase 16 kali lalu menghitung arus dengan kode: //Variabel tetap
int curr_value = 0; int acc_value = 0; int sensorValue; float float float float float
supply= 4.91; coeff_A_gain = 0.992174; coeff_A_res = 0.98315; opamp_offset =0.000767; tegangan, arus, power, voltage;
….
arus = ((((curr_value*supply)/102410*opamp_offset)/coeff_A_gain)/coeff_A_res*100)*-1;
Output Lampu Indikator
Indikasi lampu indikator adalah berdasarkan power. Jika power kurang dari yagn ditetapkan, maka lampu peringatan akan menyala, dan mematikan lampu indikator charging state. Logika ini dilakukan dengan if else logic dengan power sebagai parameter. potongan Program:
//set the voltage considered low battery here if (power <= 10.00) { //Lampu Aktif mati, Lampu peringatan Baterai Penuh menyala
11
digitalWrite(led_pin, HIGH); digitalWrite(led_low_battery_pin,LOW); } else{ //Lampu Baterai Penuh mati, Lampu peringatan Aktif menyala digitalWrite(led_pin,LOW); digitalWrite(led_low_battery_pin,HIGH); }
12
13
BAB 3
3.1 Implementasi
Dari semua subyek komponen hardware dan software sudah dibangun semua, maka langkah pertama-tama sambungkan baterai Li-ion yang digunakan dengan subkyek utama. Setelah itu langkah Kedua, daya untuk megaktifkan subyek disambungkan kontak listrik agar subyek berjalan. Secara terprogram subyek melakukan proses untuk mengidentifikasikan kondisi baterai charging. 3.2 Metode Test
1. Menghubungkan alat dengan sumber daya untuk mengetahui apakah alat tersebut dapat menyala 2. Display alat menampilkan informasi dari baterai yang terhubun g untuk mengetahui bahwa baterai terhubung kepada alat, dan membaca informasi yang terdapat pada baterai 3. Melakukan simulasi alat apabila baterai terisi penuh dengan mengubah parameter program untuk melihat apabila baterai terisi penuh LCD akan ter-dimmed
3.3 Result
Dari proses tersebut kita dapatkan output yang berasal hasil indentifikasi subyek dan ditampilkan pada LCD yang digunakan, yaitu output pertama arus listrik atau dalam versi bahasa inggris sering disebut "electric current" dapat didefinisikan sebagai jumlah muatan listrik yang mengalir tiap satuan waktu. Biasanya arus memiliki satuan A (Ampere) atau dalam rumus terkadang ditulis I. Arus listrik merupakan gerakan kelompok partikel bermuatan listrik dalam arah tertentu. Output kedua, Tegangan listrik (Voltage) adalah perbedaan potensi listrik antara dua titik dalam rangkaian listrik. Tegangan dinyatakan dalam satuan V (Volt). Besaran ini mengukur energi potensial sebuah medan listrik untuk menyebabkan aliran listrik dalam sebuah konduktor listrik. Tergantung pada perbedaan potensi listrik satu tegangan listrik dapat dikatakan sebagai ekstra rendah, rendah, tinggi atau ekstra tinggi. Dan terakhir, subyek akan menampilkan data terakhir berapa persen baterai itu terisi (Charging).
14