BAB III PERANCANGAN ALAT
3.6 Pengujian Rangkaian dan Pengujian Hasil Sistem
3.6.4 Pengujian Sensor PZEM-004T
Pengujian sensor Sensor PZEM-004T dilakukan dengan memasukkan program ke dalam mikrokontroller NodeMCU ESP8266, kemudian dilakukan pengujian dengan mengukur daya listrik dari suatu beban listrik hasilnya dapat dilihat pada table dibawah ini: Tabel 3.4. Pengujian Sensor PZEM-004T
Data Uji Tegangan (V) Arus (I) Daya (P)
Setrika 212,1 1,448 307,3
Rice cooker 217,2 0,364 79,1
Blender 215,3 0,715 154
BAB IV
PENGUJIAN ALAT DAN ANALISA RANGKAIAN
4.1 Analisis Hasil Pengukuran dan Pembandingan dengan Hasil Alat Standar Alat ini menguji tegangan, arus dan daya pada sensor PZEM-004T yang dimana memiliki range spesifikasi yang berbeda yaitu range pembaca tegangan 80~260V, range pembacaan arus 0~100A, sedangkan range pembacaan daya 0~23kW. Data pengukuran dapat dilihat pada tabel dibawah:
Data uji V sensor I sensor P sensor V alat I alat P alat
Pengukuran dilakukan dengan metode langsung dengan membandingkan nilai pada alat standard dengan nilai alat yang sudah dibuat. Pengukuran dilakukan agar dapat diperoleh data percobaan sebagai berikut. Pengujian pada sensor PZEM-004T dan alat pembanding tegangan dan arus pada Multimeter dapat dilihat pada tabel dibawah:
DATA UJI BEBAN DAYA PADA SENSOR PZEM- 004T (Watt)
4.3 Pemograman Pada Sistem Alat.
Pemograman sistem alkat dilakukan dengan menggunakan bahasa pemograman arduino, pemograman sistem alat sebagai berikut.
#include <LiquidCrystal.h>
LiquidCrystal lcd(16, 5, 4, 0, 2, 14);
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
IPAddress ip(192,168,1,1);
#include <PZEM004Tv30.h>
PZEM004Tv30 pzem(12, 13); // Software Serial pin 11 (RX) & 12 (TX) // You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "9UIewDaEYHYcfp7kMx6S0UfltzpKVv8_";
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "Dean";
char pass[] = "15081996";
unsigned long lastMillis = 0;
void setup() {
Serial.begin(115200);
lcd.begin(16, 2);
pzem.setAddress(ip);
Blynk.begin(auth, ssid, pass);
}
void loop() {
Blynk.run();
float voltage = pzem.voltage();
if(voltage != NAN){
Serial.print("Voltage: ");
Serial.print(voltage);
Serial.println("V");
} else {
Serial.println("Error reading voltage");
}
float current = pzem.current();
if(current != NAN){
Serial.print("Current: ");
Serial.print(current);
Serial.println("A");
} else {
Serial.println("Error reading current");
}
float power = pzem.power();
if(current != NAN){
Serial.print("Power: ");
Serial.print(power);
Serial.println("W");
} else {
Serial.println("Error reading power");
}
float energy = pzem.energy();
if(current != NAN){
Serial.print("Energy: ");
Serial.print(energy,3);
Serial.println("kWh");
} else {
Serial.println("Error reading energy");
}
float frequency = pzem.frequency();
if(current != NAN){
Serial.print("Frequency: ");
Serial.print(frequency, 1);
Serial.println("Hz");
} else {
Serial.println("Error reading frequency");
}
float pf = pzem.pf();
if(current != NAN){
Serial.print("PF: ");
Serial.println(pf);
} else {
Serial.println("Error reading power factor");
}
Serial.println();
delay(1000);
//Publish data every 10 seconds (10000 milliseconds). Change this value to publish at a different interval.
if (millis() - lastMillis > 10000) { lastMillis = millis();
Blynk.virtualWrite(V1, voltage);
Blynk.virtualWrite(V2, current);
Blynk.virtualWrite(V3, power);
Blynk.virtualWrite(V4, energy);
Blynk.virtualWrite(V5, frequency );
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("V:");
lcd.setCursor(2, 0);
lcd.print(voltage);
lcd.setCursor(9, 0);
lcd.print("I:");
lcd.setCursor(11, 0);
lcd.print(current);
lcd.setCursor(0, 1);
lcd.print("Daya:");
lcd.setCursor(5, 1);
lcd.print(power);}
BAB V PENUTUP
5.1 Kesimpulan
Dari evaluasi hasil kerja alat dapat diambil beberapa kesimpulan dalam tugas akhir ini adalah : untuk membantu masyarakat dalam menghemat pemakaian listrik dirumah, dengan membantu penghuni rumah menggunakan listrik dengan benar dan tepat untuk dinyalakan serta untuk dimatikan. Manfaat alat ini adalah untuk :
1. Mengingatkan penghuni rumah untuk menggunakan listrik seperlunya.
2. Mengurangi terjadinya arus pendek yang menyebabkan kebakaran.
5.2 Saran
Setelah melakukan penulisan ini diperoleh beberapa hal yang dapat dijadikan saran untuk dapat dilakukan perancangan lebih lanjut yaitu:
1. Diperlukan rancangan yang lebih teliti lagi pada alat agar rangkaian ini dapat bekerja lebih sempurna.
2. Agar dilakukan peningkatan kemampuan pada alat ini, sehingga semakin cerdas dengan mengkombinasikan dengan komponen lain, sehingga sistem kerjanya akan lebih baik lagi.
DAFTAR PUSTAKA
1. Jogiyanto Hartono. 1993. Konsep Dasar Pemograman Bahasa C. Andi Yogyakarta. Yogyakarta.
2. Edward, Setyawan. 1994. Pemograman dengan C/C++ dan Aplikasi Numerik.
Erlangga. Jakarta.
3. Widodo Budiharto. 2011. Aneka Proyek Mikrokontroler. Graha Ilmu.
Yogyakarta.
4. Janner Simarmata. 2006. Pengenalan Teknologi Komputer dan Informasi. Andi Yogyakarta. Yogyakarta.
5. Rusman Hakim. 1998. Belajar Sendiri Mengenal Sistem Komputer. Gramedia.
Jakarta.
6. Sudjadi, 2005. Teori dan aplikasi mikrokontroler. Graha Ilmu. Yogyakarta.
7. Syahwil, Muhammad. 2013. Panduan Mudah Simulasi & Praktek Mikrokontroler Arduiono. ANDI OFFSET. Yogyakarta.
8. Situmorang, Marhaposan. 2011. Dasar-dasar Mikrokontroler MCS-5. USU press. Medan.
9. P. Insap Santosa. 1991. Teknik Digital. Andi Yogyakarta. Yogyakarta.
10. R. Harso Adjie. 2013. Merancang USB I/O Board Menggunakan Chip PIC 18F4550. Graha Ilmu. Yogyakarta.
11. Sugiri, Satria. 2008. Belajar Sendiri Merakit Komponen Komputer. Andi Offset.
Yogyakarta.
12. Saludin Muis. 2013. Perancangan Teori & Praktis Power Supply Jenis Switch Mode. Graha Ilmu. Yogyakarta.
13. Siswo, Anggoro. 2015. Pengantar Mikrokontroler dan Aplikasi Pada Arduino.
Teknosain. Yogyakarta.
Lampiran I (Program)
Program
#define BLYNK_PRINT Serial
#include <SPI.h>
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <SimpleTimer.h>
int temp;
int x = 5;
int y;
int value1;
int value2;
float tegangan = 0;
float arus = 0;
float powerx = 0;
float energyx = 0;
float frequencyx = 0;
float pfx = 0;
float datain1;
float datain2;
float datain3;
float datain4;
float datain5;
float datain6;
String dataIn;
String dt[10];
int i;
boolean parsing=false;
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "kjkhjgjhgDSFDSGFgfhghKHKLJHjhjkkgjfjhv";
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "hotspotku";
char pass[] = "123456789";
SimpleTimer timer;
// This function sends Arduino's up time every second to Virtual Pin (5).
// In the app, Widget's reading frequency should be set to PUSH. This means // that you define how often to send data to Blynk App.
void sendSensor() {
Blynk.virtualWrite(V2, tegangan);
Blynk.virtualWrite(V3, arus);
Blynk.virtualWrite(V4, powerx);
Blynk.virtualWrite(V5, energyx);
Blynk.virtualWrite(V6, frequencyx);
Blynk.virtualWrite(V7, pfx);
delay(1000);
}
//Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 8442);
//Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8442);
// Setup a function to be called every second
//kirim data yang telah diterima sebelumnya //Serial.print("data masuk : ");
//pengecekan tiap karakter dengan karakter (#) dan (,) if ((dataIn[i] == '#') || (dataIn[i] == ','))
{
//increment variabel j, digunakan untuk merubah index array penampung j++;
dt[j]=""; //inisialisasi variabel array dt[j]
} else {
//proses tampung data saat pengecekan karakter selesai.
dt[j] = dt[j] + dataIn[i];
} }
datain1 = dt[0].toInt();
tegangan = datain1 / 100.0;
arus = datain2 / 100.0;
powerx = datain3 / 100.0;
energyx = datain4 / 100.0;
frequencyx = datain5 / 100.0;
pfx = datain6 / 100.0;
}
Lampiran II ( Skematik Rangkaian)
Lampiran III ( Gambar Alat)