RANCANG BANGUN SISTEM INFORMASI CHARGING- DISCHARGING TENAGA SURYA BERBASIS IoT
SKRIPSI
Sebagai Persyaratan Guna Meraih Gelar Sarjana Teknik Elektro Universitas Muhammadiyah Malang
Disusun Oleh :
RIDWAN AL-HUSEIN PRANATA 201510130311109
JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK
UNIVERSITAS MUHAMMADIYAH MALANG
2021
ii
iii
iv
LEMBAR PERNYATAAN
Yang bertanda tangan dibawah ini:
Nama : Ridwan Al-Husein Pranata
Tempat/Tanggal Lahir : Ambon, 1 Juni 1997
NIM : 201510130311109
Fakultas/Jurusan : TEKNIK/ELEKTRO
Dengan ini saya menyatakan bahwa Tugas Akhir ini dengan judul: “
RANCANG BANGUN SISTEM INFORMASI CHARGING-DISCHARGING TENAGA SURYA BERBASIS IoT
”, dan beserta seluruh isinya adalah karya saya sendiri dan bukan merupakan karya tulis orang lain, baik sebagian maupun seluruhnya, kecuali dalam bentuk kutipan yang telah disebutkan sumbernya.Demikian surat pernyataan ini saya buat dengan sebenar-benarnya. Apabila kemudian ditemukan adanya pelanggaran terhadap etika keilmuan dalam karya saya ini, atau ada klaim dari pihak lain terhadap keaslian karya saya ini maka saya siap menanggung segala bentuk resiko/sanksi yang berlaku.
Malang, 30 Desember 2021
Ridwan Al-Husein Pranata Mengetahui,
Pembimbing I Pembimbing II
M. Nasar, ST., M.Sc Ir. Nur Alif Mardiyah, MT.
NIDN : 0728127404 NIDN : 0718036502
v
vi KATA PENGANTAR
Dengan memanjatkan puji syukur kehadirat Allah Subhanahu Wa Ta’ala.
Atas limpahan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan tugas akhir yang berjudul :
”
RANCANG BANGUN SISTEM INFORMASI CHARGING- DISCHARGING TENAGA SURYA BERBASIS IoT
”Di dalam tulisan ini disajikan pokok-pokok pembahasan yang meliputi pemantauan charging discharging yang diperoleh, pemantauan secara internet menggunakan aplikasi blynk android dan web server,. Pembuatan Proyek Akhir ini merupakan salah satu syarat untuk memperoleh gelar Sarjana Teknik (ST) di Universitas Muhammadiyah Malang. Selain itu penulis berharap agar proyek akhir ini dapat menambah kepustakaan dan dapat memberikan manfaat bagi semuanya.
Akhir kata semoga buku ini dapat bermanfaat di masa sekarang dan masa mendatang. Sebagai manusia yang tidak luput dari kesalahan, maka penulis mohon maaf apabila ada kekeliruan baik yang sengaja maupun yang tidak sengaja.
Malang, 30 Desember 2021
Penulis
vii
LEMBAR PERSEMBAHAN
Puji Syukur atas kehadirat Allah ﷻ untuk segala nikmat hidup dan nikmat dalam kesempatan menuntut ilmu, sehingga penulis dapat menyelesaikan tugas akhir ini
yang berjudul “
RANCANG BANGUN SISTEM INFORMASI
CHARGING-DISCHARGING TENAGA SURYA BERBASIS IoT
“. Dimana tugas akhir ini disusun sebagai salah satu persyaratan untuk mencapai Strata 1 (S1) Sarjana Teknik Elektro Universitas Muhammadiyah Malang. Dalam penelitian dan penyusunan tugas akhir ini, penulis banyak dibantu, dibimbing dan didukung oleh berbagai pihak. Oleh karena itu, pada kesempatan kali ini penulis sangat ingin mengucapkan banyak – banyak terima kasih kepada :
1. Orang tua saya yang senantiasa mendoakan dan memberi dukungan, baik materil maupun moril selama menempuh pendidikan dan penulisan tugas akhir ini. Semoga Allah senantiasa membalas segala kebaikan dan jasa yang telah diberikan.
2. Bapak M. Nasar,ST.,M.Sc, selaku Dosen Pembimbing I yang senantiasa membantu dan memberi pengarahan dalam pembuatan laporan ini.
3. Ibu Ir. Nur Alif Mardiyah, MT., selaku Dosen Pembimbing II yang juga senantiasa membantu dan memberi pengarahan dalam pembuatan laporan ini.
4. Bapak Khusnul Hidayat, S.T., M.T selaku Ketua Jurusan Teknik Elektro Universitas Muhammadiyah Malang.
5. Seluruh Dosen dan Staff Teknik Elektro Universitas Muhammadiyah Malang yang sudah berjasa dalam memberi ilmu selama pendidikan.
6. Ghupron selaku dospem tidak resmi, yang telah membantu penyelesaian setiap ada masalah eror
7. Teman-teman Black Coin yang membantu saya untuk mengembangkan diri dan terus berproses menjadi lebih baik
8. Seluruh teman-teman elektro UMM terutama kelas C 2015 yang selama ini telah bersama-sama menimba ilmu dan merasakan kerasnya dalam berproses di fakultas teknik UMM.
Akhirnya penulis berharap, semoga laporan ini dapat berguna dan bermanfaat dalam pengembangan ilmu jurusan Teknik Elektro Universitas Muhammadiyah Malang, khususnya bagi penulis dan pembaca sekalian.
viii
DAFTAR ISI
HALAMAN JUDUL ... i
LEMBAR PERSETUJUAN ... ii
LEMBAR PENGESAHAN ... iii
LEMBAR PERNYATAAN ... iv
SURAT PERNYATAAN ... v
KATA PENGANTAR ... vi
DAFTAR ISI ... viii
DAFTAR GAMBAR ... xii
DAFTAR TABEL ... xiii
LAMPIRAN ... xiv
DAFTAR PUSTAKA ... xxi
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Rumusan Masalah ... 4
1.3 Tujuan ... 5
1.4 Batasan Masalah ... 5
1.5 Manfaat Penelitian ... 6
1.6 Sistematika Penulisan ... 6
BAB II TINJAUAN PUSTAKA ... 5
2.1 Charging dan Discharging ... 7
2.2 Internet of Things (IoT) ... 8
2.3 NodeMCU ESP8266 ... 8
2.4 Panel Surya ... 9
ix
2.5 Sensor Arus ACS712 ... 9
2.6 Sensor Tegangan ... 10
2.7 Sensor Lux BH1750 ... 10
2.8 Blynk ... 10
2.9 ADS1115 ... 10
2.10 Control Charging Panel Surya ... 10
2.11 Baterai asam (Lead Acid) ... 12
2.12 MQTT (Message Queuing Telemetry Transport) ... 12
2.13SoC (State of Charge) ... 13
BAB III METODOLOGI PENELITIAN ... 14
3.1 Blok Diagram dan Flowchart ... 14
3.2 Panel Surya, Charger Controller & Baterai ... 16
3.3 Sensor ... 17
3.3.1 Sensor Tegangan ... 18
3.3.2 Sensor Arus ... 18
3.3.3 Sensor Suhu ... 18
3.3.4 Sensor Flux Cahaya ... 18
3.4 NodeMCU ESP8266 Lua V3 ... 19
3.5 Messsage Queuing Telemetry Transport (MQTT) ... 22
3.6 Perancangan Program Hardware ... 24
3.6.1 Sensor suhu DHT11 ... 24
3.6.2 Sensor Arus Charger... 24
3.6.3 Sensor Arus Discharger ... 25
3.6.4 Sensor Sensor tegangan Discharger ... 25
x
3.6.5 Sensor Cahaya Lux BH1750 ... 26
3.7 Perancangan Mikrokontrol DOIT ESP8266 Module ... 26
3.8 Pengujian Software ... 27
3.8.1 Web Server ... 27
3.8.2 Bylnk ... 28
3.9 Pengujian Hardware ... 28
3.9.1 Pengujian Sensor Suhu DHT11 ... 28
3.9.2 Pengujian Sensor Cahaya Lux ... 29
3.9.3 Pengujian Sensor Arus Charger dan Arus Discharger 29 3.9.4 Pengujian Sensor Tegangan Sistem Charger ... 29
3.10 Pengujian Keseluruhan ... 29
BAB IV ANALISA DATA DAN PENGUJIAN SISTEM ... 30
4.1 Hasil Pengujian Input ... 30
4.1.1 Sensor Suhu DHT11 ... 30
4.1.2 Sensor Cahaya Lux ... 31
4.1.3 Sensor Arus Charger dan Arus Discharger ... 32
4.1.4 Sensor Tegangan Sistem Charger ... 33
4.2 ESP8266 ... 34
4.3 Hasil Pengujian Sofware... 34
4.3.1 Blynk Android ... 34
4.3.2 Web Server ... 35
4.4 Sistem Keseluruhan ... 37
BAB V KESIMPULAN DAN SARAN ... 41
5.1 Kesimpulan ... 41
xi 5.2 Saran ... 41
DAFTAR GAMBAR
xii
Gambar 2.1 Proses Pengosongan dan Pengisian ... 7
Gambar 2.2 NodeMCU ESP8266 Lua V3 ... 8
Gambar 2.3 Panel Surya 10 WP ... 8
Gambar 2.4 Sensor Arus ACS712 ... 9
Gambar 2.5 ADS1115 ... 9
Gambar 2.6 Control Charging Panel Surya ... 11
Gambar 3.1 Diagram Blok Sistem Charging and Discharging ... 15
Gambar 3.2 Sensor Suhu DHT11 ... 15
Gambar 3.3 Diagram Blok Sistem MQTT ... 22
Gambar 3.4 Flowchart Proses Charging dan Discharging ... 23
Gambar 3.5 Diagram Blok Sensor DHT11 ... 24
Gambar 3.6 Diagram Blok Sensor Arus Charger ... 25
Gambar 3.7 Diagram Blok Sensor Arus Discharger ... 25
Gambar 3.8 Diagram Blok Sensor Tegangan Discharger ... 26
Gambar 3.9 Diagram Blok Sensor Cahaya Lux ... 26
Gambar 3.10 Diagram Blok Output ... 27
Gambar 3.11 Diagram Blok Output Web Server ... 27
Gambar 3.12 Diagram Blok Output Blynk ... 28
Gambar 4.1 Tampilan Blynk Android... 35
Gambar 4.2 Tampilan Web Server ... 36
Gambar 4.3 Tampilan data Charger di Web Server ... 36
Gambar 4.4 Tampilan data Discharger di Web Server ... 37
xiii
DAFTAR TABEL
Tabel 3.1 Data Panel Surya ... 16
Tabel 3.2 Data Baterai ... 17
Tabel 3.3 Data Charger Controller ... 17
Tabel 3.4 Pin Input Output NodeMCU ESP8266 LUA V3 ... 20
Tabel 4.1 Percobaan DHT11 ... 31
Tabel 4.2 Tabel Percobaan Lux ... 31
Tabel 4.3 Pengujian Charger dan Discharger ... 32
Tabel 4.4 Percobaan Tegangan Charger ... 33
Tabel 4.5 Pengambilan data tanggal 2021-09-28 ... 37
Tabel 4.6 Pengambilan data tanggal 2021-10-09 ... 38
Tabel 4.7 Pengambilan data tanggal 2021-10-01 ... 38
xiv
LAMPIRAN
#include <Wire.h>
#include <Adafruit_ADS1X15.h>
#include <BH1750.h>
#include <DHT.h>
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.
#include <BlynkSimpleEsp8266.h>
#include <SPI.h>
#define DHTPIN D4
#define DHTTYPE DHT11
#define ACSoffset 1652.92
#define mVperAmp 1684.55
#define R1 30000.0
#define lightCalibration 1
float temperature, humidity, readCurrent[2],readVoltage, luxValue;
#define R2 7500.0
char auth[] = "c_TZC--24-W6NUddcSAHD00FkBETyjQJ";//kode blynk di email const char* ssid = "KOSKAMPUNG ATAS";//
const char* password = "rujakcingur";
//WiFiClient client;
char server[] = "192.168.1.17"; //eg: 192.168.0.222
Adafruit_ADS1115 ads;
DHT dht(DHTPIN, DHTTYPE);
BH1750 lux(0x23);
xv WiFiClient client;
void setup() {
Serial.begin(115200);
delay(100);
Wire.begin();
ads.begin();
dht.begin();
lux.begin(BH1750::CONTINUOUS_HIGH_RES_MODE);
//connect to blynk
Blynk.begin(auth, ssid, password);
// Connect to WiFi network Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) { delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
// Start the server // server.begin();
xvi Serial.println("Server started");
Serial.print(WiFi.localIP());
delay(1000);
Serial.println("connecting...");
}
float cekBatery() { float vBat = 0;
vBat = (float)ads.readADC_SingleEnded(3) * 0.1875;
vBat = vBat * 11.0;
vBat = vBat * 100 / 13.8;
return vBat;
}
void loop() {
//memulai blynk Blynk.run();
// read DHT
temperature = dht.readTemperature();
humidity = dht.readHumidity();
//Read Current Sensor float Voltage[2];
Voltage[0] = ads.readADC_SingleEnded(0) * 0.1875;
readCurrent[0] = ((Voltage[0] - ACSoffset) / mVperAmp);
Voltage[1] = ads.readADC_SingleEnded(1) * 0.1875;
readCurrent[1] = ((Voltage[1] - ACSoffset) / mVperAmp);
readVoltage = (ads.readADC_SingleEnded(2) * 0.1875) / 1000.0;
xvii readVoltage /= (R2 / (R1 + R2));
luxValue = lux.readLightLevel() * (float)lightCalibration;
Serial.print("currentMv[0] = ");
Serial.print(Voltage[0]);
Serial.print("\t");
Serial.print("I[0] = ");
Serial.println(readCurrent[0]);
Serial.print("currentMv[1] = ");
Serial.print(Voltage[1]);
Serial.print("\t");
Serial.print("I[1] = ");
Serial.println(readCurrent[1]);
Serial.print("readVoltage = ");
Serial.print(Voltage[2]);
Serial.print("\t");
Serial.print("V = ");
Serial.println(readVoltage);
Serial.print("Light = ");
Serial.print(luxValue);
Serial.print("\t");
Serial.print("Temp = ");
Serial.print(temperature);
Serial.print(" °C");
Serial.print("\t");
Serial.print("Hum = ");
xviii Serial.print(humidity);
Serial.print(" %");
Serial.print("\t");
Serial.print(cekBatery());
Serial.println(" %");
Serial.print("\n");
Sending_To_phpmyadmindatabase();
delay(5000); // interval
}
//Blynk send data void sendSensor() {
float h = dht.readHumidity();
float t = dht.readTemperature(); // or dht.readTemperature(true) for Fahrenheit
if (isnan(h) || isnan(t)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
// You can send any value at any time.
// Please don't send more that 10 values per second.
Blynk.virtualWrite(V0, readCurrent[0]);
Blynk.virtualWrite(V1, readCurrent[1]);
Blynk.virtualWrite(V2, readVoltage);
Blynk.virtualWrite(V3, luxValue);
Blynk.virtualWrite(V4, cekBatery());
Blynk.virtualWrite(V5, t); //V6 is for Temperature
xix Blynk.virtualWrite(V6, h); //V5 is for Humidity
}
void Sending_To_phpmyadmindatabase() //CONNECTING WITH MYSQL {
if (client.connect(server, 80)) { Serial.println("connected");
// Make a HTTP request:
Serial.print("GET /testcode/dht.php?humidity=");
client.print("GET /testcode/dht.php?humidity="); //YOUR URL Serial.println(humidity);
client.print(humidity);
client.print("&temperature=");
Serial.println("&temperature=");
client.print(temperature);
Serial.println(temperature);
client.print("&lux=");
Serial.println("&lux=");
client.print(luxValue);
Serial.println(luxValue);
client.print("&baterai=");
Serial.println("&baterai=");
client.print(cekBatery());
Serial.println(cekBatery());
client.print("&sensor_arus_discharger=");
Serial.println("&sensor_arus_discharger=");
xx client.print(readCurrent[0]);
Serial.println(readCurrent[0]);
client.print("&sensor_arus_charger=");
Serial.println("&sensor_arus_charger=");
client.print(readCurrent[1]);
Serial.println(readCurrent[1]);
client.print("&sensor_tegangan_charger=");
Serial.println("&sensor_tegangan_charger=");
client.print(readVoltage);
Serial.println(readVoltage);
client.print(" "); //SPACE BEFORE HTTP/1.1 client.print("HTTP/1.1");
client.println();
client.println("Host: 192.168.1.17");
client.println("Connection: close");
client.println();
} else {
// if you didn't get a connection to the server:
Serial.println("connection failed");
} }
xxi
DAFTAR PUSTAKA
[1] E. Wahjono, A. Rofiq Nansur, and M. Teknik Elektro Industri, “RANCANG BANGUN SUATU SISTEM PEMANFAATAN SUMBER ENERGI TENAGA SURYA SEBAGAI
PENDUKUNG SUMBER PLN UNTUK RUMAH TANGGA BERBASIS
MIKROKONTROLLER.”
[2] Y. R. Fauzi, “ELTI Jurnal Elektronika, Listrik dan Teknologi Informasi Terapan Unjuk Kerja Panel Surya Kapasitas 50 Wp Terhadap Perubahan Intensitas Cahaya Matahari,”
2019. [Online]. Available: https://ojs.politeknikjambi.ac.id/elti
[3] A. Julisman, I. D. Sara, R. H. Siregar, J. T. Elektro, and D. Komputer, “PROTOTIPE PEMANFAATAN PANEL SURYA SEBAGAI SUMBER ENERGI PADA SISTEM OTOMASI ATAP STADION BOLA,” vol. 2, no. 1, pp. 35–42, 2017.
[4] E. F. Kurniawan, E. Sakti Pramukantoro, and F. A. Bakhtiar, “Implementasi Perangkat Internet Gateway Device Untuk Menghubungkan Infrastruktur IoT dan Aplikasi Cloud Menggunakan Narrowband Internet of Things (NB-IoT),” 2019. [Online]. Available:
http://j-ptiik.ub.ac.id
[5] R. Sianipar, “DASAR PERENCANAAN PEMBANGKIT LISTRIK TENAGA SURYA,”
vol. 11, pp. 61–78.
[6] Z. B. Abilovani, W. Yahya, and F. A. Bakhtiar, “Implementasi Protokol MQTT Untuk Sistem Monitoring Perangkat IoT,” 2018. [Online]. Available: http://j-ptiik.ub.ac.id [7] B. Florus King, D. Panjaitan, A. Hartoyo, ) Jurusan, and T. Elektro, “SISTEM KONTROL
CHARGING DAN DISCHARGING SERTA MONITORING KESEHATAN
BATERAI.” [Online]. Available: http://arduino.cc/
[8] B. Priyanto, “PENINGKATAN DAYA KELUARAN SEL SURYA DENGAN PENAMBAHAN INTENSITAS BERKAS CAHAYA MATAHARI.”
[9] Y. Astriani Badan Pengkajian dan Penerapan Teknologi, A. Kurniasari Badan Pengkajian dan Penerapan Teknologi, and E. Rakhman Priandana Badan Pengkajian dan Penerapan Teknologi, “PENYEIMBANGAN STATE OF CHARGE BATERAI LEAD ACID PADA PROTOTIPE BATTERY MANAGEMENT SYSTEM,” 2018. [Online]. Available:
https://www.researchgate.net/publication/333844270
xxii