RANCANG BANGUN SISTEM MONITORING ARUS DAN TEGANGAN PADA SISTEM TENAGA LISTRIK TIGA FASA BERBASIS LAB VIEW

(1)

Disusun sebagai salah satu syarat memperoleh gelar Sarjana Teknik program S-1 Pada Jurusan Teknik Elektro, Fakultas Teknik,

Universitas Muhammadiyah Yogyakarta

Disusun Oleh :

RUDI HARTONO

20140120226

PROGRAM STUDI TEKNIK ELEKTRO

FAKULTAS TEKNIK

UNIVERSITAS MUHAMMADIYAH YOGYAKARTA

YOGYAKARTA


(2)

memberikan rahmat, taufik, dan hidayah-Nya sehingga penulis dapat menyelesaikan pembuatan skripsi yang berjudul “RANCANG BANGUN SISTEM MONITORING ARUS DAN TEGANGAN PADA SISTEM TENAGA LISTRIK TIGA FASA BERBASIS LAB VIEW” serta menyelesaikan penyusunan laporan skripsi ini. Skripsi ini merupakan salah satu matakuliah wajib program studi Teknik Elektro jurusan Teknik Elektro Fakultas Teknik Universitas Muhammadiyah Yogyakarta serta merupakan salah satu syarat kelulusan jenjang pendidikan Strata Satu Teknik Elektro.

Dengan penuh rasa syukur dan kerendahan hati, pada kesempatan ini penulis ingin menyampaikan ucapan terimakasih kepada :

1. Ir. Agus Jamal M.Eng selaku Ketua Jurusan Teknik Elektro Universitas Muhammadiyah Yogyakarta.

2. Dr. Ramadoni Syahputra, S.T, M.T selaku Dosen Pembimbing II tugas akhir, atas arahan dan bimbingannya dengan penuh kesabaran kepada penulis selama melakukan proses perencanaan, pembuatan, dan penyusunan laporan ini.

3. M. Yusvin Mustar, ST, M.Eng selaku Dosen Pembimbing II tugas akhir, atas arahan dan bimbingannya dengan penuh kesabaran kepada penulis selama melakukan proses perencanaan, pembuatan, dan penyusunan laporan ini.

4. Kedua orang tua Almarhum Bapak Mudjo dan Ibu Turah serta Kakak-Kakakku, Sumito, Almarhumah Tarmuti, Daryupi, Sutarmi, Waryuni dan Rudi Prayitno serta kakak-kakak ipar sekalian yang telah memberikan bimbingan dan dorongan serta motivasi dan semangat dalam penyusunan laporan ini.

5. Rama Okta Wiyagi S.T., M.Eng., selaku Dosen Penguji.

6. Seluruh dosen dan Staf Laboratorium Teknik Elektro yang telah memberikan banyak pengetahuan ilmu kepada penulis untuk dapat memperlancar penyelesaian skripsi ini.


(3)

Muhammadd Fajar, Usman Abdul Rahman, Cahyo S.N, Elok Hardiyanti R, Lugina Janari Q dan teman teman lainnya yang banyak membantu terselesaikannya pembuatan skripsi ini, baik secara langsung maupun tidak langsung.

9. Adik adik tingkat Teknik Elektro UMY dan pihak-pihak yang juga turut memberikan dukungan dan bantuan hingga terlaksananya penyelesaian laporan ini.

Penulis berharap semoga yang sudah direncakan dapat terlaksana dan tidak terlepas dari Qodrat dan Irodhatnya Allah Subhanahu Wata’ala.

Tidak ada yang sempurna di dunia kecuali Dia Yang Maha Sempurna. Penulis menyadari bahwa Tugas akhir ini masih jauh dari kata sempurna, oleh karena itu dengan senang hati penulis menanti saran dan kritikannya yang sifatnya membangun bagi penulis untuk lebih berkembang kedepannya.

Akhir kata, semoga Allah Subhanahu Wata’ala memberikan berkah-Nya kepada kita semua. Amiin

Yogyakarta, 29 Agustus 2016


(4)

HALAMAN PENGESAHAN...iii

HALAMAN PERNYATAAN………iv

INTISARI………..…..v

ABSTRACT...vi

MOTTO……….…vii HALAMAN PERSEMBAHAN...viii

KATA PENGANTAR...ix

DAFTAR ISI...x

DAFTAR GAMBAR...xv

DAFTAR TABEL...xvii

BAB I. PENDAHULUAN...1

1.1. Latar Belakang ...1

1.2. Tujuan Masalah ...1

1.3. Manfaat………...2

1.4. Luaran Yang Diharapkan...2

1.5. Batasan Penulisan...2

1.6. Metode Penelitian ...3

1.7. Sistematika Penulisan………3

BAB II. DASAR TEORI...5


(5)

2.2. Daya pada Sistem 3 Fasa...8

2.2.1 Beban Seimbang ………...8

2.2.2 Beban tidak Seimbang ………....9

2.3 Sensor Arus SCT013-000 ...11

2.4 Sensor Tegangan ZMPT101B………14

2.5 Arduino………...19

2.5.1 Tentang Arduino ………...19

2.5.2 Mengapa Arduino ……….21

2.5.3 Pemprograman Arduino ………...21

2.6 LCD 16X2………..22

2.7 Lab View………....25

BAB III. Perancangan dan Pembuatan Alat………...31

3.1. Deskripsi dan Spesifikasi Alat...31

3.2. Blok Diagram sistem……...32

3.3. Perancangan Perangkat Keras (Hardwared)...34

3.3.1 Rangkaian Sismin Arduino……….34

3.3.2 Skematik alat keseluruhan……….………..…....37

3.4. Perancangan Perangkat Lunak (Software)...37


(6)

3.4.3 Blok diagram Lab View……….……..…43

BAB IV. ANALISIS DAN HASIL UJI COBA ALAT………...41

4.1. Cara Kerja Alat...41

4.2. Pembahasan………...44

4.3. Pengujian Alat………...46

4.3.1 Pengujian Perangkat Keras (Hardwared)...………..,,……….48

4.3.1.1 Pengujian Catu Daya……….…..……….48

4.3.1.2 Pengujian Sismin Arduino……….….……….50

4.3.2 Pegujian Perangkat Lunak (Softwared)…….………..52

4.3.3 Pengujian Keseluruhan……….………...54

4.3.4 Analisa Secara Keseluruhan……….………...50

4.4 Data Pengujian Alat………. 50

4.4.4 Pengujian Pengukuran Arus………51

4.4.4 Pengujian Pengukuran Tegangan………54

BAB V. PENUTUP...69

5.1. Kesimpulan...69

5.2. Saran...70

DAFTAR PUSTAKA...71


(7)

Gambar 2.2 Hubungan Bintang………….…………...6

Gambar 2.3 Hubungan Segitiga………...7

Gambar 2.4 Hubungan Bintang dan Segitiga yang seimbang...8

Gambar 2.5 Ketidak seimbangan beban pada system 3 fasa...………..….….9

Gambar 2.6 Dimensi sensor SCT-013…...11

Gambar 2.7 Skematik diagram…...12

Gambar 2.8 Sensor Arus SCT 013…...12

Gambar 2.9 Bagian dalam sensor Arus SCT 013 …………...…………...13

Gambar 2.10 Rangkaian SCT013 ………...…………...…………...13

Gambar 2.11 Sensor ZMPT101B ……….……...14

Gambar 2.12 Dimensi ZMPT101B…..……….……...15

Gambar 2.13 Skematik ZMPT101B…..……….……...15

Gambar 2.14 Output Karakteristik …..……….……...15

Gambar 2.15 Arduino UNO ……..…..……….……...20

Gambar 2.16 LCD Character 16x2…..……….……...23

Gambar 2.17 Front Panel Lab View …...27

Gambar 2.18 Blok Diagram ………..……….…28

Gambar 2.19 Control Palette ………...29

Gambar 2.20 Functions pallete ………...30


(8)

Gambar 3.5 Flow Chart Diagram Program Arduino……….………38

Gambar 3.6 Flow Chart Diagram pada Pemrograman Lab View………..……...…42

Gambar 3.7 Blok diagram 1………..………42

Gambar 3.8 Blok diagram 2…..………....44

Gambar 3.9 Blok diagram 3………..44

Gambar 3.10 Blok diagram 4……….……….………..45

Gambar 4.1 Tampilan Alat Monitoring Arus dan Tegangan ..………....46

Gambar 4.2 Prosedur Pengujian Alat ………..48 Gambar 4.3 Titik Pengukuran pada Board Arduino ……….……….………..52

Gambar 4.4 Pengujian Sistem Minimum Arduino...52

Gambar 4.5 Simulasi Pengujian Software Lab View………58

Gambar 4.6 Rangkaian Pengkondisi SInyal SCT-013...………….……...59

Gambar 4.7 Grafik Sampel 1 Pengukuran Arus………61

Gambar 4.8 Grafik Sampel 2 Pengukuran Arus……….61

Gambar 4.9 Grafik Sampel 3 Pengukuran Arus………...62

Gambar 4.10 Grafik Sampel 4 Pengukuran Arus………...62

Gambar 4.11 Grafik Sampel 5 Pengukuran Arus………...63

Gambar 4.12 Grafik Sampel 1 Pengukuran Tegangan………...64

Gambar 4.13 Grafik Sampel 2Pengukuran Tegangan ………...65

Gambar 4.14 Grafik Sampel 3 Pengukuran Tegangan ………..…65


(9)

DAFTAR TABEL

Tabel 2.1 Tabel tipikal dari parameter teknik ………...12

Tabel 2.2 Spesifikasi Elektrik ………...15

Tabel 2.3 Environment Specification ..………...16

Tabel 2.4 Spesifikasi Elektrik ………...16

Tabel 2.5 Konfigurasi Pin LCD 16x2………...23

Tabel 4.1 Pengukuran dengan Input Adaptor External 12...50

Tabel 4.2 Pengukuran dengan Input Port USB Komputer….………...50

Tabel 4.3 Pengujian Pengukuran Arus …..………...….………...60

Tabel 4.4 Pengujian Pengukuran Tegangan………...….………...63

Tabel 4.5 Pengujian Pengukuran Tegangan………...….………...67


(10)

(11)

output and has the distinction of each phase angle of 120o. In a series of three-phase, there are two kinds of relationships the star circuit and delta circuit. The series of three-phase star circuit using the wire 3 wire 3 phase, while in the circuit of 3 phase 4 wire circuit using the Star, 3-phase and 1 wire to wire to neutral. Neutral current in the circuit is a circuit star circuit point between the third phase. 3 phase system itself is typically used in industries, because the industry itself uses 3-phase power. In contrast to households using electric power 1-phase.

This thesis resulted in a current and voltage monitoring tool. Parameters monitored include voltage, current, active power, reactive power and power factor on each phase at the load side. Current and voltage monitoring tool using a current sensor and a voltage sensor SCT 013-000 ZMPT101B as the measuring sensor.


(12)

PENDAHULUAN

1.1. Latar Belakang

Sistem pencatu daya listrik merupakan suatu sistem sumber tenaga listrik yang digunakan untuk menurunkan gedung bersumber pada jaringan listrik PLN dan genset. Genset digunakan apabila jaringan listrik dari PLN padam atau terjadi masalah Sistem pencatu daya listrik di Laboratorium Teknik Elektro Universitas Muhammadiyah Yogakarta terdiri dari beberapa bagian, antara lain trafo, cubical, MCB dan genset. Sistem ini berfungsi untuk menurunkan tegangan dari tegangan menengah 20KV menjadi tegangan rendah 220/380 V yang kemudian didistribusikan ke setiap gedung yang telah ditentukan, diantaranya adalah gedung laboratorium. Akan tetapi untuk saat ini belum ada alat untuk memonitoring baik arus, tegangan ataupun yang lainnya secara real time.

Penelitian tugas akhir ini menghasilkan sebuah alat monitoring peralatan pencatu daya listrik 3 fasa. Parameter yang dimonitoring antara lain arus dan tegangan pada tiap fasa di sisi beban. Alat monitoring arus dan tegangan ini menggunakan sensor arus SCT 013-000 dan sensor tegangan ZMPT101B, sehingga arus dan tegangan dapat dipantau secara realtime.

1.2. Tujuan

Tujuan penelitian ini adalah membuat suatu sistem monitoring arus dan tegangan untuk mengukur dan memberikan informasi real time. Parameter yang diukur yaitu arus dan tegangan pada sisi beban, sehingga tidak menyebabkan kerusakan yang lebih parah pada sistem pencatu daya listrik 3 fasa.


(13)

Tugas akhir ini bisa menjadi teknologi untuk memonitor aliran arus dan tegangan pada sistem tenaga listrik. Karena pemanfaatan sistem pendeteksian dan monitoring arus dan tegangan secar real time. Selain itu juga dapat dimanfaatkan untuk meningkatkan pengawasan agar tidak terjadi masalah pada beban tenaga listrik yang ada.

1.4. Batasan Masalah

Batasan masalah pada tugas akhir ini adalah pada gelombang arus dan tegangan untuk dilakukan monitoring.

1.5. Luaran Yang Diharapkan

Dapat menjadi teknologi untuk memonitor arus dan tegangan pada sistem tenaga listrik. Karena pemanfaatan sistem monitorin arus dan tegangan secara real time, simple, dan sederhana ini memiliki keuntungan lebih. Keuntungan ini diantara untuk mempermudah dalam perawatan jaringan listrik, pendeteksian dini jika terjadi gangguan baik arus maupun tegangan. 1.6. Metode Penelitian

1. Studi Pustaka

Metode ini dilaksanakan untuk mendapatkan dasar teori dan data sebagai acuan. 2. Kerja di Laboratorium

Metode ini digunakan untuk merealisasikan rangkaian dan data hasil pengukuran tegangan, arus daya dan efisiensi laporan.

3. Penggunaan Software

Pada tugas akhir ini digunakan software Codevision untuk menggambar rangkaian dari kertas kedalam PCB.


(14)

Konsultasi dilakukan guna memperoleh informasi tentang materi yang dibahas dengan Dosen Pembimbing Tugas Akhir.

1.7. Sistematika Penulisan

Secara garis besar penulisan laporan Tugas Akhir ini, disusun menjadi 5 bab berikut : BAB I PENDAHULUAN

Merupakan bab pendahuluan yang berisi latar belakang masalah, maksud dan tujuan, batasan masalah, luaran yang diharapkan dan sistematika penulisan laporan.

BAB II DASAR TEORI

Berisi uraian umum tentang teori yang berkaiatan langsung dari sistem yang dikaji.

BAB III METODOLOGI PERANCANGAN ALAT

Berisi rancangan sistem secara keseluruhan disertai dengan pembahasan secara terperinci dari fungsi kerja sistem atau alat.

BAB IV IMPLEMENTASI DAN DATA HASIL PENGUJIAN ALAT

Bagian ini menguraikan tentang pembahasan sistem kerja alat secara detail sesuai dengan rancangan dan berdasarkan komponen/ tools/ bahasa pemrograman yang dipakai, serta data hasil dari pengujian alat.


(15)

BAB V KESIMPULAN DAN SARAN

Berisi kesimpulan dari semua yang telah ditulis sebelumnya mulai dari batasan masalah, teori dasar pendukung hingga pada unjuk kerja sistem yang dikaji. Ditambahkan juga saran guna memperbaiki kinerja alat menjadi lebih baik dari sebelumnya.


(16)

BAB II DASAR TEORI

2.1 Sistem Listrik 3 fasa

Pada sistem tenaga listrik 3 fase, idealnya daya listrik yang dibangkitkan, disalurkan dan diserap oleh beban semuanya seimbang, P pembangkitan = P pemakain, dan juga pada tegangan yang seimbang. Pada tegangan yang seimbang terdiri dari tegangan 1 fase yang mempunyai magnitude dan frekuensi yang sama tetapi antara 1 fase dengan yang lainnya mempunyai beda fase sebesar 120°listrik, sedangkan secara fisik mempunyai perbedaan sebesar 60°, dan dapat dihubungkan secara bintang (Y, wye) atau segitiga (delta, Δ, D).

Gambar 2.1 Sistem 3 phasa

Gambar 1 menunjukkan fasor diagram dari tegangan fase. Bila fasor-fasor tegangan tersebut berputar dengan kecepatan sudut dan dengan arah berlawanan jarum jam (arah positif), maka nilai maksimum positif dari fase terjadi berturut-turut untuk fase V1, V2 dan V3. sistem 3 fase ini dikenal sebagai sistem yang


(17)

mempunyai urutan fasa a – b – c . sistem tegangan 3 fase dibangkitkan oleh generator sinkron 3 fase.

2.1.1 Hubungan Bintang (Y, wye)

Pada hubungan bintang (Y, wye), ujung-ujung tiap fase dihubungkan menjadi satu dan menjadi titik netral atau titik bintang. Tegangan antara dua terminal dari tiga terminal a – b – c mempunyai besar magnitude dan beda fasa yang berbeda dengan tegangan tiap terminal terhadapa titik netral. Tegangan Va, Vb dan Vc disebut tegangan “fase” atau Vf.

Gambar 2.2 Hubungan Bintang (Y, wye).

Dengan adanya saluran / titik netral maka besaran tegangan fase dihitung terhadap saluran / titik netralnya, juga membentuk sistem tegangan 3 fase yang seimbang dengan magnitudenya (akar 3 dikali magnitude dari tegangan fase). Vline = akar 3 Vfase = 1,73Vfase


(18)

Sedangkan untuk arus yang mengalir pada semua fase mempunyai nilai yang sama,

ILine = Ifase Ia = Ib = Ic

2.1.2 Hubungan Segitiga

Pada hubungan segitiga (delta, Δ, D) ketiga fase saling dihubungkan sehingga membentuk hubungan segitiga 3 fase.

Gambar 2.3. Hubungan Segitiga (delta, Δ, D).

Dengan tidak adanya titik netral, maka besarnya tegangan saluran dihitung antar fase, karena tegangan saluran dan tegangan fasa mempunyai besar magnitude yang sama, maka:

Vline = Vfase

Tetapi arus saluran dan arus fasa tidak sama dan hubungan antara kedua arus tersebut dapat diperoleh dengan menggunakan hukum kirchoff, sehingga:


(19)

2.2 Daya pada Sistem 3 Fase 2.2.1 Beban Seimbang

Jumlah daya yang diberikan oleh suatu generator 3 fase atau daya yang diserap oleh beban 3 fase, diperoleh dengan menjumlahkan daya dari tiap-tiap fase. Pada sistem yang seimbang, daya total tersebut sama dengan tiga kali daya fase, karena daya pada tiap-tiap fasenya sama.

Gambar 2.4. Hubungan Bintang dan Segitiga yang seimbang.

Jika sudut antara arus dan tegangan adalah sebesar θ, maka besarnya daya perfasa adalah:

Pfase = Vfase.Ifase.cos θ

sedangkan besarnya total daya adalah penjumlahan dari besarnya daya tiap fase, dan dapat dituliskan dengan,


(20)

• Pada hubungan bintang, karena besarnya tegangan saluran adalah 1,73Vfase maka tegangan perfasanya menjadi Vline/1,73, dengan nilai arus saluran sama dengan arus fase, IL = If, maka daya total (PTotal) pada rangkaian hubung bintang (Y) adalah:

PT = 3.VL/1,73.IL.cos θ = 1,73.VL.IL.cos θ

• Dan pada hubung segitiga, dengan besaran tegangan line yang sama dengan tegangan fasanya, VL = Vfasa, dan besaran arusnya Iline = 1,73Ifase, sehingga arus perfasanya menjadi IL/1,73, maka daya total (Ptotal) pada rangkaian segitiga adalah:

PT = 3.IL/1,73.VL.cos θ = 1,73.VL.IL.cos θ

Dari persamaan total daya pada kedua jenis hubungan terlihat bahwa besarnya daya pada kedua jenis hubungan adalah sama, yang membedakan hanya pada tegangan kerja dan arus yang mengalirinya saja, dan berlaku pada kondisi beban yang seimbang.

2.2.2 Beban tidak seimbang

Sifat terpenting dari pembebanan yang seimbang adalah jumlah phasor dari ketiga tegangan adalah sama dengan nol, begitupula dengan jumlah phasor dari arus pada ketiga fase juga sama dengan nol. Jika impedansi beban dari ketiga fase tidak sama, maka jumlah phasor dan arus netralnya (In) tidak sama dengan


(21)

nol dan beban dikatakan tidak seimbang. Ketidakseimbangan beban ini dapat saja terjadi karena hubung singkat atau hubung terbuka pada beban.

Dalam sistem 3 fase ada 2 jenis ketidakseimbangan, yaitu: 1. Ketidakseimbangan pada beban.

2. ketidakseimbangan pada sumber listrik (sumber daya).

Kombinasi dari kedua ketidakseimbangan sangatlah rumit untuk mencari pemecahan permasalahannya, oleh karena itu kami hanya akan membahas mengenai ketidakseimbangan beban dengan sumber listrik yang seimbang.

Gambar 2.5 Ketidak seimbangan beban pada sistem 3 fase.

Pada saat terjadi gangguan, saluran netral pada hubungan bintang akan teraliri arus listrik. Ketidakseimbangan beban pada sistem 3 fase dapat diketahui dengan indikasi naiknya arus pada salahsatu fase dengan tidak wajar, arus pada tiap fase mempunyai perbedaan yang cukup signifikan, hal ini dapat menyebabkan kerusakan pada peralatan.


(22)

2.3 Sensor Arus SCT 013-000

Sensor arus adalah suatu komponen pelengkap pada sistem tenaga listrik yang dapat berfungsi sebagai pengontrol tegangan / arus yang mengalir pada suatu rangkaian atau instalasi listrik supaya dapat terbaca. Pinsip kerja sensor arus adalah dimana sebatang penghantar dialiri arus yang dilewatkan melalui cincin toroid / sensor maka akan menimbulkan medan magnet, sehingga memiliki fluks magnet yang melingkar kemudian ditangkap oleh lilitan.

Karakteristik sensor arus SCT013:

a. Ukuran : 13mm x 13mm b. Panjang kabel : 1m c. Material core : Ferrite

d. Fire resistance property:in accordance with UL 94-V0 e. Ketahanan dielektrik : 1000V AC/1MIN 5 mA

Outline size diagram:(in mm)


(23)

Gambar 2.7 Skematik diagram

Tabel 2.1 Tabel tipikal dari parameter teknik

Arus masukan Tegangan keluaran Non-linear Resistance sampling

0-100 A 0-50 mV ±3% Ω

Turn ratio Resistance grade Work temperature Dielectrict strength 100 A:0.05 A Grade B -25 o C-- +70oC 1000V AC/1min 5mA


(24)

Gambar 2.9 Bagian dalam sensor Arus ST 013C

Dengan mengolah sinyal induksi, maka akan diperoleh nilai arus yang dilewatkan untuk mensuplai beban. Dengan metode ini arus yang dilewatkan akan terbaca pada fungsi tegangan yang sinyalnya berbentuk gelombang sinusoida. Disini digunakan Sensor Arus SCT 013, dengan batas minimal arus yang diukur 0A dan batas maksimal 100A. Sensor Arus terdiri dari kumparan sekunder dan kumparan primer yang dililitkan pada suatu inti magnet. Arus yang akan dideteksi dialirkan kekumparan primer.


(25)

Arus ini menghasilkan medan magnet yang mengalir kekumparan sekunder. Inti magnetik pada sensor berfungsi membuat agar fluks magnet yang dihasilkan oleh kumparan primer menembus kumparan sekunder. Perubahan fluks yang dihasilkan oleh arus primer mengakibatkan timbulnya tegangan lisrik induksi pada kumparan sekunder. Ia tidak memiliki resistor beban internal, tetapi internal yang dioda Zener membatasi tegangan output dalam hal pemutusan disengaja dari beban. Hal ini mampu mengembangkan tegangan yang cukup untuk sepenuhnya mengendarai masukan 5 V.

2.4Sensor Tegangan ZMPT101B

ZMPT101B Ultra Micro Voltage Transformer ukuran kecil, akurasi tinggi, konsistensi yang baik, untuk tegangan dan pengukuran daya.

Aplikasi :

a) Sensor arus lebih

b) Ground fault detection

c) Pengukuran

d) Analog to digitak circuit


(26)

Gambar 2.10 Dimensi ZMPT101B

Gambar2.11 Skematik ZMPT101B Tabel 2.2 Spesifikasi Elektrik

Spesifikasi Elektrik

Arus Primer 2 mA

Arus Sekunder 2 mA Rasio Balik 1000:1000 Eror sudut fasa ≤20o(50Ω) Jarak arus 0 – 3mA

Linearitas 0.1 %


(27)

Nilai beban ≤200Ω Range frekuensi 50 – 60 Hz

Level dielektrik 3000VAC/min Resistansi DC 20oC 110Ω

Tabel 2.3 Environment Specification

Environment Specification

Temperatur penyimpanan -40oC-+130oC Resistansi insulasi >100 MΩ

Tabel 2.4 Spesifikasi Elektrik

Spesifikasi Mekanik

Cup PBT

Encapsulant Epoxy

Terminal Pin Ф 0.80 mm Toleransi ± 0.2 mm

Berat 13 g


(28)

Gambar 2.10 Output Karakteristik

2. Penentuan tegangan output maksimum rms Umax:

Umax ditentukan oleh tegangan puncak AD di lingkaran pengambilan sampel pada prinsipnya.

Adapun Bipolar AD, Umax =


(29)

sebagai contoh:

Adapun ± 5V AD, tegangan rms maksimum trafo: Umax = = 3.53V. Adapun 0 ~ 3.3V AD, tegangan rms maksimum trafo: V maxx =

= 1.16V.

3. Penentuan masukan pembatas arus resistor R Pembatas arus resistor R '=

V: Tegangan masukan

I: Arus saat operasi (ketika Coilresistensi dibandingkan dengan pembatas arus resistor R ', dapat diabaikan.)

ZMPT101B / ZMPT107 biasanya bekerja di rated saat ini: 1 ~ 2mA. masukan Ketika Nilai voltage≤100V, Biasanya memilih operasi saat ini I = 2mA; masukan Ketika Nilai voltage≥220V, Untuk mengurangi daya resistor, Biasanya memilih operasi saat ini 1 mA ≤I≤2 mA. misalnya: V = 100V, I = 2 mA,

R =

= 50 KΩ

Contoh :

V=220V,I=1.1mA


(30)

Untuk meningkatkan kehandalan, saat ini membatasi resistor yang dipilih biasanya lebih besar dibandingkan 4 kali nilai daya, dan umumnya menggunakan tinggi koefisien temperatur film logam resistor.

4. Penentuan sampel resistor R

R =

=

∙R

Contoh :

V

output max

=3.53V

V

input max

=120V

R′ =50k Ω

R =

x 50

kΩ

=1.471k Ω

2.5ARDUINO

2.5.1 Tentang Arduino

Arduino adalah sebuah platform prototyping open-source berbasis hardware-mudah digunakan dan perangkat lunak. Papan Arduino mampu membaca masukan - cahaya pada sensor, jari pada tombol, atau pesan Twitter - dan mengubahnya menjadi output - mengaktifkan motor, menyalakan LED, penerbitan sesuatu secara online. Anda dapat memberitahu forum Anda apa yang harus dilakukan dengan mengirimkan satu set instruksi ke mikrokontroler di papan. Untuk melakukannya Anda menggunakan bahasa Arduino pemrograman (berdasarkan Wiring ), dan Software Arduino (IDE) , berdasarkan Pengolahan .


(31)

Gambar 2.12 Arduino UNO

Selama bertahun-tahun Arduino telah menjadi otak dari ribuan proyek, dari benda-benda sehari-hari untuk instrumen ilmiah yang kompleks. Sebuah komunitas di seluruh dunia pembuat - siswa, penggemar, seniman, programer, dan profesional - telah berkumpul di sekitar platform open-source ini, kontribusi mereka telah ditambahkan ke jumlah yang luar biasa dari pengetahuan diakses yang dapat membantu untuk pemula dan ahli sama.

Arduino lahir di Ivrea Interaksi Design Institute sebagai alat yang mudah untuk prototyping cepat, ditujukan untuk siswa tanpa latar belakang dalam elektronik dan pemrograman. Begitu mencapai masyarakat yang lebih luas, papan Arduino mulai berubah untuk beradaptasi dengan kebutuhan dan tantangan baru, membedakan tawarannya dari 8-bit papan sederhana untuk produk untuk IOT aplikasi, wearable, cetak 3D, dan lingkungan tertanam. Semua papan Arduino benar-benar open-source, memberdayakan pengguna untuk membangun mereka


(32)

secara independen dan akhirnya menyesuaikannya dengan kebutuhan khusus mereka. The software , juga, adalah open-source, dan tumbuh melalui kontribusi dari pengguna di seluruh dunia.

2.5.2 Mengapa Arduino

Berkat pengalaman pengguna yang sederhana dan mudah diakses, Arduino telah digunakan dalam ribuan proyek yang berbeda dan aplikasi. Perangkat lunak Arduino mudah digunakan untuk pemula, namun cukup fleksibel untuk pengguna tingkat lanjut. Ini berjalan pada Mac, Windows, dan Linux. Guru dan siswa menggunakannya untuk membangun biaya rendah instrumen ilmiah, untuk membuktikan prinsip-prinsip kimia dan fisika, atau untuk memulai dengan pemrograman dan robotika. Desainer dan arsitek membangun prototipe interaktif, musisi dan seniman menggunakannya untuk instalasi dan bereksperimen dengan alat musik baru. Pembuat, tentu saja, menggunakannya untuk membangun banyak proyek dipamerkan di Faire Maker, misalnya. Arduino adalah alat kunci untuk belajar hal-hal baru. Siapapun - anak, penggemar, seniman, programmer - dapat mulai bermain-main hanya mengikuti petunjuk langkah demi langkah dari kit, atau berbagi ide online dengan anggota lain dari komunitas Arduino.

2.5.3 Pemprograman Arduino

Open source dan software extensible - Perangkat lunak Arduino diterbitkan sebagai alat open source, tersedia untuk ekstensi oleh programmer berpengalaman. Bahasa dapat diperluas melalui C ++


(33)

perpustakaan, dan orang-orang yang ingin memahami rincian teknis dapat membuat lompatan dari Arduino ke bahasa pemrograman AVR C yang itu berdasarkan. Demikian pula, Anda dapat menambahkan kode AVR-C langsung ke program Arduino Anda jika Anda ingin. Open source dan hardware extensible - Rencana papan Arduino diterbitkan di bawah lisensi Creative Commons, sehingga desainer sirkuit yang berpengalaman dapat membuat versi mereka sendiri modul, memperluas dan meningkatkan itu. Bahkan pengguna yang relatif tidak berpengalaman dapat membangun versi papan tempat memotong roti modul untuk memahami cara kerjanya dan menghemat uang.

2.7LCD 16x2

LCD (Liquid Crystal Display) adalah suatu jenis media tampilan yang menggunakan Kristal cair sebagai penampil utama. LCD sudah digunakan di berbagai bidang misalnya alat-alat elektronik seperti televisi, kalkulator, ataupun layar komputer. Sumber cahaya di dalam sebuah perangkat LCD adalah lampu neon berwarna putih dibagian belakang susunan Kristal cair tadi. Titik cahaya yang jumlahnya puluhan ribu bahkan jutaan inilah yang membentuk tampilan citra, kutub Kristal cair yang dilewati arus listrik akan berubah karena pengaruh polaritas medan magnetik yang timbul dan oleh karenanya akan hanya memberikan beberapa warna diteruskan sedangkan warna lainnya terasing.


(34)

LCD yang digunakan adalah LCD 16x2. LCD ini nantinya akan digunakan untuk menampilkan status kerja alat, yaitu berupa tampilan temperatur dan kecepatan kipas. Adapun ftur dalam LCD ini adalah:

1. Terdiri dari 16 karakter dan 2 baris. 2. Mempunyai 192 karakter tersimpan. 3. Terdapat karakter generator terprogram. 4. Dapat dialamati dengan mode 8-bit dan 4-bit. 5. Dilengkapi dengan back light.

Gambar 2.13 LCD Character 16x2 Tabel 2.3 Konfigurasi Pin LCD 16x2

No. Name Function

1. VSS Ground volage

2. VCC +5V

3. VEE Contras voltage

4. RS

Register Select


(35)

5. RW

Read/Write, to choose write or read mode 0= write mode 1= read mode

6. EN

Enable

0= start to lacht data to LCD character 1=disable

7. DB0 LSB

8. DB1 -

9. DB2 -

10. DB3 -

11. DB4 -

12. DB5 -

13. DB6 -

14. DB7 MSB

15. BPL Back Plane Light

16. GND Ground volage Backlight

Sebagaimana terliha pada Tabel 2.3interface LCD merupakan sebuah

parallel bus, dimana hal ini sangat memudahkan dan sangat cepat dalam pembacaan dan penulisan data dari atau ke LCD. Kode ASCII yang ditampilkan sepanjang 8 bit dikirim ke LCD secara 4 bit atau 8 bit pada satu waktu.Jika mode 4 bit yang digunakan, maka 2 nibble data dikirim untuk membuat sepenuhnya 8 bit (pertama dikirim 4 bit MSB lalu 4 bit LSB dengan pulsa clock EN setiap nibblenya). Jalur kontrol EN digunakan untuk memberitahu LCD bahwa mikrokontroler mengirimkan data ke LCD. Untuk


(36)

mengirim data ke LCD program harus menset EN ke kondisi high (1) dan kemudian menset dua jalur kontrol lainnya (RS dan R/W) atau juga mengirimkan data ke jalur data bus.

Saat jalur lainnya sudah siap, EN harus diset ke 0 dan tunggu beberapa saat (tergantung pada datasheet LCD), dan set EN kembali ke high (1). Ketika jalur RS berada dalam kondisi low (0), data yang dikirimkan ke LCD dianggap sebagai sebuah perintah atau instruksi khusus (seperti bersihkan layar, posisi kursor dll). Ketika RS dalam kondisi high atau 1, data yang dikirimkan adalah data ASCII yang akan ditampilkan dilayar.

Misalnya, untuk menampilkan huruf “A” pada layar maka RS harus diset ke 1. Jalur kontrol R/W harus berada dalam kondisi low (0) saat informasi pada data bus akan dituliskan ke LCD. Apabila R/W berada dalam kondisi high (1), maka program akan melakukan query (pembacaan) data dari LCD. Instruksi pembacaan hanya satu, yaitu Get LCD status (membaca status LCD), lainnya merupakan instruksi penulisan. Jadi hampir setiap aplikasi yang menggunakan LCD, R/W selalu diset ke 0.

Jalur data dapat terdiri 4 atau 8 jalur (tergantung mode yang dipilih pengguna), mereka dinamakan DB0, DB1, DB2, DB3, DB4, DB5, DB6 dan DB7. Mengirim data secara paralel baik 4 atau 8 bit merupakan 2 mode operasi primer. Untuk membuat sebuah aplikasi interface LCD, menentukan mode operasi merupakan hal yang paling penting.


(37)

LabVIEW adalah sebuah software pemograman yang diproduksi oleh National instruments dengan konsep yang berbeda. Seperti bahasa pemograman lainnya yaitu C++, matlab atau Visual basic , LabVIEW juga mempunyai fungsi dan peranan yang sama, perbedaannya bahwa labVIEW menggunakan bahasa pemrograman berbasis grafis atau blok diagram sementara bahasa pemrograman lainnya menggunakan basis text. Program labVIEW dikenal dengan sebutan Vi atau Virtual instruments karena penampilan dan operasinya dapat meniru sebuah instrument. Pada labVIEW, user pertama-tama membuat user interface atau front panel dengan menggunakan control dan indikator, yang dimaksud dengan kontrol adalah knobs, push buttons, dials dan peralatan input lainnya sedangkan yang dimaksud dengan indikator adalah graphs, LEDs dan peralatan display lainnya. Setelah menyusun user interface, lalu user menyusun blok diagram yang berisi kode-kode VIs untuk mengontrol front panel. Software LabVIEW terdiri dari tiga komponen utama, yaitu :

1. front panel

front panel adalah bagian window yang berlatar belakang abu-abu serta mengandung control dan indikator. front panel digunakan untuk membangun sebuah VI, menjalankan program dan mendebug program. Tampilan dari front panel dapat di lihat pada Gambar 2.1


(38)

Gambar 2.14 Front Panel Lab View

2. Blok diagram dari Vi

Blok diagram adalah bagian window yang berlatar belakang putih berisi source code yang dibuat dan berfungsi sebagai instruksi untuk front panel. Tampilan dari blok diagram dapat lihat pada Gambar 11.


(39)

(40)

3. Control dan Functions Pallete

Control dan Functions Pallete digunakan untuk membangun sebuah Vi.

a. Control Pallete

Control Pallete merupakan tempat beberapa control dan indikator pada front panel, control pallete hanya tersedia di front panel, untuk menampilkan control pallete dapat dilakukan dengan mengkilk windows >> show control pallete atau klik kanan pada front panel. Contoh control pallete ditunjukkan pada Gambar 12.

.

Gambar 2.16 Control Palette 4. Functions Pallete

Functions Pallete di gunakan untuk membangun sebuah blok diagram, functions pallete hanya tersedia pada blok diagram, untuk menampilkannya dapat dilakukan dengan mengklik windows >> show control pallete atau klik kanan


(41)

pada lembar kerja blok diagram. Contoh dari functions pallete ditunjukkan pada Gambar 13.


(42)

3.1Deskripsi dan Spesifikasi Alat

Pada bab III ini menjelaskan mengenai konsep perancangan alat Monitoring Arus dan Tegangan Pada Sistem Tenaga Listrik 3 fasa berbasis Lab View. Perancangan ini terdiri dari dua bagian, yaitu perancangan Perangkat Keras (Hardware) dan Perancangan Perangkat Lunak (Software). Perancangan Perangkat Keras ini meliputi Sistem Minimum Arduino Uno R3 dan pembuatan rangkaian pengolah sinyal dari sensor arus YHDC SCT013-000 yang dapat mendeteksi arus himgga 100A dan sensor tegangan ZMPT101B. Kemudian untuk Perancangan Perangkat Lunak meliputi Algoritma pemrograman Arduino Uno, komunikasi Arduino Uno R3 dengan PC atau Komputer, Algoritma Pemrogram Grafis menggunakan Lab View serta proses pengolahan data yang dikirimkan dari Arduino Uno untuk ditampilkan dalam bentuk grafik dan User Interface oleh Lab View.

Penjelasan alat monitoring ini dilakukan dengan membagi setiap bagin kedalam suatu diagram blok sesuai dengan fungsi rangkaiannya masing-masing. Berikut adalah gambar blok diagram alat monitoring arus dan tegangan:


(43)

Gambar 3.1. Deskripsi Alat

3.2Blok Diagram Sistem

Perancangan alat akan memberikan kinerja maksimal pada hasil system ketika perancangan alat dijalankan sesuai prosedur. Pendayagunaan alat menjadi akhir tujuan dikarenakan menentukan keberhasilan perancangan alat. Memperhatikan karakteristik tiap-tiap bagian sangat penting, terkait dengan fungsi dan kinerja alat untuk dapat bekerja secara maksimal.

Secara keseluruhan perancangan alat Monitoring Arus dan Tegangan Pada Sistem Tenaga Listrik 3 fasa berbasis Lab View, rangkaian ini terdiri dari rangkaian antarmuka yang berfungsi untuk menampilkan keluarannya yang berupa data digital.

Dalam tahapan perencanaan diperlukan suatu gambaran secara menyeluruh dari sistem yang akan dibuat. Dengan adanya gambaran tersebut, diharapkan dapat memberikan wawasan berkaitan dengan alat yang dibuat. Untuk menggambarkan sistem tersebut dapat dilakukan dengan menggunakan blok diagram. Blok diagram Sistem dapat dilihat pada Gambar 3.1.


(44)

Gambar 3.2 Blok Diagram Sistem

Secara garis besar sistem akusisi sinyal listrik untuk monitoring arus dan tegangan listrik dapat dilihat seperti pada gambar 3.1. Saluran listrik 3 fasa yang akan dimonitoring arus dan tegangan akan diukur dengan sensor. Gelombang pada sistem tenaga yang akan dideteksi masih mempunyai amplitudo yang sangat besar, maka amplitudo dari gelombang tersebut harus diturunkan terlebih dahulu. Gelombang yang diamati disini adalah gelombang arus dan tegangan . Agar dapat melihat bentuk gelombang arus dan tegangan maka digunakan sensor arus dan sensor tegangan. Untuk sensor arus digunakan sensor arus SCT 013-000 dan untuk sensor tegangan digunakan sensor tegangan ZMPT 101B.

Agar gelombang tersebut dapat digunakan sebagai input pada ADC maka terlebih dahulu dimasukkan kedalam rangkaian differensial amplifier. Dari besaran analog yang merupakan

Sensor Tegangan

Arduino Uno

PC/Laptop


(45)

sinyal yang masuk kedalam software labview.

3.3Perancangan Perangkat Keras (Hardware)

Perangkat keras pada Alat ini yaitu Sistem Minimum Arduino Uno R3 sebagai pemroses dan pengolah sinyal atau data dari output sensor arus SCT-013 dan sensor tegangan ZMPT101B. Karena output dari sensor SCT-013 dan sensor ZMPT101B masih berupa sinyal analog yang sangat kecil outputannya, sehingga diperlukan rangkaian tambahan supaya bisa terbaca oleh input ADC Arduino.

3.3.1 Rangkaian Sistem Minimum Arduino

Arduino Uno R3 dalam perancangan alat pendeteksi ini berfungsi untuk pengendalian sensor dan untuk menerjemahkan input analog ke dalam sistem digital serta mengirimkan data tersebut ke PC atau Laptop melalui komunikasi serial. Pada Arduino Uno proses kumunikasi data dari Arduino ke PC menggunakan komunikasi serial melalui Port USB yang terdapat pada Arduino. Arduino Uno sendiri menggunakan IC (Integrated Circuit) Mikrokontroler ATmega328. Berikut merupakan rangkaian Sistem Minimum Arduino seperti ditunjukkan Gambar 3.2 Berikut.


(46)

Gambar 3.3 Rangkaian SIstem Minimum Arduino Uno

Pada Gambar 3.3 terlihat bahwa burden resistor yang terpasang adalah dengan nilai 53Ω nilai resistansi tersebut didapatkan dengan beberapa persamaan berikut.

Konversi Arus RMS maksimum terhadap arus puncak dengan dikalikan √2

Pembagian arus puncak dengan jumlah kumparan di CT untuk memberikan arus puncak dalam kumparan sekunder.


(47)

Untuk memaksimalkan resolusi pengukuran tegangan diatas burden resistor pada puncak arus maka tegangan AREF Arduino harus dibagi 2.

Karena dipasaran atau ditoko elektronik susah mendapatkan resistor dengan nilai 53Ω maka nilai tersebut diganti dengan resistor yang banyak terdapat dipasaran yaitu diganti engan nilai 56Ω.


(48)

Dibawah ini adalah skematik secara keseluruhan dari rancang bangun monitoring arus dan tegangan, dimana terdiri dari sensor arus SCT 013, sensor tegangan ZMPT101B, LCD sebagai penampil dan arduino uno sebagai mikrokontrolernya.

Gambar 3.4 Schematik alat

3.4Perancangan Perangkat Lunak

Pada Perangkat Lunak (Software) terdiri dari pembuatan Algoritma pemrograman pada Board Arduino Uno R3. Proses pemrograman pada Board Arduino meliputi dari proses pembacaan ADC dari output sensor SCT-013 dan output ZMPT101B serta proses pengiriman


(49)

View.

3.4.1 Perancangan Pemrograman Pada Arduino

Karena output dari sensor SCT-013 dan ZMPT101B masih berupa sinyal analog dengan range yang sangat kecil, namun setelah melewati rangkaian pengkondisi sinyal sensor SCT-013 dan ZMPT101B, data dari sensor SCT-013 dan ZMPT101B dapat terbaca oleh input ADC Board Arduino. Syarat sinyal input yang dapat terbaca oleh input ADC Board Arduino adalah tegangan dengan maksimal tegangan sampai 5V. sebelum membuat program untuk membaca input ADC, terlebihn dahulu membuat flow chart diagram sebagai acuan dalam pembuatan program tersebut. Gambar 3.4 menunjukkan flow chart diagram pada pemrograman Board Arduino.

Gambar 3.5 Flow Chart Diagram Program Arduino

Mulai

Inisialisai Port, ADC

Baca ADC Chanel 0 Kirim data ADC ke

Komputer


(50)

Potongan program berikut merupakan sebagian program yang ditanamkan pada Board Arduino untuk membaca tegangan output dari sensor SCT-019.

const int analogInPin = 0; // Analog input pin that the potentiometer is attached to

const int analogOutPin = 9; // Analog output pin that the LED is attached to

int sensorValue = 0; // value read from the pot int outputValue = 0; // value output to the PWM (analog out)

long previousMillis = 0; // will store last time LED was updated

void setup() {

// initialize serial communications at 9600 bps: Serial.begin(9600);

}


(51)

Serial.print(';'); Serial.print(100); Serial.print(';'); Serial.print(200); Serial.print(';'); Serial.print(500); Serial.print('\n'); }

void loop() {

unsigned long currentMillis;

// read the analog in value:

sensorValue = analogRead(analogInPin); // map it to the range of the analog out:

outputValue = map(sensorValue, 0, 1023, 0, 255); // change the analog out value:

analogWrite(analogOutPin, outputValue);

// print the results to the serial monitor: currentMillis = millis();


(52)

previousMillis = currentMillis; }

// wait 2 milliseconds before the next loop

// for the analog-to-digital converter to settle // after the last reading:

delay(2); }

Karena pada perancangan program pada Arduino mengacu pada library EmonLib. Untuk menghitung nilai kalibrasi maka digunakan persamaan berikut ini.

3.4.2 Perancangan Pemrograman pada Lab View

Lab View (Laboratory Virtual Instrumentation Engineering Workbrench) adalah perangkat lunak komputer untuk pemrosesan dan visualisasi data dalam bidang akuisisi data, kendali instrumentasi serta automasi industry yang pertama kali dikembangkan oleh perusahaan National Instruments pada tahun 1986. Sistem pemrograman pada Lab View berbeda seperti pemrograman pada Arduino dimana pemrograman pada Lab View yaitu mengunakan sistem


(53)

Gambar 3.6 Flow Chart Diagram pada Pemrograman Lab View

Mulai Inisialisasi COM

Serial Baca Input VISA Serial

IF Visa Connected? Get Data Visa Serial UBah Decimal string to

Number Buffer Data Buffer Data To Waveform

Graph Selesai

Visa Resource Name


(54)

COM Serial mana yang sedang aktif dengan cara melihat inputan COM Arduino pada panel divice manager pada computer atau laptop. Jika pada saat proses connecting data dari Arduino dengan User Interfcae pada Lab View tidak terjadi error maka data selanjutnya akan dibaca dan diubah ke dalam bilangan decimal biasa dari bilangan decimal string agar data tersebut bisa dimassukan ke dalam buffer data dan dapat ditampilkan ke dalam bentuk Grafik menggunakan komponen Waveform Graph pada Lab View.

3.4.3 Blok Diagram LabView

Blok diagram adalah bagian window yang berlatar belakang putih berisi source code yang dibuat dan berfungsi sebagai instruksi untuk front panel.


(55)

Gambar 3.8 Blok diagram 2


(56)

Gambar 3.11 Blok diagram 4


(57)

Dalam bab IV ini akan dijelaskan tentang pembahasan bagaimana alat dapat bekerja sesuai dengan yang diinginkan. Pertama dimulai dengan uji coba tiap bagian-bagian sistem untuk memastikan setiap bagian telah bekerja dan mensinkronisasikan di tiap-tiap bagian sistem sesuai dengan fungsinya.

Setelah itu alat akan diuji secara keseluruhan bertujuan untuk mengetahui bagian- bagian dari sistem dapat berjalan dengan baik sehingga dapat menghasilkan hasil yang diharapkan serta sistem yang berjalan sesuai dengan yang diharapkan.

4.1 Cara Kerja Alat

Alat monitoring Arus dan Tegangan Pada Sistem Tenaga Listrik 3 fasa dibuat untuk mempermudah dalam memperoleh data secara real time baik arus, tegangan maupun yang lainnya pada sistem tenaga listrik 3 fasa, sehingga dapat menghemat waktu, tenaga dan mempermudah dalam proses pengukuran.


(58)

Cara kerja serta pengoperasian dari alat sistem ini adalah sebagai berikut:

1. Rangkaian diaktifkan dengan memberikan input ADC dengan cara mengkoneksikan kabel pada alat monitoring ke sumber listrik.

2. Kemudian pasangkan sensor arus SCT-013 secara melingkar pada kabel saluran/kabel 3 fasa yaitu fasa R, fasa S dan fasa T.

3. Hubungkan kabel USB pada alat (rangkaian interface) kekomputer yang telah diinstal Lab View.

4. Komputer akan menampilkan nilai arus, tegangan dan lainnya yang diukur menggunakan alat monitor tersebut.

5. Jika pengukuran dilakukan pada sebuah alat, maka alat harus dinyalakan terlebih dahulu.

6. LCD akan menampilkan juga hasil dari pengukuran tiap-tiap fasa R, S dan T.

7. Hasil pengukuran secara real time juga dapat dilihat di komputer.

4.2Pembahasan

Rancang bangun monitoring arus dan tegangan ini sangat bermanfaat dalam dunia keteknikan khususnya dalam dunia industry. Sehingga akan mempermudah dan menghemat waktu dan tenaga. Pemrograman yang dipakai untuk mengakses adalah bahasa arduinoyang digunakan sebagai program pembacaan data analog dari output sensor SCT-013 dan ZMPT101B untuk diubah menjadi data digital dengan menggunakan fasilitas pembacaan ADC(Analog to Digital Converter) dari Board Arduino Uno. Data yang disampling dari ADC ditampilkan dalam bentuk gelombang. Pengujian sistem dilakukan dengan menggunakan beban tidak linear yaitu dan panel listrik 3 fasa.


(59)

meliputi tiga sisi/aspek, antara lain meliputi pengujian perangkat keras (hardware), pengujian perangkat pengujian perangkat lunak (software), dan pengujian terhadap keduanya (hardware & software) yang berfungsi untuk mensinkronkan alat.

Adapun bagan alur pengujian alat ditunjukkan pada Gambar 4.2.

Gambar 4.2 Prosedur Pengujian Alat

Dari Gambar 4.2. Prosedur pengujian alat dapat dibagi menjadi beberapa proses antara lain:

1. Pengujian Perangkat Keras (Hardware)

Pengujian dalam hal ini adalah troubleshooting hardware ditujukan untuk mengecek terhadap jalur-jalur pada PCB untuk mengetahui semua jalur terhubung (tidak terputus) dengan menggunakan multimeter dan juga dilakukan pengecekan pengkabelan antar bagian sistem. Semua dilakukan agar alat dapat berjalan dengan baik dan menghindari kerusakan komponen akibat hubungan arus pendek atau jalur yang terputus.

2. Pengujian Perangkat Lunak (Software)

Pengujian alat selesai

Pengujian sinkronisasi Pengujian software

Pengujian hardware


(60)

hardware yang disambung.

3. Pengujian Keseluruhan (sinkronisasi)

Pada pengujian ini dilakukan pengujian secara menyeluruh dengan bagian keseluruhan. Dilakukan pengujian dari menyalakan alat, hingga proses menampilkan nilai arus, grafik arus dan bentuk spektrum yang tertampil pada user intrerface Lab View.

4.3.1. Pengujian Catu Daya

Catu Daya merupakan bagian yang sangat penting dalam sistem tersebut. Dimana catu daya menyuplai tegangan keseluruh rangkaian, baik itu rangkaian sistem minimum Arduino maupun rangkaian pengkondisi sinyal sensor arus SCT-013. Untuk Board Arduino sumber catu daya bisa memiliki 2 sumber catu daya, yaitu catu daya yang bersumber dari Adaptor external 12VDC atau melalui port USB ketika dikoneksikan dengan perangkat komputer. Pengujian dilakukan dalam beberapa tahapan, pengujian dengan Catu Daya External kemudian diukur tegangan keluaran pada IC Regulator 7805 pada Board Ardino. Kemudian pengujian menggunakan port USB ketika dikoneksiakan dengan computer kemudian diukur berapa masing-masing tegangan outputnya pada IC regulator 7805 Board Arduino. Berikut merupakan Gambar titik pengukuran pada Board Arduino seperti ditunjukkan Gambar 4.2.


(61)

Gambar 4.3 Titik Pengukuran pada Board Arduino

Tabel 4.1 berikut menunjukkan tabel hasil pengukuran output regulator 7805 dengan input Adaptor external 12VDC.

Pengukuran dengan Input Adaptor External 12VDC.

Titik Pengukuran Tegangan Terukur (Vdc)

1 12,50

2 5,04

3 0

4 5,04

5 3,28

Tabel 4.2 Pengukuran dengan Input Port USB Komputer.

Titik Pengukuran Tegangan Terukur (Vdc)

1 0


(62)

5 3,29

4.3.2 Pengujian Sistem Minimum Arduino

Sistem minimum dikatakan baik dan dapat digunakan yaitu apabila sistem minimum tersebut dimasukkan dengan program yang telah diupload ke Board Arduino, maka sistem minimum tersbut dapat menjalankan perintah sesuai dengan program yang telah diupload pada Board Sistem Minimum tersebut. Pada pengujian ini yaitu Board Sistem Minimum Arduino dimasukkan program yang telah diupload. Perintah pada program hanya menyalakan LED. Kemudian dilihat hasilnya apakah Board Arduino bisa menyalakan LED atau tidak. Berikut merupakan listing program pengujian Board Sistem Minimum Arduino untuk menyalakan satu buah LED.

int ledPin = 13; // LED connected to digital pin 13

void setup() {

pinMode(ledPin, OUTPUT); // sets the digital pin as output }

void loop() {

digitalWrite(ledPin, HIGH); // sets the LED on delay(1000); // waits for a second digitalWrite(ledPin, LOW); // sets the LED off delay(1000); // waits for a second }

Pada potongan program diatas LED dihubungkan dengan pin digital Arduino pada chanel 13 dengan syntack int ledpin= 13. Fungsi setup (void setup) merupakan fungsi untuk menginisialisai apakah port digital yang digunakan akan diset sebagai input atau sebagai output. Sedangkan fungsi loop (void loop) merupakan fungsi perulangan untuk menjalankan perintah-perintah yang akan diekseskusi secara berulang-ulang. Pada fungsi perulangan (void


(63)

led tersbut dimatikan kembali dengan waktu tundak 1000 mS. Gambar 4.3 berikut menujukkan hasil pengujian pada Board Arduino.

Gambar 4.4 Pengujian Sistem Minimum Arduino

Setelah melakukan pengujian Sistem Minimum Arduino dengan cara memasukkan program, dan hasil yang diperoleh sesuai dengan apa yang dituliskan pada program. Kesimpulan sementara bahwa Board Sistem Minimum Arduino sudah bisa dioperasikan.

4.4 Penjelasan Progeram

#include <LiquidCrystal.h> //Include di library Liquid Crystal #include "EmonLib.h" // Include Emon Library (energy monitor)

#define led1 10 //definisi led1 pada pin 10 #define led2 11 //definisi led1 pada pin 11 #define led3 12 //definisi led1 pada pin 12


(64)

LiquidCrystal lcd (2,3,4,5,6,8,9); //lcd di pin 2,3,4,5,6,8,9

float Irms1,Irms2,Irms3; // Tipe data float untuk Irms1,Irms2,Irms3 float V1,V2,V3; // Tipe data float untuk V1,V2,V3

float P1,P2,P3; // Tipe data float untuk P1,P2 dan P3 float VA1,VA2,VA3; // Tipe data float untuk VA1,VA2,VA3 float CP1,CP2,CP3; // Tipe data float untuk CP1,CP2,CP3

unsigned long currentMillis; long previousMillis = 0;

void setup() {

Serial.begin(57600); //set baudrate 57600 lcd.begin(20,4);

pinMode(led1, OUTPUT); pinMode(led2, OUTPUT); pinMode(led3, OUTPUT); phase3.current(5, 60);//111.1); phase2.current(4, 60);//111.1); phase1.current(3, 60);//111.1);

phase1.voltage(2,198.5, 1.2); phase2.voltage(1,198.5, 1.2); phase3.voltage(0,198.5, 1.2); }


(65)

Serial.print(Irms1); //kirim angka tipe float Irms1 Serial.print(','); //kirim angka tipe float Serial.print(V1);//(Veff[2]); //kirim angka tipe Serial.print(','); //kirim angka tipe

Serial.print(P1); //kirim angka tipe float P1 Serial.print(','); //kirim angka tipe float Serial.print(VA1); //kirim angka tipe float VA1 Serial.print(','); //kirim angka tipe float Serial.print(CP1); //kirim angka tipe float CP1 Serial.print(','); //kirim angka tipe float

Serial.print(Irms2); //kirim angka tipe float Irms2 Serial.print(','); //kirim angka tipe

Serial.print(V2);//(Veff[1]); //kirim angka tipe Serial.print(','); //kirim angka tipe float Serial.print(P2); //kirim angka tipe float P2 Serial.print(','); //kirim angka tipe float Serial.print(VA2); //kirim angka tipe float VA2 Serial.print(','); //kirim angka tipe float Serial.print(CP2); //kirim angka tipe float CP2 Serial.print(','); //kirim angka tipe float

Serial.print(Irms3); //kirim angka tipe float Serial.print(','); //kirim angka tipe float

Serial.print(V3);//(Veff[0]); //kirim angka tipe float Serial.print(','); //kirim angka tipe float


(66)

Serial.print(','); //kirim angka tipe float Serial.print(CP3); //kirim angka tipe float CP3 Serial.print('\n'); //kirim angka tipe float

}

void loop() {

phase1.calcVI(20,100);

phase2.calcVI(20,100); // phase3.calcVI(20,100);

Irms1=phase1.Irms;

Irms2=phase2.Irms; // Irms3=phase3.Irms;

V1=phase1.Voltage;

V2=phase2.Voltage; V3=phase3.Voltage;

P1=phase1.realPower; P2=phase2.realPower; P3=phase3.realPower;

VA1=phase1.apparentPower;

VA2=phase2.apparentPower; VA3=phase3.apparentPower;


(67)

lcd.setCursor(3,0);

lcd.print("Energy Monitor");

lcd.setCursor(0,1);lcd.print("I1:"); //memunculkan I1 pada set kursor (0,1) lcd.setCursor(4,1);lcd.print(Irms1); //memunculkan Irms pada set kursor (4,1) lcd.setCursor(9,1);lcd.print("V1:"); //memunculkan V1 pada set kursor (9,1) lcd.setCursor(12,1);lcd.print(V1); //memunculkan V1 pada set kursor (12,1)

lcd.setCursor(0,2);lcd.print("I2:"); //memunculkan I2 pada set kursor (0,2) lcd.setCursor(4,2);lcd.print(Irms2); // memunculkan Irms pada set kursor (4,1) lcd.setCursor(9,2);lcd.print("V2:"); //memunculkan V1 pada set kursor (9,2) lcd.setCursor(12,2);lcd.print(V2); //memunculkan V1 pada set kursor (12,2)

lcd.setCursor(0,3);lcd.print("I3:"); //memunculkan I3 pada set kursor (0,3) lcd.setCursor(4,3);lcd.print(Irms3); // memunculkan Irms pada set kursor (4,3) lcd.setCursor(9,3);lcd.print("V3:"); //memunculkan V1 pada set kursor (9,3) lcd.setCursor(12,3);lcd.print(V3); //memunculkan V1 pada set kursor (12,1)

if(V1>=10 || Irms1 >=1){ //pengulangan if digitalWrite(led1,HIGH);

} else{

digitalWrite(led1,LOW); }

if(V2>=10 || Irms2 >=1){ digitalWrite(led2,HIGH);


(68)

digitalWrite(led2,LOW); }

if(V3>=10 || Irms3 >=1){ digitalWrite(led3,HIGH); }

else{

digitalWrite(led3,LOW); }

currentMillis = millis();

if(currentMillis - previousMillis > 10) {

sendData();

previousMillis = currentMillis; }

}

4.5 Pengujian Perangkat Lunak (Software)

Pengujian yang kedua adalah pengujian software atau program Pendeteksi Arus dan tegangan. Pengujian software ini bertujuan agar program yang dibuat dapat bekerja sesuai dengan yang diharapkan, dimana perintah yang dimasukkan pengguna akan dikerjakan sesuai dengan perintah tersebut. Pada sisi ini program yang digunakan diuji dengan melakukan simulasi pada software Arduino, dan sesekali melakukan simulasi sebelum akhirnya ditanam/ didownload pada sistem minimum. Simulasi ditunjukan pada Gambar 4.4.


(69)

Gambar 4.5 Simulasi Pengujian Software Lab View

Pada Gmabar 4.4 terlihat untuk simulasi rangkaian pengkondisi sinyal dari output sensor SCT-013. Dimana pada simulasi di Proteus input rangkaian pengkondisi sinyal SCT-013 diberi sinyal AC dengan frekuensy 50Hz. Kemudian output dari burden resistor diukur menggunakan virtual oscilloscope kemudian dilihat bentuk sinyalnya menunjukkan ada gelombang dari output rangkaian pengkondisi sinyal. Selanjutnya output dari rangkaian pengkondisi sinyal dimasukkan ke input ADC pada Arduino yang selnjutnya sinyal tersebut dikonversi ke dalam bentuk digital menggunakan fasilitas ADC pada Arduino. Menurut skematik rangkaian pengkondisi sinyal sensor SCT-013 bahwa output tegangan puncak ke puncak untuk Arduino diperoleh berdasarkan perkalian arus output dengan burden resistor. Untuk lebih jelasnya dapat dilihat pada Gambar 4.5 berikut ini.


(70)

Gambar 4.6 Rangkaian Pengkondisi SInyal SCT-013 4.3.3 Pengujian Keseluruhan

Pengujian ini bertujuan untuk memastikan bahwa seluruh sistem alat baik hardware maupun

software dapat bekerja dengan baik. Pengujian ini dapat disebut juga sebagai pengujian untuk menyinkronkan antara hardware dan software tersebut.

4.4. Hasil Pengujian Alat Monitoring

Pengujian dilakukan pada panel listrik 3 fasa di laboratorium teknik elektro Universitas Muhammadiyah Yogyakarta menggunakan alat monitoring arus dan tegangan.

Proses pengujian dilakukan dengan memasang sensor arus yang tersambung pada alat interface akuisisi data, dipasangkan pada kabel fasa. Hasil pengukurannya adalah sebagai berikut.


(71)

Tabel 4.3 Hasil pengukuran Arus Sampe l Beban /Lampu(W) Fasa Hasil Pengukuran FK(%) Alat yang dibuat (A) Alat Ukur(A)

1

60 R 0.25 0.24 4

60 S 0.25 0.24 4

60 T 0.27 0.24 11.11

2

25 R 0.15 0.15 0

25 S 0.16 0.15 6.25

25 T 0.18 0.15 16.67

3

10 R 0.14 0.14 0

10 S 0.14 0.14 0

10 T 0.18 0.14 22.22

4

60 R 0.18 0.18 0

40 S 0.18 0.18 0

25 T 0.22 0.18 18.18

5

60 R 0.13 0.13 0

25 S 0.14 0.13 7.1


(72)

Grafik Pengukuran Arus

1.Sampel 1 (L1 = 60 W; L2 = 60 W; L3 = 60 W)

Gambar 4.6 Grafik Sampel 1 Pengukuran Arus 2.Sampel 2 (L1 = 25 W; L2 = 25 W; L3 = 25 W)


(73)

3.Sampel 3 (L1 = 10 W; L2 = 10 W; L3 = 10 W)

Gambar 4.8 Grafik Sampel 3 Pengukuran Arus

4.Sampel 4 (L1 = 60 W; L2 = 40 W; L3 = 25 W)


(74)

Gambar 4.10 Grafik Sampel 5 Pengukuran Arus

4.4.2 Pengujian Pengukuran Tegangan Tabel 4.4 Hasil pengukuran Tegangan

Sampel Beban /Lampu(W)

Fasa

Hasil Pengukuran

FK(%) Alat yang dibuat (V) Alat Ukur(V)

1

60 R 220.51 214 2.95 60 S 214.58 214 0.27

60 T error 213 e

2

25 R 220.01 214 2.73

25 S 214.1 213 0.05

25 T error 217 e

3

10 R 220.48 216 2.03 10 S 213.63 208 2.64


(75)

4

60 R 219.88 219

40 S 214.02 213 0.48

25 T Error 215 e

5

60 R 220.3 216 1.95

25 S 215.21 209 2.89

10 T Error 213 e

Grafik Pengukuran Tegangan

1.Sampel 1 (L1 = 60 W; L2 = 60 W; L3 = 60 W)

Gambar 4.11 Grafik Sampel 1 Pengukuran Tegangan


(76)

Gambar 4.12 Grafik Sampel 2 Pengukuran Tegangan 3. Sampel 3 (L1 = 10 W; L2 = 10 W; L3 = 10 W)


(77)

Gambar 4.14 Grafik Sampel 4 Pengukuran Tegangan 5. Sampel 5 (L1 = 60 W; L2 = 25 W; L3 = 10 W)


(78)

Dari tampilan nilai arus normal akan tetapi masih terjadi error di V3, sehingga keluaran yang keluarpun menjadi error.

Gambar 4.16 Tampilan lab view pengukuran motor 3 fasa Tabel 4.4 Uji coba motor 3 fasa

Pada uji coba pengukuran arus dam tegangan motor 3 fasa, motor dihubung bintang.

No Fasa

Pengukuran Arus

FK(%)

Pengukuran Tegangan

FK(%) Alat (A) Alat Ukur(A) Alat(V) Alat Ukur(V)

1

R 1.14 1.03 9.60 223 218 2.24 S 1.21 1.20 0.08 218 210 3.67 T 1.20 1.10 8.30 0 213 error


(79)

Gamabar 4.16 grafik pengukuran arus motor 3 fasa


(80)

5.1. Kesimpulan

Dari hasil simulasi, pengamatan dan pengujian pada rancangan Monitoring Arus dan Tegangan Pada Sistem Tenaga Listrik 3 phasa , dapat diambil kesimpulan sebagai berikut:

a. Telah diimplementasikan alat rancang bangun monitoring arus dan tegangan listrik dengan menggunakan sensor arus SCT-013 dan sensor tegangan ZMPT101B.

b. Hasil pengukuran antara rancang bangun monitoring dan alat ukur power pad cukup presisi, sehingga alat ini sudah dapat digunakan untuk diimplementasikan untuk melakukan pengukuran real time. Hal itu dapat dilihat dari perbandingan pengukuran antara kedua alat.

c. Dari hasil rancang bangun alat ini kita dapat mengetahui hal-hal yang dibutuhkan dalam pengukuran sistem listrik 3 fasa diantaranya adalah:

i. Arus ii. Tegangan iii. Daya Aktif iv. Daya Semu

v. Faktor Daya


(81)

ini, seperti penambahan menu suhu, harmonisa, daya semu dan lain-lain untuk penunjang dalam pengambilan dan pengamatan data secara real time.

b. Bentuk alat perlu dikembangkan lagi agar lebih menarik dan mudah dalam pemakaiannya, sehingga orang yang baru belajar dapat mengerti dan mampu dalam penggunaannya.

c. Perlu ditambah mikro sd untuk penyimpanan data, agar data dapat tersipan untuk pengamatan lebih lanjut.


(82)

1. Rangkuti, Syahban, 2011, ”Mikrokontroller ATMELAVR”, Informatika, Bandung.

2. Grandjean, EkoNurmianto., Fitting The Task to the Man, 4th ed. Taylor & Francis Inc. London, 1993.

3. Nurmianto, Eko, ErgonomiManusia, PeralatandanLingkungan, Jakarta: PrestasiPustaka Publisher, 2004.

4. Bejo, Agus, RahasiaKemudahanBahasa C dalamMikrokontroler ATMega8535 (Code VisionAVR),GrahaIlmu, Bandung, 2008.

5. Anonim. DS18S20b High-Precision 1-Wire Digital Thermometer. www.maxim-ic.com.

6. Mismail, Budiono. 1998. Dasar-dasar RangkaianLogika Digital. Penerbit ITB. Bandung.

7. Tobing, Bonggas L, Dasar Teknik Pengujian TeganganTinggi, Penerbit PT Gramedia Pustaka Utama, Jakarta,

2003.

8.


(83)

9.

http://www.iseerobot.com/produk-1799-single-phase-ac-voltage-sensor-module-.html . DiaksesTanggal 26 April 2016.

10.http://ak67.wordpress.com/2009/07/15/one-wire/ DiaksesTanggal 29 April 2016.


(84)

LAMPIRAN

PROGRAM


(85)

#define led1 10 #define led2 11 #define led3 12

EnergyMonitor phase1; // Create an instance EnergyMonitor phase2;

EnergyMonitor phase3;

LiquidCrystal lcd (2,3,4,5,6,8,9); float Irms1,Irms2,Irms3;

float V1,V2,V3; float P1,P2,P3; float VA1,VA2,VA3; float CP1,CP2,CP3;

unsigned long currentMillis; long previousMillis = 0; void setup() {

Serial.begin(57600); lcd.begin(20,4); pinMode(led1, OUTPUT); pinMode(led2, OUTPUT); pinMode(led3, OUTPUT); phase3.current(5, 60);//111.1); phase2.current(4, 60);//111.1); phase1.current(3, 60);//111.1); phase1.voltage(2,198.5, 1.2); phase2.voltage(1,198.5, 1.2); phase3.voltage(0,198.5, 1.2); } void sendData(){ Serial.print(Irms1); Serial.print(','); Serial.print(V1);//(Veff[2]); Serial.print(','); Serial.print(P1); Serial.print(','); Serial.print(VA1); Serial.print(','); Serial.print(CP1); Serial.print(','); Serial.print(Irms2); Serial.print(','); Serial.print(V2);//(Veff[1]); Serial.print(','); Serial.print(P2); Serial.print(','); Serial.print(VA2); Serial.print(',');


(86)

Serial.print(Irms3); Serial.print(','); Serial.print(V3);//(Veff[0]); Serial.print(','); Serial.print(P3); Serial.print(','); Serial.print(VA3); Serial.print(','); Serial.print(CP3); Serial.print('\n'); }

void loop() {

phase1.calcVI(20,100); phase2.calcVI(20,100); phase3.calcVI(20,100); Irms1=phase1.Irms; Irms2=phase2.Irms; Irms3=phase3.Irms; V1=phase1.Voltage; V2=phase2.Voltage; V3=phase3.Voltage; P1=phase1.realPower; P2=phase2.realPower; P3=phase3.realPower; VA1=phase1.apparentPower; VA2=phase2.apparentPower; VA3=phase3.apparentPower; CP1=phase1.powerFactor; CP2=phase2.powerFactor; CP3=phase3.powerFactor; lcd.setCursor(3,0); lcd.print("Energy Monitor"); lcd.setCursor(0,1);lcd.print("I1:"); lcd.setCursor(4,1);lcd.print(Irms1); lcd.setCursor(9,1);lcd.print("V1:"); lcd.setCursor(12,1);lcd.print(V1); lcd.setCursor(0,2);lcd.print("I2:"); lcd.setCursor(4,2);lcd.print(Irms2); lcd.setCursor(9,2);lcd.print("V2:"); lcd.setCursor(12,2);lcd.print(V2); lcd.setCursor(0,3);lcd.print("I3:"); lcd.setCursor(4,3);lcd.print(Irms3); lcd.setCursor(9,3);lcd.print("V3:"); lcd.setCursor(12,3);lcd.print(V3);


(87)

} else{

digitalWrite(led1,LOW); }

if(V2>=10 || Irms2 >=1){ digitalWrite(led2,HIGH); }

else{

digitalWrite(led2,LOW); }

if(V3>=10 || Irms3 >=1){ digitalWrite(led3,HIGH); }

else{

digitalWrite(led3,LOW); }

currentMillis = millis();

if(currentMillis - previousMillis > 10) {

sendData();

previousMillis = currentMillis; }

}


(88)

Emon.cpp - Library for openenergymonitor Created by Trystan Lea, April 27 2010 GNU GPL

modified to use up to 12 bits ADC resolution (ex. Arduino Due) by boredman@boredomprojects.net 26.12.2013

Low Pass filter for offset removal replaces HP filter 1/1/2015 - RW

*/

//#include "WProgram.h" un-comment for use on older versions of Arduino IDE

#include "EmonLib.h"

#if defined(ARDUINO) && ARDUINO >= 100 #include "Arduino.h" #else #include "WProgram.h" #endif //---

// Sets the pins to be used for voltage and current sensors

//---

void EnergyMonitor::voltage(unsigned int _inPinV, double _VCAL, double _PHASECAL)

{

inPinV = _inPinV; VCAL = _VCAL;

PHASECAL = _PHASECAL; offsetV = ADC_COUNTS>>1; }

void EnergyMonitor::current(unsigned int _inPinI, double _ICAL) {

inPinI = _inPinI; ICAL = _ICAL;

offsetI = ADC_COUNTS>>1; }

//---

// Sets the pins to be used for voltage and current sensors based on emontx pin map

//---

void EnergyMonitor::voltageTX(double _VCAL, double _PHASECAL) {

inPinV = 2; VCAL = _VCAL;

PHASECAL = _PHASECAL; offsetV = ADC_COUNTS>>1;


(89)

{

if (_channel == 1) inPinI = 3; if (_channel == 2) inPinI = 0; if (_channel == 3) inPinI = 1; ICAL = _ICAL;

offsetI = ADC_COUNTS>>1; }

//---

// emon_calc procedure

// Calculates realPower,apparentPower,powerFactor,Vrms,Irms,kWh increment

// From a sample window of the mains AC voltage and current. // The Sample window length is defined by the number of half wavelengths or crossings we choose to measure.

//---

void EnergyMonitor::calcVI(unsigned int crossings, unsigned int timeout)

{

#if defined emonTxV3

int SupplyVoltage=3300; #else

int SupplyVoltage = readVcc(); #endif

unsigned int crossCount = 0; //Used to measure number of times threshold is crossed.

unsigned int numberOfSamples = 0; //This is now incremented

//---

// 1) Waits for the waveform to be close to 'zero' (mid-scale adc) part in sin curve.

//---

boolean st=false; //an indicator to exit the while loop

unsigned long start = millis(); //millis()-start makes sure it doesnt get stuck in the loop if there is an error.

while(st==false) //the while loop...

{

startV = analogRead(inPinV); //using the voltage waveform

if ((startV < (ADC_COUNTS*0.55)) && (startV > (ADC_COUNTS*0.45))) st=true; //check its within range if ((millis()-start)>timeout) st = true;


(90)

// 2) Main measurement loop

//---

start = millis();

while ((crossCount < crossings) && ((millis()-start)<timeout)) {

numberOfSamples++; //Count number of times looped.

lastFilteredV = filteredV; //Used for delay/phase compensation

//---

// A) Read in raw voltage and current samples

//---

sampleV = analogRead(inPinV); //Read in raw voltage signal

sampleI = analogRead(inPinI); //Read in raw current signal

//---

// B) Apply digital low pass filters to extract the 2.5 V or 1.65 V dc offset,

// then subtract this - signal is now centred on 0 counts. //---

offsetV = offsetV + ((sampleV-offsetV)/1024); filteredV = sampleV - offsetV;

offsetI = offsetI + ((sampleI-offsetI)/1024); filteredI = sampleI - offsetI;

//---

// C) Root-mean-square method voltage

//---

sqV= filteredV * filteredV; //1) square voltage values

sumV += sqV; //2) sum

//---

// D) Root-mean-square method current

//---

sqI = filteredI * filteredI; //1) square current values

sumI += sqI; //2) sum


(91)

//---

phaseShiftedV = lastFilteredV + PHASECAL * (filteredV - lastFilteredV);

//---

// F) Instantaneous power calc

//---

instP = phaseShiftedV * filteredI; //Instantaneous Power

sumP +=instP; //Sum

//---

// G) Find the number of times the voltage has crossed the initial voltage

// - every 2 crosses we will have sampled 1 wavelength // - so this method allows us to sample an integer number of half wavelengths which increases accuracy

//---

lastVCross = checkVCross; if (sampleV > startV) checkVCross = true; else checkVCross = false;

if (numberOfSamples==1) lastVCross = checkVCross;

if (lastVCross != checkVCross) crossCount++; }

//---

// 3) Post loop calculations

//---

//Calculation of the root of the mean of the voltage and current squared (rms)

//Calibration coefficients applied.

double V_RATIO = VCAL *((SupplyVoltage/1000.0) / (ADC_COUNTS)); Vrms = V_RATIO * sqrt(sumV / numberOfSamples);

double I_RATIO = ICAL *((SupplyVoltage/1000.0) / (ADC_COUNTS)); Irms = I_RATIO * sqrt(sumI / numberOfSamples);

//Calculation power values

realPower = V_RATIO * I_RATIO * sumP / numberOfSamples; apparentPower = Vrms * Irms;

powerFactor=(realPower / apparentPower)+0.06; Voltage=((Vrms*0.9973)-16.481);

if(Irms<=0.20){


(92)

}

// if(realPower<=0.50){ // realPower= 0.00; // }

//Reset accumulators sumV = 0;

sumI = 0; sumP = 0;

//---

}

//---

double EnergyMonitor::calcIrms(unsigned int Number_of_Samples) {

#if defined emonTxV3

int SupplyVoltage=3300; #else

int SupplyVoltage = readVcc(); #endif

for (unsigned int n = 0; n < Number_of_Samples; n++) {

sampleI = analogRead(inPinI);

// Digital low pass filter extracts the 2.5 V or 1.65 V dc offset,

// then subtract this - signal is now centered on 0 counts. offsetI = (offsetI + (sampleI-offsetI)/1024);

filteredI = sampleI - offsetI; // Root-mean-square method current // 1) square current values

sqI = filteredI * filteredI; // 2) sum

sumI += sqI; }

double I_RATIO = ICAL *((SupplyVoltage/1000.0) / (ADC_COUNTS)); Irms = I_RATIO * sqrt(sumI / Number_of_Samples);

//Reset accumulators sumI = 0;

//---

return Irms; }


(93)

// Serial.print(apparentPower); // Serial.print(' ');

Serial.print(Voltage); // Serial.print(' '); // Serial.print(Irms); // Serial.print(' ');

// Serial.print(powerFactor); Serial.println(' ');

delay(100); }

//thanks to http://hacking.majenko.co.uk/making-accurate-adc-readings-on-arduino

//and Jérôme who alerted us to

http://provideyourown.com/2012/secret-arduino-voltmeter-measure-battery-voltage/

long EnergyMonitor::readVcc() { long result;

//not used on emonTx V3 - as Vcc is always 3.3V - eliminates bandgap error and need for calibration

http://harizanov.com/2013/09/thoughts-on-avr-adc-accuracy/

#if defined(__AVR_ATmega168__) || defined(__AVR_ATmega328__) || defined (__AVR_ATmega328P__)

ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1);

#elif defined(__AVR_ATmega32U4__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) || defined(__AVR_AT90USB1286__) ADMUX = _BV(REFS0) | _BV(MUX4) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1);

ADCSRB &= ~_BV(MUX5); // Without this the function always returns -1 on the ATmega2560

http://openenergymonitor.org/emon/node/2253#comment-11432

#elif defined (__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__)

ADMUX = _BV(MUX5) | _BV(MUX0);

#elif defined (__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__)

ADMUX = _BV(MUX3) | _BV(MUX2); #endif

#if defined(__AVR__)

delay(2); // Wait for Vref to settle

ADCSRA |= _BV(ADSC); // Convert while (bit_is_set(ADCSRA,ADSC));

result = ADCL; result |= ADCH<<8;


(94)

#else

return (3300); //Guess that other un-supported architectures will be running a 3.3V!

#endif }


(95)

Emon.h - Library for openenergymonitor Created by Trystan Lea, April 27 2010 GNU GPL

modified to use up to 12 bits ADC resolution (ex. Arduino Due) by boredman@boredomprojects.net 26.12.2013

Low Pass filter for offset removal replaces HP filter 1/1/2015 - RW

*/

#ifndef EmonLib_h #define EmonLib_h

#if defined(ARDUINO) && ARDUINO >= 100 #include "Arduino.h"

#else

#include "WProgram.h" #endif

// define theoretical vref calibration constant for use in readvcc() // 1100mV*1024 ADC steps http://openenergymonitor.org/emon/node/1186 // override in your code with value for your specific AVR chip

// determined by procedure described under "Calibrating the internal reference voltage" at

// http://openenergymonitor.org/emon/buildingblocks/calibration #ifndef READVCC_CALIBRATION_CONST

#define READVCC_CALIBRATION_CONST 1126400L #endif

// to enable 12-bit ADC resolution on Arduino Due,

// include the following line in main sketch inside setup() function:

// analogReadResolution(ADC_BITS);

// otherwise will default to 10 bits, as in regular Arduino-based boards.

#if defined(__arm__) #define ADC_BITS 12 #else

#define ADC_BITS 10 #endif

#define ADC_COUNTS (1<<ADC_BITS) class EnergyMonitor

{

public:


(96)

void currentTX(unsigned int _channel, double _ICAL);

void calcVI(unsigned int crossings, unsigned int timeout); double calcIrms(unsigned int NUMBER_OF_SAMPLES);

void serialprint(); long readVcc();

//Useful value variables double realPower, apparentPower, powerFactor, Vrms, Irms, Voltage; private:

//Set Voltage and current input pins unsigned int inPinV;

unsigned int inPinI;

//Calibration coefficients

//These need to be set in order to obtain accurate results double VCAL;

double ICAL; double PHASECAL;

//---

// Variable declaration for emon_calc procedure

//---

int sampleV; //sample_ holds the raw analog read value

int sampleI;

double lastFilteredV,filteredV; //Filtered_ is the raw analog value minus the DC offset

double filteredI;

double offsetV; //Low-pass filter output

double offsetI; //Low-pass filter output

double phaseShiftedV; //Holds the calibrated phase shifted voltage.

double sqV,sumV,sqI,sumI,instP,sumP; //sq = squared, sum = Sum, inst = instantaneous

int startV; //Instantaneous voltage at start of sample window.


(97)

}; #endif


(98)

#include "EmonLib.h" // Include Emon Library EnergyMonitor emon1; // Create an instance void setup()

{

Serial.begin(9600);

emon1.current(1, 111.1); // Current: input pin, calibration. }

void loop() {

double Irms = emon1.calcIrms(1480); // Calculate Irms only

Serial.print(Irms*230.0); // Apparent power

Serial.print(" ");

Serial.println(Irms); // Irms

}

//current and voltage

// EmonLibrary examples openenergymonitor.org, Licence GNU GPL V3 #include "EmonLib.h" // Include Emon Library

EnergyMonitor emon1; // Create an instance void setup()

{

Serial.begin(9600);

emon1.voltage(2, 234.26, 1.7); // Voltage: input pin, calibration, phase_shift

emon1.current(1, 111.1); // Current: input pin, calibration. }

void loop() {

emon1.calcVI(20,2000); // Calculate all. No.of half wavelengths (crossings), time-out

emon1.serialprint(); // Print out all variables (realpower, apparent power, Vrms, Irms, power factor)

float realPower = emon1.realPower; //extract Real Power into variable

float apparentPower = emon1.apparentPower; //extract Apparent Power into variable

float powerFActor = emon1.powerFactor; //extract Power Factor into Variable

float supplyVoltage = emon1.Vrms; //extract Vrms into Variable

float Irms = emon1.Irms; //extract Irms into Variable


(99)

(100)

PENGUKURAN 1


(1)

(2)

PENGUKURAN 3


(3)

(4)

Dokumentasi

Gambar 1


(5)

Gambar 4


(6)

Gambar 6

Gambar 7