• Tidak ada hasil yang ditemukan

Perancangan Smart Power Meter Berbasis Arduino

N/A
N/A
Protected

Academic year: 2017

Membagikan "Perancangan Smart Power Meter Berbasis Arduino"

Copied!
104
0
0

Teks penuh

(1)

ϱϱ

LAMPIRAN

Lampiran 1 : Tabel data hasil pembacaan

No Tanggal Jam Daya

(2)

ϱϲ

40 11/03/2017 06:30:00 29.32 199.63 0.75 0.8 41 11/03/2017 06:40:00 22.27 200.58 0.7 0.78 42 11/03/2017 06:50:00 17.61 200.86 0.57 0.8 43 11/03/2017 07:00:00 20.94 201.19 0.69 0.77 44 11/03/2017 07:10:00 21.13 201.77 0.7 0.78 45 11/03/2017 07:20:00 21.49 201.86 0.68 0.78 46 11/03/2017 07:30:00 21.08 201.42 0.67 0.82 47 11/03/2017 07:40:00 19.42 201.69 0.62 0.81 48 11/03/2017 07:50:00 9.7 202.06 0.14 0.74 49 11/03/2017 08:00:00 0.94 202.4 0 0.32 50 11/03/2017 08:10:00 9.33 200.26 0.38 0.57 51 11/03/2017 08:20:00 11.57 200.16 0.38 0.56 52 11/03/2017 08:30:00 11.58 199.4 0.38 0.56 53 11/03/2017 08:40:00 6.55 201.43 0 0.35 54 11/03/2017 08:50:00 0.03 201.02 0 0.38 55 11/03/2017 09:00:00 6.41 199.72 0.38 0.57 56 11/03/2017 09:10:00 11.47 199.26 0.38 0.56 57 11/03/2017 09:20:00 11.53 199.23 0.38 0.56 58 11/03/2017 09:30:00 6.03 199.18 0 0.38

59 11/03/2017 09:40:00 0 199.68 0 0.35

(3)

ϱϳ

(4)

ϱϴ

(5)

ϱϵ

(6)

ϲϬ

(7)

ϲϭ

(8)

ϲϮ

(9)

ϲϯ

(10)

ϲϰ

(11)

ϲϱ

(12)

ϲϲ

(13)

ϲϳ

(14)

ϲϴ

(15)

ϲϵ

(16)

ϳϬ

(17)

ϳϭ

(18)

ϳϮ

(19)

ϳϯ

(20)

ϳϰ

(21)

ϳϱ

(22)

ϳϲ

(23)

ϳϳ

(24)

ϳϴ

(25)

ϳϵ

(26)

ϴϬ

(27)

ϴϭ

(28)

ϴϮ

(29)

ϴϯ

(30)

ϴϰ

Lampiran 2 : Kode Program Arduino

#include "SoftwareSerial.h"

#include "EmonLib.h" // Include Emon Library

#include "EEPROM.h"

#include "DS3231.h"

EnergyMonitor emon1; // Create an instance

SoftwareSerial mySerial(7, 6);

DS3231 rtc(SDA, SCL);

double amp=0;

double volt=0;

double daya = 0,energy = 0,energy_old = 0;

double pf = 0;

int Times = 0, LastTime = 0;

double kwh=0;

double kwhtot = 0;

String stringLINK,

stringDATA,stringEND,stringARUS,stringTEGANGAN,stringPF,stringDATA2,stringLINK2,

stringDATE,stringHOUR;

char buff[200];

int menit=0,hari=0;

String tanggal,jam;

float f = 0.00f;

int dLine2[50];

int tanggall,bulann,tahunn;

int jamm,menitt,detikk;

int tsec;

int counttry;

Time t;

void setup()

{

mySerial.begin(9600);

Serial.begin(9600);

emon1.current(1, 60);

emon1.voltage(2, 235, 1.7);

stringLINK = String("AT+HTTPPARA=\"URL\",\"202.0.107.165:16180/g.php?d=");

stringLINK2=

String("AT+HTTPPARA=\"URL\",\"202.0.107.165:16180/getdata2.php?whtot=");

stringARUS = String("&a=");

stringTEGANGAN = String("&v=");

stringPF = String("&p=");

(31)

ϴϱ

rtc.begin();

getrtctime();

setdatertc();

t = rtc.getTime();

menit = t.min;

hari = t.date;

}

void loop()

{

emon1.calcVI(20,2000);

amp = emon1.calcIrms(1185);

volt = emon1.Vrms;

pf = emon1.powerFactor;

hitungenergy();

kwh = (energy/1000);

t = rtc.getTime();

int datax = t.min - menit;

if (datax == 10 && tsec == 0 || datax < 0&& tsec == 0)

{

EEPROM.get( 0, f );

kwhtot = f;

kwhtot = kwhtot + kwh;

EEPROM.put(0, kwhtot);

tanggal = rtc.getDateStr();

jam = rtc.getTimeStr();

Serial.println(tanggal);

Serial.println(jam);

SubmitHttpRequest();

delay(100000);

int dataxx = t.date - hari;

if(dataxx == 1&& tsec == 0 || dataxx < 0&& tsec == 0)

{

SubmitHttpRequest2();

hari = t.date;

getrtctime();

setdatertc();

}

energy = 0;

energy_old = 0;

LastTime = millis()/1000;

menit = t.min;

(32)

ϴϲ

}

void hitungenergy()

{

daya = volt*amp;

Times = (millis()/1000) - LastTime;

energy=(daya*Times)/(3600);

if (energy < 0){

energy = energy*(-1) + energy_old;

}

else {

energy = energy + energy_old;

}

energy_old=energy;

//Serial.println(energy);

}

void SubmitHttpRequest()

{

Serial.println("Pengiriman Data");

stringDATA = stringLINK + kwh + stringARUS + amp + stringTEGANGAN + volt +

stringPF + pf + stringDATE + tanggal + stringHOUR + jam + stringEND;

(33)

ϴϳ

delay(5000);

ShowSerialData();

mySerial.println("AT+HTTPREAD");

delay(1000);

//ShowSerialData();

checkForResponse();

if ( dLine2[29] != 68 && dLine2[30] != 97 && dLine2[34] != 83 && dLine2[35] != 117 )

{

Serial.println("Pengiriman Gagal");

counttry = counttry + 1;

if (counttry <= 3){

SubmitHttpRequest();}

}

counttry = 0;

Serial.println("Pengiriman Berhasil");

mySerial.println("");

delay(300);

}

void SubmitHttpRequest2()

{

(34)

ϴϴ

delay(1000);

//ShowSerialData();

checkForResponse();

if ( dLine2[29] != 68 && dLine2[30] != 97 && dLine2[34] != 83 && dLine2[35] != 117)

{

Serial.println("Pengiriman Gagal");

counttry = counttry + 1;

if (counttry <= 3){

SubmitHttpRequest();}

}

counttry = 0;

(35)

ϴϵ

mySerial.println("AT+CNTP= \"pool.ntp.org\",7,1,2");

delay(1000);

ShowSerialData();

mySerial.println("AT+CNTP");

delay(10000);

//ShowSerialData();

checkForResponse();

mySerial.println("");

delay(100);

}

void setdatertc()

{

tanggall = (dLine2[33]-48)*10 + (dLine2[34]-48);

bulann = (dLine2[30]-48)*10 + (dLine2[31]-48);

tahunn = (dLine2[27]-48)*10 + (dLine2[28]-48) + 2000;

jamm = (dLine2[36]-48)*10 + (dLine2[37]-48);

menitt = (dLine2[39]-48)*10 + (dLine2[40]-48);

detikk = (dLine2[42]-48)*10 + (dLine2[43]-48);

rtc.setDate(tanggall, bulann, tahunn);

rtc.setTime(jamm, menitt, detikk);

Serial.println(tanggall);

Serial.println(bulann);

Serial.println(tahunn);

Serial.println(jamm);

Serial.println(menitt);

Serial.println(detikk);

}

void checkForResponse()

{

while(mySerial.available()!=0)

{

for (int i = 0; i < 50; i++)

{

dLine2[i] = mySerial.read();

}

for (int i = 0; i < 50; i++)

{

Serial.println(dLine2[i]);

}

(36)

ϵϬ

void ShowSerialData()

{

char data;

while(mySerial.available()!=0)

{

Serial.write(mySerial.read());

}

(37)

ϵϭ

Lampiran 3: Kode Program Web

WEB

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="utf-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<meta name="author" content="muhammadfadlanariska">

<title>Smart Power Meter</title>

<!-- Bagian css -->

<link rel="stylesheet" href="assets/css/bootstrap.css">

<link rel="stylesheet" href="assets/css/data.css">

</head>

<body>

<nav class="navbar navbar-default navbar-fixed-top">

<div class="container">

<div class="navbar-header">

<button type="button" class="navbar-toggle" data-toggle="collapse"

data-target=".navbar-collapse">

<span bar"></span><span

class="icon-bar"></span><span class="icon-bar"></span>

</button>

<a class="navbar-brand" href="default.php">

SMART POWER METER</a>

</div>

<div class="navbar-collapse collapse">

<ul class="nav navbar-nav navbar-left">

<li class="clr1 active"><a

href="default.php">Beranda</a></li>

</ul>

</div>

</div>

</nav>

</br></br></br>

<div class="container" style="margin-top:20px">

<div class="col-md-7">

<h3> Tanggal :</h3>

<?php

$tanggalmain=$_POST['tanggal'];

echo $tanggalmain;

?>

</div>

</div>

</br>

(38)

ϵϮ

<div class="container" style="margin-top:20px">

<center><img src="grafik.php"></center>

</br></br>

<div class="navbar navbar-default navbar-fixed-bottom footer-bottom">

<div class="container text-center">

<p class="text-center">Copyright &copy; 2016. Developed by <a

href="https://www.facebook.com/muhammadfadlan.ariska">Muhammad Fadlan

Ariska</a></p>

</div>

</div>

</body>

</html>

HALAMAN WEB GET

<?php

date_default_timezone_set("Asia/Bangkok");

$daya=$_GET['daya'];

$volt=$_GET['volt'];

$amp=$_GET['amp'];

$pf=$_GET['pf'];

$tanggal = date("Y/m/d");

$jam= date("h:i:sa");

$servername = "";

$username = "";

$password = "";

$dbname = "";

// Create connection

$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection

if ($conn->connect_error) {

die("Connection failed: " . $conn->connect_error);

}

$sql = "INSERT INTO daya2 (id,daya,tanggal,jam,volt,amp,pf)

VALUES (NULL,'$daya','$tanggal','$jam','$volt','$amp','$pf')";

if ($conn->query($sql) === TRUE) {

echo "Data Sukses";

} else {

echo "Error: " . $sql . "<br>" . $conn->error;

}

(39)

ϵϯ

GRAFIK

<?php

$conn = new mysqli("","","","");

$sql_ = "SELECT * FROM `dayatemp`";

$query_=$conn->query($sql_ );

$x_ = "";

$y_ = "";

while( $r_ = mysqli_fetch_array( $query_ ) ){

$waktu = $r_['jam'];

$arus = $r_['daya'];

$x_ = $x_ . "," . $waktu;

$y_ = $y_ . "," . $arus;

}

include ("jpgraph-4.0.1/src/jpgraph.php");

include ("jpgraph-4.0.1/src/jpgraph_line.php");

$x_ = substr($x_,1,strlen($x_)-1);

$y_ = substr($y_,1,strlen($y_)-1);

$data_x = explode("," , $x_);

$data_y = explode("," , $y_);

$graph = new Graph(1000,600);

$graph->SetScale("textlin");

$theme_class= new UniversalTheme;

$graph->SetTheme($theme_class);

$graph->title->Set('Grafik Konsumsi Daya');

$graph->xaxis->title->Set('Waktu','low');

$graph->yaxis->title->Set('Daya');

$graph->xaxis->SetLabelAlign('center','center');

$graph->yaxis->HideZeroLabel();

$graph->yaxis->HideLine(false);

$graph->xgrid->Show();

$graph->xgrid->SetLineStyle("solid");

$graph->xaxis->SetTickLabels($data_x);

$graph->xgrid->SetColor('#E3E3E3');

(40)

ϵϰ

$garis = new LinePlot($data_y);

$graph->Add($garis);

$garis->SetColor("#6495ED");

(41)

ϱϰ

DAFTAR PUSTAKA

[1] Setiabudi, Rudy. 2007. Pengukuran Besaran Listrik. Jakarta:Lembaga Penerbit FEUI (LP-FEUI).

[2]

Artanto, Dian. 2012. Interaksi Arduino dan LabVIEW. Jakarta : PT. Elex Media

Komputindo.

[3] Valdez Jonathan, Becker Jared. 2015. “Understanding the I2C Bus”. USA : Texas Instrument. [4] Nanda Umakanta, Pattnaik Kumar Sushant. 2016. “Universal Asynchronous Receiver and

Transmitter (UART)”. 2016 3rd Internasional Conference on (Vol. 1, pp. 1-5). Institute of Electrical and Electronics Engineers (IEEE).

[5]

Kadir, Abdul. 2012. Panduan Praktis Mempelajari Aplikasi Mikrokontroler dan

Pemrogramannya menggunakan Arduino. Yogyakarta : Penerbit Andi

[6]

Cai, Jian & David Goodman. Oktober1997. General Packet Radio Service in GSM.

IEEE Communications Magazine vol.163, no.6804, pp. 122-131

[7]

PDM/PGI/02:2014. Buku Pedoman Pemeliharaan Trafo Arus (CT). Standar PT PLN

(Persero)

(42)

BAB III

METODOLOGI PENELITIAN

3.1

Umum

Pada Bab 3 ini dilakukan perancangan

Smart Power Meter

yang terintegrasi dengan

website melalui teknologi GPRS dengan tahap-tahap sebagai berikut :

a.

Membuat model sistem

Pada tahap ini dilakukan pembuatan model sistem

Smart Power Meter sehingga

didapatkan gambaran kebutuhan sistem yang akan dirancang, baik secara perangkat keras

maupun perangkat lunak.

b.

Kebutuhan sistem rancangan

Pada tahap ini dilakukan pemilihan perangkat yang sesuai dengan kebutuhan sistem

Smart Power Meter yang dirancang.

c.

Perancangan perangkat keras

Pada tahap ini dilakukan pengintegrasian perangkat-perangkat keras yang digunakan

pada perancangan. Perancangan perangkat ini terpusat pada Arduio sebagai kontroler.

d.

Perancangan perangkat lunak

Pada tahap ini dilakukan pembuatan program terhadap perangkat keras yang dirancang

3.2

Deskripsi Sistem

Smart Power Meter

Pada Tugas Akhir ini dirancang sebuah perangkat penghitung daya listrik yang

terintegrasi dengan

website melalui teknologi GPRS. Perangkat akan menghitung arus dan

tegangan dan memperoleh data keluaran berupa daya dan faktor daya. Pada sistem juga

terdapat Modul RTC sebagai pewaktu pada sistem. Gambar 10 menunjukkan diagram blok

(43)
[image:43.595.138.461.85.321.2]

Gambar 10

Diagram Blok Sistem

Pada saat sistem dimulai, Sensor CT (Current Transformator) dan PT (Potentian

Transformator) akan mengirim data arus dan tegangan yang telah dibaca menuju Arduino.

Proses pembacaan dilakukan terus menerus. Data-data tersebut akan diolah oleh Arduino

sehingga diperoleh hasil pengukuran daya listrik. Kemudian Arduino akan meminta nilai waktu

saat ini kepada RTC (Real Time Clock). Jika waktu pembacaan telah mencapai 10 menit,

Arduino akan mengirim data-data yang telah dibaca oleh sensor dan data pengolahan ke

website melalui Modul GPRS.

3.3

Kebutuhan Sistem Rancangan

Pada subbab 3.2 dijelaskan bahwa perancangan

Smart Power Meter

membutuhkan

perangkat keras yang terdiri dari Arduino, modul GPRS, sensor CT (Current Transformator),

sensor

PT (Potential Transformator), dan modul RTC. Maka, dibutuhkan pemilihan tipe

(44)
[image:44.595.122.476.71.437.2]

Gambar 11 Sistem Rancangan Keseluruhan Tampak Atas

[image:44.595.99.498.451.700.2]
(45)

3.3.1

Arduino UNO

Arduino UNO adalah tipe jenis Arduino yang paling banyak digunakan. Arduino UNO

juga memiliki banyak dukungan pustaka dibandingkan jenis Arduino lainnya, sehingga

memudahkan dalam penggunaannya. Adapun spesifikasi singkat mengenai Arduino UNO

adalah sebagai berikut:

a.

Mikrokontroler

: ATmega328P

b.

Tegangan Operasional

: 5V

c.

Tegangan Masukan (direkomendasi)

: 7-12V

d.

Tegangan Masukan (batas)

: 6-20V

e.

Pin Digital I/O

: 44 (6 pin untuk keluaran PWM)

f.

Analog Input Pins

: 6

g.

Arus DC per I/O Pin

: 20 mA

h.

Arus DC for 3.3V Pin

: 50 mA

i.

Memori Flash

: 32 KB (0.5 KB untuk bootloader)

j.

SRAM

: 2 KB

k.

EEPROM

: 1 KB

l.

Clock Speed

: 16 Mhz

Berdasarkan Subbab 3.2, Sistem yang dirancang cukup sederhana, dimana terdiri dari

sensor Arus, sensor Tegangan, modul RTC, dan modul GPRS . Sehingga Arduino UNO dapat

dipilih sebagai pusat kontrol sistem. Gambar Arduino UNO dapat dilihat pada Gambar 12 pada

kotak berwarna jingga.

3.3.2

Sensor Current Transformator

Sensor arus yang digunakan adalah jenis sensor SCT-013-000. Sensor SCT-013-000

dapat membaca Arus sampai dengan 100 Ampere. Sehingga dapat digunakan untuk mengukur

arus diseluruh rumah. Sama seperti sensor CT lainnya, Sensor SCT-013-000 tidak perlu

membongkar rangkaian listrik yang akan diukur daya listriknya. Sensor SCT-013-000 memiliki

penjepit, sehingga hanya perlu meletakkan penjepit ke salah satu kabel untuk pengukuran arus.

Gambar sensor SCT-013-000 dapat dilihat pada Gambar 11 pada kotak berwarna biru.

Keluaran dari sensor SCT-013-000 berupa sinyal analog. Keluaran sinyal analog tersebut

(46)

sensor yaitu 100 A arus sebanding dengan 50 mA keluaran sensor.

Karena keluaran dari sensor berupa sinyal analog, sehingga terdapat tegangan yang

bernilai negatif. Pada Arduino, tegangan negatif tidak dibaca oleh pin ADC, sehingga dapat

berpengaruh pada pembacaan sensor. Oleh karena itu dirancang suatu rangkaian yang dapat

mengubah range tegangan keluaran dari sensor ke range tegangan yang dapat dibaca oleh pin

Arduino (dalam hal ini yaitu 0 Volt sampai dengan 5 Volt). Gambar 13 merupakan rangkaian

[image:46.595.173.416.289.463.2]

skematik sensor SCT-013-000.

Gambar 13

Rangkaian Skematik Sensor SCT-013-000

3.3.2.1

Kalibrasi Sensor Arus

Pada perolehan data arus yang dibaca, digunakan library “Emonlib.h”. Pada library ini,

untuk memperoleh data arus, dibutuhkan nilai kalibrasi pada program pembacaan arus. Nilai

kalibrasi diperoleh berdasarkan rangkaian pengubah tegangan pada gambar 13.

Pada perancangan, sensor Arus SCT-013-000 memiliki spesifikasi dengan nilai arus

maksimum yang dibaca yaitu 100A. Untuk memperoleh nilai kalibrasi, terlebih dahulu

dihitung peak-current (arus puncak) dari sensor. Berikut adalah perhitungan dari arus puncak

sensor arus.

(47)

Setelah mengetahui arus puncak dari sensor, dilakukan perhitungan nilai keluaran dari

arus berdasarkan kumparan dari sensor. Dalam hal ini, besar kumparan dari sensor

SCT-013-000 adalah sebanyak 2SCT-013-000 kumparan.

i sensor = i measured / nb_turns =

. A /

= .

A

(10)

Setelah mengetahui besar keluaran dari sensor arus, diperlukan mengubah keluaran

tersebut dalam bentuk tegangan, dikarenakan Arduino hanya dapat membaca nilai tegangan.

Oleh karena itu, pada rangkaian skematik sensor terdapat Burden. Penentuan

Resistor-Burden tersebut berdasarkan perhitungan sebagai berikut :

� burden = U sensor /I sensor = . V / .

A = . Ω

(11)

Nilai U(sensor) pada persamaan diatas, diperoleh berdasarkan tegangan pada Arduino.

Arus keluaran dari sensor SCT-013-000 adalah berupa sinyal analog, sehingga memiliki nilai

negatif, oleh karena itu nilai 0V pada arus harus diubah ke tegangan tengah yang dibaca pada

Arduino yaitu dengan rumus :

Max_accepted_voltage / = V / = . V

(12)

Setelah di peroleh besar Resistor-Burden, diperoleh nilai kalibrasi sensor yaitu dengan

perhitungan :

calibration_value = i measured / i sensor / R burden

(13)

calibration_value =

. A / .

A / Ω

(14)

calibration_value =

/ Ω =

(15)

Nilai kalibrasi sensor arus yang diperoleh yaitu 60. Nilai kalibrasi tersebut dimasukkan

pada program pembacaan sensor arus.

3.3.3

Sensor Potential Transformator

Sensor tegangan yang digunakan adalah sebuah transformator

Step-Down dengan

rangkaian pengubah. Transformator Step-Down adalah transformator yang dapat menurunkan

(48)

tegangan yang dapat dibaca oleh Arduino. Transformator

Step-Down

yang digunakan pada

perancangan yaitu transformator dengan keluaran maksimal 1 A dan menurunkan tegangan dari

220V ke 9V.

Sama dengan sensor CT, keluaran dari sensor Potential Transformator juga berupa sinyal

analog. Oleh karena itu dibutuhkan suatu rangkaian pengubah range tegangan keluaran dari

sensor ke range tegangan yang dapat dibaca oleh Arduino. Gambar Transformator

Step-Down

dan Rangkaian pengubah tegangannya dapat dilihat pada gambar 11 pada kotak berwarna

[image:48.595.211.416.302.452.2]

merah dan gambar 14.

Gambar 14

Rangkaian Skematik Sensor Potential Transformator

3.3.3.1

Kalibrasi Sensor Tegangan

Berbeda dengan kalibrasi pada sensor SCT-013-000, perhitungan nilai kalibrasi

berdasarkan nilai Resistor-Burden. Pada kalibrasi sensor tegangan, penentuan nilai kalibrasi

dilakukan dengan menggunakan Voltmeter. Nilai kalibrasi diubah berdasarkan nilai tegangan

yang dibaca oleh sensor. Percobaan perbandingan antara nilai kalibrasi dengan pembacaan

pada Voltmeter dilakukan sebanyak 10 kali, Sehingga nilai kalibrasi yang diperoleh pada

perancangan yaitu 235. Nilai kalibrasi tersebut dimasukkan pada program pembacaan sensor

(49)

3.3.4

Modul RTC DS3231

Modul RTC DS3231 menggunakan IC DS-3231 yang merupakan komponen elektronika

yang sangat presisi dalam menghitung waktu. Dengan baterai Lithium Rechargeable LIR2032

yang akan menjaga modul tetap bekerja pada saat catu daya tidak tersambung, modul ini dapat

berfungsi sebagai penjejak waktu (time tracking device) yang dapat bertahan hingga

bertahun-tahun. Modul ini dilengkapi dengan keping memori AT24C32 dengan kapasitas penyimpanan

sebesar 32 Kb, berguna untuk menyimpan data. Gambar 11 kotak berwarna coklat

menunjukkan tampilan dari modul RTC DS3231.

Pemilihan modul RTC dengan tipe ini didasarkan dengan kemampuannya yang cukup

handal. Selain itu, kemudahan dalam koneksi dengan Arduino melalui protokol I2C juga

menjadi alasan dipilihnya modul RTC DS3231. Pustaka yang banyak memudahkan

pemrograman modul RTC ini.

3.3.5

Modul GPRS SIM900

Modul ini mendukung komunikasi dual band pada frekuensi 900 / 1800 MHz (GSM900

dan GSM1800) sehingga fleksibel untuk digunakan bersama kartu SIM dari berbagai operator

telepon seluler di Indonesia. Operator GSM yang beroperasi di frekuensi dual band 900 MHz

dan 1800 MHz sekaligus. Gambar 11 kotak berwarna kuning menunjukkan tampilan modul

GPRS SIM900.

Spesifikasi SIM900:

a.

GPRS multi-slot class 10/8, kecepatan transmisi hingga 85.6 kbps (downlink)

b.

GPRS mobile station class B

c.

Class 4 (2 W @ 900 MHz)

d.

Class 1 (1 W @ 1800MHz)

e.

SMS (Short Messaging Service)

f.

MMS (Multimedia Messaging Service)

g.

Pengendalian lewat perintah AT Command

h.

Rentang catu daya antara 7 Volt hingga 12 Volt DC

i.

Konsumsi arus sebesar 1 mA pada mode tidur (sleep mode)

j.

Rentang suhu operasional: -40 °C hingga +85 °C

(50)

Pemilihan SIM900 didasarkan pada fiturnya yang sesuai dengan kebutuhan sistem

absensi dan kemudahan dalam koneksi dengan Arduino UNO selaku pusat kontrol dalam

sistem yang dirancang. Selain itu, penggunaan AT command dan dukungan pustaka yang luas

yang juga memudahkan dalam pemrograman perangkat.

3.4

Perancangan Perangkat Keras

Pada perancangan Smart Power Meter menggunakan perangkat keras berupa Arduino

UNO, modul RTC (Real Time Clock) DS3231, Modul GPRS SIM900, sensor CT (Current

Transformator), dan sensor PT (Potential Transformator). Gambar 15 menunjukkan rangkaian

[image:50.595.130.528.326.609.2]

skematik dari perangkat keras secara keseluruhan.

(51)

Berikut adalah penjelasan rangkaian gambar 15 :

1.

Arduino UNO bertugas sebagai pusat kontrol sistem yang akan mengolah data. Arduino

UNO mendapat catuan daya melalui Adapter 9V.

2.

Modul RTC DS3231 berkomunikasi dengan Arduino UNO dengan protocol I2C

(Inter-Intergrated Circuit). Protokol ini menggunakan dua buah pin, yaitu SCK dan SDA.

Pada Arduino UNO, protokol ini terletak pada pin A4 dan A5. Pin VCC pada modul ini

dihubungkan dengan 5V pada board Arduino UNO. Sedangkan pin GND dihubungkan

ke pin GND pada board Arduino UNO.

3.

Modul GPRS SIM900 berkomunikasi secara serial dengan Arduino UNO. Akan tetapi,

modul ini tidak terhubung dengan hardware serial dari Arduino UNO, melainkan secara

software serial. pin yang digunakan pada modul ini yaitu pin TX dan pin RX.

Pin-pin tersebut terhubung ke Pin-pin 6 dan Pin-pin 7 pada Arduino UNO. Sama seperti

sebelumnya, pin VCC dan GND terhubung ke pin 5V dan pin GND pada Arduino

UNO.

4.

Sensor CT terhubung ke Arduino UNO sebagai input. Pin yang digunakan untuk sensor

CT yaitu pin A2, karena keluaran dari sensor CT yaitu berupa sinyal analog.

5.

Seperti halnya sensor CT, Sensor PT juga terhubung ke Arduino UNO sebagai input.

Pin yang digunakan untuk sensor PT yaitu pin A1.

3.5

Perancangan Perangkat Lunak

3.5.1

Perancangan Program Arduino

Pada perancangan program Arduino, perangkat lunak yang digunakan adalan Arduino

IDE. Perangkat lunak ini digunakan untuk memprogram

board Arduino, sehingga dapat

memberikan perintah pada Arduino UNO. Gambar 16 adalah diagram alir dari perintah

(52)
[image:52.595.75.517.58.701.2]
(53)

Pertama, program akan melakukan memperoleh data RTC dari NTP

server. Lalu

melakukan inisialisasi perangkat RTC dan GPRS. Setelah inisialisasi selesai, Arduino akan

langsung membaca sensor tegangan dan sensor arus, dan faktor daya. Lalu dilakukan

pengolahan agar diperoleh besar daya. Setelah besaran-besaran telah didapat, Arduino akan

melakukan pemeriksaan apakah waktu pembacaan telah mencapai waktu 10 menit. Jika belum,

maka Arduino akan kembali melakukan pembacaan sensor terus-menerus sampai waktu

pembacaan mencapai waktu 10 menit. Jika telah sampai 10 menit, sensor akan menyimpan

hasil pembacaan ke EEPROM dan menjumlahkan hasil pembacaan saat ini dengan hasil

pembacaan sebelumnya. Setelah itu program melakukan pemeriksaan kembali apakah hari

sudah berganti. Jika belum, Arduino akan mengirim data arus, tegangan, energy, dan faktor

daya ke web. Jika hari sudah berganti, maka Arduino akan me-load data pada EEPROM dan

mengirim data tersebut ke web, lalu mengirim data arus, tegangan, energy, dan faktor daya juga

ke web. Lalu program kembali ke awal. Perintah-perintah tersebut dilakukan secara

berulang-ulang sampai catu daya pada Arduino dilepas.

Pada saatt pengiriman data ke web, Arduino akan melakukan pembacaan respon dari

web. Jika respon dari web adalah “Data Sukses” maka pengiriman dan penyimpanan data ke

database berhasil, sedangkan jika respon dari web adalah “Error” maka penyimpanan data ke

database gagal. Arduino akan membaca respon tersebut dan menyimpan data tersebut kedalam

sebuah array. Lalu Arduino akan memeriksa array tersebut, sehingga Arduino akan tahu apakah

data gagal terkirim/tersimpan atau tidak. Jika gagal terkirim Arduino akan mengirim kembali

data. Delay waktu tunda pembacaan respon oleh Arduino yaitu 10 detik. Sehingga, jika server

down lebih dari 10 detik Arduino akan menganggap pengiriman data gagal dan akan melakukan

pengiriman ulang data. Banyaknya percobaan pengiriman data yaitu sebanyak 3 kali. Jika

percobaan pengiriman data telah dilakukan sebanyak 3 kali, Arduino tidak mengirim data

(54)

(16)

3.5.1.1

Perhitungan Faktor Daya

Nilai faktor daya diperoleh dari pembagian antara real_power dengan apparent_power.

Nilai apparent_power diperoleh dari perkalian nilai yang dibaca oleh sensor arus dan sensor

tegangan (Irms x Vrms). Sedangkan nilai

real_power diperoleh dari perkalian nilai tegangan

saat ini dan nilai arus saat ini yang dibaca oleh sensor (I x V). Kedua hasil tersbut kemudian

dibagi untuk mendapatkan nilai faktor daya. Berikut adalah rumus menentukan nilai faktor

daya.

Faktor Daya = cos � =

Dimana :

P = Real Power (Daya Aktif) (Watt)

S = Apparent Power (Daya Nyata) (VA)

Gambar 17 Rumus perhitungan Faktor Daya pada library Emonlib.h

Berdasarkan gambar 17, realPower (P) diperoleh dari perkalian V_Ratio, I_Ratio, jumlah

akumulator untuk perhitungan daya (sump) dan dibagi dengan jumlah sampel yang diambil.

V_Ratio dan I_Ratio diperoleh dari nilai ADC (Analog to Digital Converter) dari pin Arduino

yang dibaca. Sedangkan untuk apparentPower (S), diperoleh dari perkalian Vrms dengan Irms.

Nilai Vrms dan Irms diperoleh dari nilai RMS (Root Mean Square) pada nilai ADC dari pin

Arduino.

Pada sisi program Arduino, perhitungan nilai faktor daya terdapat pada library

(55)

pemanggilan fungsi emon1.powerfactor.

3.5.2

Perancangan Sisi Server

Pada bagian perancangan server, akan dibahas perancangan halaman

web

untuk

menerima data yang dikirim oleh Arduino dan menyimpan data tersebut ke database, halaman

monitoring dari setiap parameter yang dapat diakses oleh pengguna untuk melihat data-data

yang dikirim secara

real-time. Diagram blok bagian perancangan server dapat dilihat pada

gambar 18.

Gambar 18 Diagram Blok Bagian Server

3.5.2.1

GET-Method Page

Halaman web dirancang khusus untuk menerima data yang telah dikirim oleh Arduino

untuk kemudian disimpan ke dalam database. Halaman web dibuat dengan menggunakan PHP

script yang menerima data-data sesuai dengan format di dalam PHP script. Urutan proses yang

dilakukan oleh PHP script ini adalah pertama, memperoleh akses ke database yang telah dibuat

dengan memberikan nama

database, alamat

database, password

database, dan nama tabel

yang diakses. Setelah terhubung ke database, selanjutnya data-data yang diterima dari Arduino

akan dipecah sesai dengan nama variable dan nilainya, kemudian akan dimasukkan ke dalam

database tersebut.

Pada perancangan ini digunakan metode GET karena data yang dikirim tidak besar dan

tidak bersifat sensitif. Pada metode GET, untuk mengirim data ke

server, perlu ditambahkan

karakter “?” ke dalam URL utama. Untuk menggunakan metode GET, kita dapat mengetik pada

(56)

http://202.0.107.165:16180/getdata.php?variabel1=value1&variabel2=value2&..

Dimana:

http://202.0.107.165:16180 : alamat server yang akan diakses

getdata.php? : alamat url untuk PHP script GET-Method

variabel1=value1 : merupakan nama variabel yang digunakan dan nilai dari variabel

tersebut. Jika data yang dikirim lebih dari satu variabel, maka perlu dipisah dengan

karakter ‘&’ seperti contoh diatas.

3.5.2.2

MYSQL Database

MYSQL database digunakan untuk menyimpan data-data yang telah dikirim sehingga

dapat dipakai dan diolah. Database yang dirancang memiliki tiga tabel. Berikut adalah daftar

tabel dan nama kolom dari database yang dirancang:

Gambar 19

Daftar table dan kolom pada database

Berikut adalah penjelasan dari masing-masing tabel:

1.

Tabel data2 berfungsi sebagai tabel database penyimpanan data harian penggunaan daya.

Sehingga hanya dibutuhkan dua buah kolom yaitu kolom tanggal sebagai tempat

menyimpan data tanggal pengiriman data dan kolom daya sebagai tempat menyimpan data

daya. Data daya pada tabel ini dibuat bersifat kontinyu sehingga nilai data akan terus

(57)

2.

Tabel daya2 berfungsi sebagai tabel utama, yaitu sebagai penyimpanan data-data yang

dibutuhkan dalam perancangan

Smart Power Meter. Kolom-kolom yang terdapat pada

tabel daya2 yaitu id, tanggal, jam, daya, volt, amp, dan pf. Kolom id berfungsi sebagai

penghitung dari banyaknya data. Kolom tanggal dan jam berfungsi sebagai tempat

penyimpanan waktu dan tanggal pengiriman data. Kolom daya berfungsi sebagai

penyimpanan data wattHour. Berbeda dengan tabel sebelumnya, pada tabel ini data pada

kolom daya akan direset setiap waktu

update tabel. Kolom volt berfungsi sebagai

penyimpanan data tengangan yang dibaca. Kolom amp berfungsi sebagai penyimpanan

data arus. Sedangkan kolom pf sebagai penyimpanan data factor daya yang dibaca.

3.

Tabel dayatemp berfungsi sebagai penyimpanan data-data dari tabel daya2 sementara.

Data pada daya temp akan selalu di-update pada keadaan tertentu. Penjelasan lebih lanjut

mengenai fungsi tabel ini dapat dilihat pada subjudul 3.5.2.3.

3.5.2.3

Halaman Monitoring

Halaman

monitoring digunakan oleh pengguna untuk melihat data-data yang telah

disimpan ke dalam database. Halaman

web

ini dapat diakses melalui

web browser computer

maupun smartphone. Halaman web disimpan pada sebuah server. Halaman monitoring terdiri

dari beberapa halaman web, yaitu halaman monitoring daya, halaman monitoring arus, halaman

monitoring

tegangan, halaman

monitoring faktor daya, dan halaman monitoring tabel.

Halaman

monitoring daya, arus, tegangan, dan faktor daya menampilkan data berupa grafik

dari masing-masing parameter. Sedangkan halaman

monitoring

tabel menampilkan besar

konsumsi daya, dan waktu dalam bentuk tabel, serta berisi total penggunaan daya pada hari

yang ditentukan.

Untuk mengakses halaman

monitoring, pertama pengguna akan diminta

input tanggal

dari hari yang ingin dilihat penggunaan daya. Lalu pengguna akan diminta memilih halaman

(58)

monitoring tegangan, halaman monitoring faktor daya, dan halaman monitoring tabel.

Data-data pada halaman monitoring diambil dari Data-database. Tabel Data-database yang diambil yaitu tabel

dayatemp. Tabel dayatemp berisi data-data pada tanggal yang di-input. Pertama, halaman

monitoring akan melakukan pengkosongan table dayatemp. Lalu melakukan penyalinan semua

data pada tabel daya2 ke tabel dayatemp. Setelah melakukan penyalinan, lalu dilakukan

penyaringan data pada tabel dayatemp dimana menghapus semua data pada kolom tanggal

dimana data yang tidak sama antara data kolom tanggal pada tabel dayatemp dengan tanggal

[image:58.595.266.351.303.651.2]

yang di input di awal. Gambar 20 menunjukkan diagram alir halaman monitoring.

(59)

BAB IV

PENGUJIAN DAN ANALISIS

4.1

Pengujian Koneksi Arduino dengan RTC

Pengujian koneksi Arduino dengan RTC menggunakan Arduino UNO, RTC DS3231, dan

perangkat lunak Arduino IDE. Data pembacaan waktu akan dilihat pada

serial monitor pada

serial monitor Arduino IDE. Data waktu tersebut akan dibandingkan dengan waktu pada

[image:59.595.115.477.283.663.2]

komputer.

(60)

Pengujian koneksi Arduino dengan RTC dilakukan dengan meng-upload program yang telah

ada di pustaka DS3231.h. Program ini bermaksud untuk membaca dan menampilkan data

[image:60.595.123.472.157.556.2]

waktu yang ada di modul RTC DS3231 di serial monitor.

Gambar 22 Hasil Percobaan koneksi Arduino dengan RTC

Pada gambar 22 menunjukkan serial monitor menampilkan data waktu dengan format

hari/bulan/tahun dan jam:menit:detik. Pada gambar 22 juga terlihat waktu yang terdapat pada

komputer menunjukkan tidak ada selisih yang signifikan antara waktu RTC dengan waktu yang

ditampilkan oleh komputer. Waktu pada komputer terhubung ke NTP Server dari windows

(61)

4.2

Pengujian Koneksi RTC dengan NTP Server

Pengujian koneksi RTC dengan NTP Server menggunakan Arduino UNO, RTC DS3231,

SIM900 dan perangkat lunak Arduino IDE. Data pembacaan waktu akan dilihat pada

serial

[image:61.595.120.470.192.587.2]

monitor pada serial monitor Arduino IDE.

Gambar 23 Hasil Koneksi RTC dengan NTP Server

(62)

4.3

Pengujian Koneksi Arduino dengan Modul GPRS SIM900

Pengujian koneksi Arduino dengan Modul GPRS SIM900 menggunakan Arduino UNO,

Modul SIM900, kartu SIM yang mendukung GSM/GPRS dan perangkat lunak Arduino IDE.

[image:62.595.120.478.178.560.2]

Data hasil pengujian akan dilihat pada serial monitor.

Gambar 24 Source Code Pengujian Koneksi Arduino dengan Modul GPRS SIM900

Pengujian koneksi Arduino dengan SIM900 dilakukan dengan memberikan input kepada

SIM900 melalui komunikasi secara serial. SIM900 bekerja berdasarkan AT command yang

di-input-kan oleh user ke Arduino. SIM900 hanya mengenali AT command sesuai dengan

(63)
[image:63.595.125.469.69.441.2]

Gambar 25

Hasil Pengujian Koneksi SIM900 dengan Arduino

Pada Gambar 25 terlihat status koneksi antara SIM900 dengan Arduino UNO yang

menunjukkan kondisi “OK”. Kondisi ini menunjukkan adanya komunikasi antara dua

perangkat keras tersebut.

4.4

Pengujian dan Analisis sensor CT (

Current Transformator

)

Pengujian koneksi Arduino dengan Modul GPRS SIM900 menggunakan Arduino UNO,

sensor CT (Current

Transformator), dan perangkat lunak Arduino IDE. Data hasil pengujian

(64)
[image:64.595.164.433.69.483.2]

Gambar 26 Pengujian Sensor CT pada KWH Meter

Pengujian dilakukan dengan meng-upload program pembacaan arus pada Arduino

UNO. Sebelum meng-upload program, terlebih dahulu di input nilai kalibrasi yang diperoleh

pada Sub-Bab 3.3.2.1. Nilai kalibrasi untuk system yang dirancang yaitu 60. Selain nilai

kalibrasi, nilai sampling juga diubah. Nilai sampling dapat diatur sendiri, tetapi jika nilai

sampling terlalu kecil, nilai menjadi tidak akurat, sedangkan jika nilai sampling terlalu besar,

(65)
[image:65.595.103.489.67.509.2]
(66)
[image:66.595.214.382.68.304.2]

Gambar 28 Hasil Pengujian sensor Arus pada Komputer

Dari gambar 28 dan gambar 29 menunjukkan hasil pengujian menunjukkan bahwa nilai

yang dibaca pada serial monitor dengan clampmeter tidak memiliki perbedaan yang signifikan.

Perbedaan terdapat pada nilai dibelakang koma dikarenakan Arduino UNO membaca nilai

dengan 2 nilai dibelakang koma, sedangkan pada clampmeter membaca dengan 1 nilai

dibelakang koma.

[image:66.595.214.381.496.735.2]
(67)

4.5

Pengujian dan Analisis sensor PT (

Potential Transformator

)

Pengujian koneksi Arduino dengan Modul GPRS SIM900 menggunakan Arduino UNO,

sensor PT (Potential Transformator), dan perangkat lunak Arduino IDE. Data hasil pengujian

[image:67.595.190.434.478.739.2]

akan ditampilkan pada serial monitor Arduino IDE.

Gambar 30 Pengujian Sensor PT (Potential Transformator)

Pengujian dilakukan dengan meng-upload program pembacaan tegangan pada Arduino

UNO. Sebelum meng-upload program, terlebih dahulu di input nilai kalibrasi yang diperoleh

pada Sub-Bab 3.3.3.1. Nilai kalibrasi untuk sistem yang dirancang yaitu 235.

(68)

Gambar 32 Hasil pembacaan sensor tegangan pada Serial Monitor

[image:68.595.201.395.66.333.2]

Dari gambar 32 dan gambar 33, diperoleh hasil pengujian menunjukkan bahwa nilai

yang dibaca pada serial monitor dengan clampmeter/multimeter tidak memiliki perbedaan yang

signifikan. Perbedaan terdapat pada nilai dibelakang koma dikarenakan Arduino UNO

membaca nilai dengan 2 nilai dibelakang koma, sedangkan pada clampmeter membaca dengan

1 nilai dibelakang koma.

(69)

4.6

Pengujian Pengiriman Data ke Web

Pengujian pengirim data ke web membutuhkan semua komponen perangkat keras dari

system yang dirancang. Komponen-komponen tersebut yaitu Arduino UNO, Modul GPRS

SIM900, Modul RTC DS3231, Sensor CT (Current Transformator), dan Sensor PT (Potential

Transformator). Pengujian dilakukan dengan melihat proses pengiriman data pada serial

monitor dan juga membandingkan data pada database sebelum dan sesudah pengiriman.

Dari hasil pengujian pengiriman data ke web, diperoleh bahwa data yang dikirim ke web

berhasil tersimpan ke database. Data yang dikirim pada proses pengiriman (Gambar 34) yaitu :

d (daya)

: 6.86

a (arus)

: 0.07

v (tegangan)

: 199.50

p (faktor daya)

: 0.72

[image:69.595.88.504.299.665.2]

t (tanggal)

: 2017-03-16

j (jam)

: 09:20:00

(70)

Sedangkan data pada database (Gambar 32), pada baris terakhir menunjukkan data yang

dikirim oleh Arduino sesuai dengan data pada website. Nilai arus, daya tegangan, faktor daya,

[image:70.595.77.519.158.400.2]

tanggal, dan jam tersimpan pada kolom yang sesuai pada database.

Gambar 35 Kondisi database

4.7

Analisis Hasil Pengukuran Sistem

4.7.1

Hasil Pengukuran

Pengukuran dilakukan dengan menggunakan Clampmeter/Multimeter. Pengukuran

dilakukan sebanyak 10 kali. Parameter yang diambil yaitu nilai Arus (Ampere) dan Tegangan

(Volt). Nilai Arus dan Tegangan pada modul yang dirancang dibaca melalui serial monitor dan

dicatat. Sedangkan untuk nilai pada clampmeter/multimeter diambil saat pengambilan data

pada sensor. Tabel 2 merupakan hasil pengambilan data modul dan clampmeter/multimeter.

(71)

No Percobaan Modul yang Dirancang Percobaan dengan Clampmeter

Arus (Amp) Tegangan (V) Jam Arus (Amp) Tegangan (V) Jam

1 5,34 197,36 15:30 5,3 196 15:30

2 5,65 196,99 15:40 5,6 196 15:40

3 5,7 197,39 15:50 5,6 197 15:50

4 5,64 197,37 16:00 5,6 197 16:00

5 0,82 202,08 16:10 0,8 202 16:10

6 0,88 201,86 16:20 0,9 203 16:20

7 1,02 202,83 16:30 1 202 16:30

8 0,69 203,23 16:40 0,7 202 16:40

9 0,67 203,23 16:50 0,6 202 16:50

10 0,76 203,98 17:00 0,7 202 17:00

4.7.2

Perbandingan Arus pada Modul yang Dirancang dengan Arus pembacaan

Clampmeter

Hasil pembacaan Arus pada modul yang dirancang dan pembacaan Arus pada

[image:71.595.200.396.446.652.2]

Clampmeter dapat dilihat pada tabel 3.

Tabel 3 Tabel Pembacaan Arus

No Arus pada Modul (Amp)

Arus pada Clampmeter

(Amp)

1 5,34 5,3

2 5,65 5,6

3 5,7 5,6

4 5,64 5,6

5 0,82 0,8

6 0,88 0,9

7 1,02 1

8 0,69 0,7

9 0,67 0,6

10 0,76 0,7

Setelah diperoleh data hasil pembacaan, maka dilakukan pengujian akurasi dari alat

yang dirancang. Penentuan akurasi menggunakan rumus sebagai berikut :

��� � � =

� � �
(72)

Sehingga diperoleh tabel akurasi sebagai berikut :

Tabel 4 Tabel Akurasi Arus

No Arus pada Modul (Amp)

Arus pada Clampmeter

(Amp)

Akurasi (%)

1 5,34 5,3 ,

2 5,65 5,6 ,

3 5,7 5,6 ,

4 5,64 5,6 ,

5 0,82 0,8 ,

6 0,88 0,9 - ,

7 1,02 1,0 ,

8 0,69 0,7 - ,

9 0,67 0,6 ,

10 0,76 0,7 ,

Dari tabel 4 diperoleh akurasi dari pembacaan arus berkisar antara -2,27% sampai

dengan 10,44%. Hal tersebut dikarenakan pembacaan pada Clampmeter yang hanya memiliki

nilai satu digit dibelakang koma, sedangkan pada pembacaan Arduino memiliki nilai dua digit

dibelakang koma.

4.7.3

Perbandingan Tegangan pada Modul yang Dirancang dengan Tegangan

pembacaan Clampmeter/Multimeter

Hasil pembacaan tegangan pada modul yang dirancang dan pembacaan tegangan pada

[image:72.595.159.438.111.326.2]

Clampmeter/multimeter dapat dilihat pada tabel 5.

Tabel 5 Tabel Pembacaan Tegangan

No Tegangan pada Modul (V)

Tegangan pada Clampmeter (V)

1 197,36 196

2 196,99 196

3 197,39 197

4 197,37 197

5 202,08 202

6 201,86 203

(73)

8 203,23 202

9 203,23 202

10 203,98 202

Setelah diperoleh data hasil pembacaan, maka dilakukan pengujian akurasi dari alat

yang dirancang. Penentuan akurasi menggunakan rumus sebagai berikut :

��� � � =

� � �

×

(18)

Sehingga diperoleh tabel akurasi pada tabel 6.

Tabel 6 Tabel Akurasi Tegangan

No Tegangan pada Modul (V)

Tegangan pada Clampmeter

(V)

Akurasi

1 197,36 196 ,

2 196,99 196 ,

3 197,39 197 ,

4 197,37 197 ,

5 202,08 202 ,

6 201,86 203 - ,

7 202,83 202 ,

8 203,23 202 ,

9 203,23 202 ,

10 203,98 202 ,

Dari tabel 6 diperoleh akurasi dari pembacaan arus berkisar antara -0,56% sampai

dengan 0,97%. Hal tersebut dikarenakan pembacaan pada Clampmeter/Multimeter tidak

memiliki digit dibelakang koma, sedangkan pada pembacaan Arduino memiliki nilai dua digit

(74)

BAB V

KESIMPULAN DAN SARAN

5.1

Kesimpulan

Dari hasil pengujian dan implementasi yang telah dilakukan pada bab sebelumnya, maka

dapat diperoleh kesimpulan sebagai berikut:

1.

Data yang dikirim dapat diterima dan disimpan pada database, dan halaman monitoring

dapat menampilkan data hasil pembacaan.

2.

Akurasi dari pembacaan arus yang diperoleh yaitu berkisar antara -2,27% sampai dengan

10,44%.

3.

Akurasi dari pembacaan tegangan yang diperoleh yaitu berkisar antara -0,56% sampai

dengan 0,97%.

5.2

Saran

Beberapa saran yang dapat diberikan sehubungan dengan pelaksanaan tugas akhir ini

adalah sebagai berikut:

1.

Pada melakukan pengujian disarankan menggunakan clampmeter/multimeter yang lebih

akurat, dan memiliki tampilan hasil dengan nilai dibelakang koma yang lebih banyak.

2.

Pada perancangan sensor PT (Potential Transformator) disarankan menggunakan

Adaptor AC yang lebih bagus, karena pada Adaptor AC yang bagus memiliki filter sinyal

yang lebih baik.

3.

Untuk perancangan selanjutnya diharapkan dapat menghitung konsumsi listrik pada

jaringan listrik 3 fasa.

(75)

ϰ

BAB II

LANDASAN TEORI

2.1

Listrik

Listrik merupakan suatu muatan yang terdiri dari muatan positif dan muatan negatif,

dimana sebuah benda akan dikatakan memiliki energi listrik apabila suatu benda itu

mempunyai perbedaan jumlah muatan. Energi listrik banyak di gunakan untuk berbagai

peralatan atau mesin. Energi listrik tidak dapat dilihat secara langsung namun dampak atau

akibat dari energi listrik dapat dilihat seperti sinar atau cahaya bola lampu[1].

Satuan-satuan listrik yang paling umum kita gunakan sehari-hari adalah (ILR,2011) :

Tegangan listrik (voltage) dalam satuan volt (V)

Arus listrik (current) dalam satuan ampere (A)

Frekuensi (frequency) dalam satuan Hertz (Hz)

Daya listrik (power) dalam satuan watt (W) atau volt-ampere (VA) dan energi listrik

dalam satuan watt-hour (Wh) atau kilowatt-hour (kWh).

2.1.1

Daya Listrik

Untuk menghitung pemakaian listrik dapat dihitung dari daya listrik. Daya listrik

merupakan jumlah energi yang digunakan untuk melakukan kerja atau usaha. Dalam sistem

listrik arus bolak-balik, dikenal 3 jenis daya yaitu :

Daya Nyata ( simbol : S ; satuan : VA (Volt Ampere))

Daya Aktif (simbol : P ; satuan : W (Watt))

(76)

ϱ

(1)

Daya Aktif adalah daya yang digunakan untuk energi kerja sebenarnya. Daya inilah yang

dikonversikan menjadi energi tenaga (mekanik), cahaya atau panas. Satuan daya aktif adalah

watt.

Daya Reaktif adalah daya yang digunakan untuk pembangkitan fluks magnetik atau

medan magnet. Satuannya adalah VAR. contoh peralatan listrik yang memerlukan daya reaktif

adalah motor listrik atau dinamo, trafo, bola lampu konvensional dan peralatan listrik lain yang

menggunakan proses induksi listrik lilitan untuk operasinya.

Daya Nyata dengan satuan VA adalah total perkalian antara arus dan tegangan pada suatu

jaringan listrik atau penjumlahan dengan metode trigonometri dari daya aktif dan reaktif dalam

segitiga daya.

[image:76.595.229.394.419.577.2]

Hubungan antara ketiga jenis daya ini dapat dilihat pada Gambar 1.

Gambar 1 Segitiga Daya Listrik

Dengan melihat hubungan ketiga daya tersebut. Rumus untuk daya nyata adalah

perkalian antara arus dan tegangan, yaitu :

� = � × �

(77)

ϲ

(2)

(3)

(4)

S = Daya Nyata (VA)

V = Voltage/Tegangan (Volt)

I = Arus (Ampere)

Sedangkan hubungan antara daya nyata dan daya aktif dapat dihitung dengan rumus

trigonometri sebagai berikut :

cos � =

� = � × cos �

Rumus untuk daya aktif adalah :

� = � × � × cos �

Dimana :

P = Daya Aktif (watt)

V = Tegangan (volt)

I = Arus (ampere)

cos �

= Faktor Daya

Faktor daya yang dinotasikan sebagai

cos φ

didefinisikan sebagai perbandingan antara

arus yang dapat menghasilkan kerja didalam suatu rangkaian terhadap arus total yang masuk

kedalam rangkaian atau dapat dikatakan sebagai perbandingan daya aktif (kW) dan daya semu

(kVA). Daya reaktif yang tinggi akan meningkatkan sudut ini dan sebagai hasilnya faktor daya

akan menjadi lebih rendah[1].

2.1.2

Biaya Pemakaian Listrik

Biaya listrik sangat tergantung dari jumlah pemakaian listrik (industri, bisnis, sosial, dan

(78)
[image:78.595.95.504.99.490.2]

ϳ

Tabel 1

Tarif Tenaga Listrik PLN Bulan Januari 2017

Sumber : www.pln.co.id

2.2

Arduino

Arduino didefinisikan sebagai sebuah

platform

elektronik yang

open source,

berbasis

pada

software

dan

hardware

yang fleksibel dan mudah digunakan, yang ditujukan untuk para

seniman, desainer,

hobbies,

dan setiap orang yang tertarik dalam membuat objek atau

lingkungan yang interaktif[2].

Nama Arduino di sini tidak hanya dipakai untuk menamai papan

rangkaiannya saja, tetapi

juga untuk menamai bahasa dan

software

pemrogramannya, serta lingkungan pemrogramannya

atau IDE-nya (IDE =

Integrated Development Environment

). Gambar 2 menunjukkan tampilan

(79)
[image:79.595.207.405.71.224.2]

ϴ

Gambar 2

Jenis-jenis Arduino

Kelebihan Arduino dari

platform

hardware

mikrokontroler lainnya adalah:

1.

IDE Arduino merupakan

multiplatform,

yang dapat dijalankan di berbagai sistem

operasi, seperti Windows, Macintosh, dan Linux.

2.

IDE Arduino dibuat berdasarkan pada IDE Processing, yang sederhana sehingga

mudah digunakan.

3.

Pemrograman Arduino menggunakan kabel yang terhubung dengan

port

USB,

bukan

port

serial. Fitur ini berguna karena banyak komputer yang sekarang ini tidak

memiliki

port

serial.

4.

Arduino adalah

hardware

dan

software open source.

5.

Biaya

hardware

cukup murah.

6.

Proyek Arduino ini dikembangkan dalam lingkungan pendidikan, sehingga bagi

pemula akan lebih cepat dan mudah mempelajarinya.

7.

Memiliki begitu banyak pengguna dan komunitas di internet yang dapat membantu

setiap kesulitan yang dihadapi.

2.2.1

Bahasa Pemrograman Arduino

Arduino merupakan perangkat yang berbasiskan mikrokontroler. Program Arduino

merupakan komponen yang membuat sebuah Arduino dapat bekerja. Arduino akan bekerja

(80)

ϵ

pemrograman Arduino menggunakan bahasa pemrograman C++ yang dikembangkan sesuai

dengan Arduino IDE (

Integrated development environment

).

2.2.1.1 Struktur

Setiap program dalam Arduino terdiri dari dua fungsi utama yaitu setup() dan loop().

Fungsi digambarkan sebagai kumpulan kode yang ditujukan untuk melaksanakan tugas tertentu

dan kode tersebut akan dijalankan ketika nama fungsi tersebut dipanggil di dalam program[5].

Instruksi yang berada dalam fungsi setup() dieksekusi hanya sekali, yaitu ketika Arduino

pertama kali dihidupkan. Biasanya instruksi yang berada pada fungsi setup() merupakan

konfigurasi dan inisialisasi dari Arduino. Instruksi yang berada pada fungsi loop() dieksekusi

berulang-ulang hingga Arduino dimatikan (catu daya diputus). Fungsi loop() merupakan tugas

utama dari Arduino. Jadi setiap program yang menggunakan bahasa pemrograman Arduino

memilliki struktur yang ditunjukkan pada Gambar 3.

Gambar 3

Struktur Umum Pemrograman Arduino

Program pada Gambar 3 dapat dianalogikan dalam bahasa pemrograman Arduino seperti

ditunjukkan pada Gambar 4.

(81)

ϭϬ

2.2.1.2 Konstanta

Konstanta adalah variabel yang sudah ditetapkan sebelumnya dalam bahasa

pemrograman Arduino. Konstanta digunakan agar program lebih mudah untuk dibaca dan

dimengerti. Konstanta dibagi menjadi 3 kelompok yaitu:

1.

Konstanta yang digunakan untuk menunjukkan tingkat logika (konstanta Boolean), yaitu

true

dan

false

.

2.

Konstanta untuk menunjukkan keadaan

pin

, yaitu HIGH dan LOW.

3.

Konstanta untuk menunjukkan fungsi

pin

, yaitu INPUT, INPUT_PULLUP, dan

OUTPUT.

Konstanta yang digunakan untuk menunjukkan benar atau salah dalam bahasa

pemrograman Arduino adalah

true

dan

false

. False didefinisikan sebagai 0 (nol).

True

sering

didefinisikan sebagai 1(satu), namun

true

memiliki definisi yang lebih luas. Setiap integer yang

bukan nol adalah

true

dalam pengertian Boolean.

Ketika membaca atau menulis ke sebuah

pin

digital, terdapat hanya dua nilai, yaitu HIGH

dan LOW. HIGH memiliki arti yang berbeda tergantung dengan konfigurasinya. Ketika

pin

dikonfigurasi sebagai masukan dengan fungsi pinMode(), mikrokontroler akan melaporkan

nilai HIGH jika tegangan yang ada pada

pin

tersebut berada pada tegangan 3 volt atau lebih.

Ketika sebuah

pin

dikonfigurasi sebagai masukan dan kemudian dibuat bernilai HIGH dengan

fungsi digitalWrite(), maka resistor

pull-up

internal dari

chip

ATmega akan aktif, yang akan

membawa

pin

masukan ke nilai HIGH, kecuali

pin

tersebut ditarik (

pull-down

) ke nilai LOW

oleh rangkaian dari luar. Ketika

pin

dikonfigurasi sebagai keluaran dengan fungsi pinMode()

dan diatur ke nilai HIGH dengan fungsi digitalWrite(), maka

pin

berada pada tegangan 5 volt.

Untuk mengkonfigurasi fungsi

pin

pada Arduino digunakan konstanta INPUT,

INPUT_PULLUP, dan OUTPUT.

Pin

Arduino yang dikonfigurasi sebagai masukan dengan

(82)

ϭϭ

sebagai masukan memiliki permintaan yang sangat kecil kepada rangkaian yang di-

sampling

-nya, setara dengan sebuah resistor 100 Megaohm dipasang seri dengan

pin

tersebut.

Chip

ATmega pada Arduino memiliki resisitor

pull-up

internal (resistor yang terhubung ke sumber

tegangan secara internal) yang dapat digunakan. Untuk menggunakan resistor

pull-up

internal

ini kita menggunakan konstanta INPUT_PULLUP pada fungsi pinMode().

Pin

yang

dikonfigurasi menjadi sebuah keluaran dikatakan berada dalam kondisi berimpedansi rendah.

2.2.2

Komunikasi Data

2.2.2.1 I2C

Inter Integrated Circuit (I

2

C) bus

adalah standar antarmuka dua arah yang digunakan

sebuah pengontrol, dikenal sebagai master, untuk berkomunikasi dengan perangkat lain yang

terhubung dengannya. Perangkat lain tidak dapat mengirim data sebelum perangkat tersebut

diberi alamat atau sudah dikenal oleh master. Setiap perangkat yang terhubung dengan bus I

2

C

memiliki alamat yang spesifik untuk membedakan dengan perangkat lainnya yang terhubung

dengan bus I

2

C yang sama.

Bentuk fisik antarmuka I

2

C terdiri dari jalur

serial clock (SCL)

dan

serial data (SDA).

Keduanya harus terhubung ke Vcc (sumber tegangan) melalui sebuah resistor

pull-up

.

Besar

resistor

pull-up

ditentukan oleh banyaknya kapasitas pada jalur I

2

C.

I

2

C merupakan protocol yang sangat popular dan handal yang digunakan untuk

komunikasi antar perangkat. Gambar 2.2.1 mengilustrasikan bagaimana beberapa perangkat

dapat saling berbagi bus yang terhubung ke prosesor hanya melalui dua kabel dan ini

merupakan suatu efisiensi yang diberikan oleh protokol ini [3].

2.2.2.2 UART

Universal Asynchronous Receiver/Transmitter (UART)

adalah sebuah rangkaian terpadu

(IC) yang deprogram untuk mengontrol sebuah antarmuka komputer dengan perangkat yang

(83)

ϭϮ

antarmuka RS-232C

Data Terminal Equipment (DTE)

yang membuat dapat saling

berkomunikasi dan bertukar data dengan perangkat serial lainnya [4].

2.3

GPRS

GPRS (

General Packet Radio Service

) merupakan salah satu metode protokol

pengiriman data seluler. Pada GPRS terdapat dua elemen baru yang diperkenalkan untuk

membuat mode transfer paket

end-to-end.

Sebagai tambahan, HLR dikembangkan dengan data

pelanggan GPRS dan informasi

routing.

Dua layanan yang dihasilkan yaitu

point-to-point

[image:83.595.115.482.301.540.2]

(PTP) dan

point-to-multipoint

(MTP)[6]. Gambar 5 menunjukkan arsitektur dari GPRS.

Gambar 5

Arsitektur GPRS

Routing

paket yang independen dan transfer di dalam

public land mobile network

(PLMN) didukung oleh sebuah node jaringan logika yang baru yang disebut GPRS

support

node

(GSN).

Gate-way GPRS support node

(GGSN) berperilaku sebagai sebuah

interface

logika ke jaringan data paket eksternal.

Serving GPRS support node

(SGSN) bertanggung

jawab atas pengiriman paket-paket ke MS dalam area layanannya. Dalam jaringan GPRS,

(84)

ϭϯ

Internet Protocol

(IP) digunakan sebagai

backbone

pengiriman PDU. Semua proses ditetapkan

sebagai

tunneling

pada GPRS. GGSN juga mempertahankan informasi

routing

yang

digunakan untuk menembus PDU ke SGSN secara langsung melayani MS. Keseluruhan data

pengguna yang berhubungan dibutuhkan oleh SGSN untuk menampilkan

routing

dan transfer

data secara fungsional ke dalam HLR.

2.4

Current Transformator

Trafo Arus (Current Transformator - CT) yaitu peralatan yang digunakan untuk

melakukan pengukuran besaran arus pada instalasi tenaga listrik disisi primer yang berskala

besar dengan melakukan transformasi dari besaran arus yang besar menjadi besaran arus yang

kecil secara akurat dan teliti untuk keperluan pengukuran dan proteksi. Current Transformator

akan menurunkan arus yang masuk dengan perbandingan tertentu.[7]

Seperti trafo yang lain,

Current Transformator

mempunyai lilitan primer, inti magnetik,

dan lilitan sekunder. Arus bolak-balik yang Mengalir di primer menghasilkan medan magnet

di inti, yang menginduksi arus di lilitan sekunder. Gambar 6 merupakan salah satu contoh

[image:84.595.216.415.510.658.2]

Current Transformator.

(85)

ϭϰ

(5)

(6)

[image:85.595.217.413.92.201.2]

(7)

Gambar 7 Rangkaian pada Current Transformator

Untuk trafo arus yang dihubung singkat :

� . � = � . �

Untuk trafo arus pada kondisi tidak berbeban :

� =

Dimana :

� =

� > �

sehingga

� < �

= Jumlah lilitan primer

= Jumlah lilitan sekunder

2.5

Potential Transformator

Potential Transformator

atau Transformator tegangan

digunakan untuk menurunkan

tegangan dengan perbandingan transformasi tertentu. Transformator tegangan mempunyai

lilitan primer, inti magnetik, dan lilitan sekunder. Lilitan primer terhubung ke fasa dan

ground

.

(86)

ϭϱ

(8)

lebih sedikit dibandingkan dengan jumlah lilitan primernya. Gambar 7 merupakan gambar

[image:86.595.149.434.424.540.2]

Potential Transformator.

Gambar 8

Potential Transformator (PT)

Prinsip kerja trafo tegangan adalah sebagai berikut:

Gambar 9 Prinsip Kerja Trafo Tegangan

Rumus perbandingan tegangan dengan jumlah lilitan pada te

gangan :

� =

� = �

Dimana :

= Perbandingan/Rasio Transformasi

(87)

ϭϲ

= Jumlah belitan primer

= Jumlah belitan sekunder

= Tegangan primer

(88)

ϭ

BAB I

PENDAHULUAN

1.1

Latar Belakang Penulisan

Pada saat ini, kemajuan dalam bidang teknologi semakin cepat dan canggih. Hal ini

sangat membantu manusia dalam memenuhi kebutuhan di zaman modern seperti ini. Kemajuan

ini juga berdampak pada penggunaan listrik yang juga akan semakin meningkat.

KWH meter adalah alat ukur untuk menghitung jumlah pemakaian energi listrik

pengguna dalam kurun waktu tertentu. Dalam perkembangannya KWH meter selain

menggunakan sistem analog juga menggunakan sistem digital (listrik prabayar).

Pada teknologi KWH meter saat ini, pengguna hanya disediakan informasi konsumsi

listriknya dalam kurun waktu satu bulan saja. Transpa

Gambar

Gambar 10 Diagram Blok Sistem
Gambar 11 Sistem Rancangan Keseluruhan Tampak Atas
Gambar 13 Rangkaian Skematik Sensor SCT-013-000
Gambar 14 Rangkaian Skematik Sensor Potential Transformator
+7

Referensi

Dokumen terkait

Setelah melakukan pengujian pada las listrik Falcon120e dan membandingkan hasil pengujian dengan kondisi tanpa beban dimana kondisi ini dianggap normal tidak ada

Gambar 4.3 Hasil Pengujian Koordinat GPS Pada Google Map 18 Gambar 4.4 Pengujian Sensor Ultrasonic Menggunakan Penggaris 22 Gambar 4.5 Hasli Pengujian Sensor Ultrasonic

Pengujian dilakukan dengan membandingkan hasil pengukuran sensor yang didapat pada serial monitor NodeMCU dengan jarak kendaraan yang berada pada lahan parkir.. Serial monitor

Seperti pada pengujian tegangan, pada pengujian arus juga digunakan beban 200Ω dengan sumber tegangan yang diubah-ubah. Pada pengujian ini juga dilakukan 9 kali

Gambar 10 dan Gambar 11 menunjukkan hasil pengujian yang telah dilakukan untuk mengetahui pembacaan nilai Sensor Ultrasonik pada Serial Monitor Arduino dan

Pada Gambar 11 dapat dilihat bahwa nilai pembacaan pH pada boiler water IP Drum adalah 9.88 dengan demikian sistem pengukur derajat keasaman ini dapat digunakan pada

Data jarak yang digunakan dalam program (proses kaliberasi) adalah data yang tertulis pada serial monitor atau data hasil pengukuran sensor PING.. Pengujian ini

Implementasi Perangkat Lunak Gambar 8 menunjukkan implementasi dari pengujian mode low power, menjadikan power supply sebagai sumber daya dengan besaran 4.8V dan juga multimeter untuk