Perancangan Solar Charge Controller dan Inverter pada Aplikasi Solar Panel Berbasis Atmega8535 secara Software

(1)

PERANCANGAN SOLAR CHARGE CONTROLLER DAN

INVERTER PADA APLIKASI SOLAR PANEL

BERBASIS ATMEGA 8535

SECARA SOFTWARE

TUGAS AKHIR

DEVI LARASATI

112408023

PROGRAM STUDI D-3 FISIKA

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN

2014


(2)

PERANCANGAN SOLAR CHARGE CONTROLLER DAN

INVERTER PADA APLIKASI SOLAR PANEL

BERBASIS ATMEGA 8535

SECARA SOFTWARE

TUGAS AKHIR

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh Ahli Madya

DEVI LARASATI

112408023

PROGRAM STUDI D-3 FISIKA

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN

2014


(3)

PERSETUJUAN

Judul : Perancangan Solar Charge Controller dan Inverter

pada Aplikasi Solar Panel Berbasis Atmega8535 secara Software

Kategori : Tugas Proyek

Nama : Devi Larasati

Nomor Induk Mahasiswa : 112408023

Program Studi : Diploma 3 ( D-3) Fisika Departemen : Fisika

Fakultas : Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara

Disetujui di Medan, Juli 2014

Disetujui Oleh

Prodi D-3 Fisika FMIPA USU Pembimbing, Ketua,

Dr. Susilawati, M.Si Dr. Tulus Ikhsan Nst, S.Si, M.Sc NIP. 19741207200122001 NIP. 197407162008121002


(4)

PERNYATAAN

PERANCANGAN SOLAR CHARGE CONTROLLER DAN INVERTER PADA APLIKASI SOLAR PANEL BERBASIS ATMEGA8535 SECARA SOFTWARE

TUGAS AKHIR

Saya mengakui bahwa tugas akhir ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Juli 2014

DEVI LARASATI 112408023


(5)

PENGHARGAAN

Alhamdulillahirobbil’alamin,

Segala puji dan syukur bagi Allah Subhanahuwata’ala yang telah melimpahkan barokah, rahmat, hidayah-Nya dan menganugerahkan kemudahan serta kelancaran sehingga penulis dapat menyelesaikan penulisan tugas proyek ini sesuia waktu yang telah ditetapkan. Sholawat dan salam semoga senantiasa tercurahkan kepada Rasulullah

Sallallahu’alaihiwassalam sang pembawa petunjuk dan selalu menjadi inspirasi dan teladan bagi penulis.

Tugas Akhir ini disusun untuk melengkapi persyaratan dalam mencapai gelar Ahli Madya pada Program Studi Diploma Tiga Fisika Departemen Fisika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.

Adapun judul Tugas Proyek ini adalah

PERANCANGAN SOLAR CHARGE CONTROLLER DAN INVERTER PADA APLIKASI SOLAR PANEL BERBASIS ATMEGA8535 SECARA SOFTWARE

Penulis menyadari bahwa tersusunnya Tugas Akhir ini dari Do’a, perhatian, bimbingan, motivasi dan dukungan berbagai pihak, sehingga dengan keikhlasan dan kerendahan hati pada kesempatan ini penulis mengucapkan terima kasih yang sebesar-besarnya kepada :

1. Kedua orang tua penulis serta saudara kandung yang telah memberikan bantuan moril maupun materil, semangat dan do’a yang begitu besar kepada penulis.

2. Ibu Dr. Susilawati, M.Si, selaku Ketua Program Studi D-3 Fisika Fakultas Matematika dan Ilmu Pengetahuan Alam.

3. Bapak Drs. Perdinan Sinuhaji, M.S, selaku Sekretaris Program Studi D-3 Fisika Fakultas Matematika dan Ilmu Pengetahuan Alam.

4. Bapak Dr. Tulus Ikhsan Nst, S.Si, M.Sc selaku dosen pembimbing, yang telah banyak membantu dan mendukung penulis dalam menyelesaikan Tugas Akhir ini.

5. Seluruh Dosen dan Karyawan Program Studi D-3 Fisika Departemen Fisika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara. 6. Seluruh pihak yang telah banyak membantu penulis didalam menyelesaikan Tugas


(6)

Penulis menyadari sepenuhnya bahwa dalam pembuatan Tugas Akhir ini masih jauh dari kesempurnaan, untuk itu penulis mengharapkan kritik dan saran dari pembaca yang bersifat ny membangun dalam penyempurnaan Tugas Akhir ini.

Semoga laporan ini menjadi ibadah yang baik bagi penulis dan menjadi ilmu yang bermanfaat bagi pembaca.

Amin Yaa Rabbal’alamin

Medan, Juli 2014


(7)

PERANCANGAN SOLAR CHARGE CONTROLLER DAN INVERTER PADA APLIKASI SOLAR PANEL BERBASIS ATMEGA8535 SECARA SOFTWARE

ABSTRAK

Tujuan pembuatan tugas akhir ini adalah untuk mengaplikasikan Codevision AVR pada ATMega 8535 untuk mengolah data pengisian arus pada baterai aki dari solar panel. Nilai arus yang diolah pada mikrokontroler merupakan arus yang di deteksi dengan menggunakan sensor arus ACS-712. Untuk menghindari terjadinya arus balik dari baterai aki ke solar panel ketika tegangan solar panel lebih kecil daripada tegangan baterai aki, arus dari solar panel dialirkan melalui solar charge controller sebelum ke baterai aki.

Codevision AVR merupakan software untuk membuat program berbasis bahasa C yang kemudian dimasukkan ke dalam mikrokontroler. Program yang di compile pada Codevision AVR, itulah yang di eksekusi oleh mikrokontroler.

Pada alat ini, program yang dibuat adalah untuk mengontrol pengisian baterai aki oleh solar panel dan menginstruksikan mikrokontroler untuk memutus pengisian pada tegangan yang terbaca oleh mikrokontroler bernilai maksimum sesuai dengan program yang dimasukkan.

Kata kunci : Codevision AVR, Solar Panel, Solar Charge Controller, Mikrokontroler ATMega8535,


(8)

PERANCANGAN SOLAR CHARGE CONTROLLER DAN INVERTER PADA APLIKASI SOLAR PANEL BERBASIS ATMEGA8535 SECARA SOFTWARE

ABSTRACT

The purpose of this final project is to apply the codevision AVR ATMega 8535 to process the data on the storage accumulator battery charging current from the solar panels. Value current is processed in the microcontroller is in the current detection using current sensor ACS-712. To prevent backflow from batteries to solar panels when the solar panel voltage is less than accumulator battery voltage, current flows from the solar panels through solar charge controller to the battery before.

Codevision AVR is a software to create a program based on the C language which are then loaded into the microcontroller. Programs that are compiled on codevision AVR, that is executed by the microcontroller.

In this tool, programs are created to control the accumulator battery charging by solar panels and instruct the microcontroller to decide on the charging voltage is read by the microcontroller according to the maximum value-added programs.

Keywords: Codevision AVR, Solar Panel, Solar Charge Controller, Microcontroller ATMega8535


(9)

DAFTAR ISI

Halaman

Persetujuan i

Pernyataan ii

Penghargaan iii

Abstrak v Abstract vi Daftar Isi vii

Daftar Tabel x

Daftar Gambar xi Bab I Pendahuluan ……… 1

1.1. Latar Belakang ……… 1

1.2. Rumusan Masalah ……… 2

1.3. Tujuan Penulisan ……… 2

1.4. Batasan Masalah ……… 3

1.5. Metodologi Penulisan ……… 3

1.6. Sistematika Penulisan ……… 4

Bab II Landasan Teori ……… 5

2.1. Solar Panel ……… 5

2.2. Solar Charger Controller ……… 6

2.2.1. Mikrokontroller ATMega 8535 ……… 8

2.2.1.1. Fitur ATMega8535 ……… 9

2.2.1.2. Konfigurasi Pin ATMega 8535 ……… 10

2.2.1.3. Peta Memori ATMega 8535 ……… 14

2.2.1.4. Status Register (SREG) ATMega8535 …… 16

2.2.2. Sensor Arus ACS-712 ……… 17

2.2.3. LCD ……… 19

2.2.4. Bahasa Pemograman Mikrokontroler ……… 21


(10)

2.2.5.1Pendahuluan ……… 22

2.2.5.2. Pengenal Pada Bahasa C ……… 22

2.2.5.3. Tipe Data ……… 23

2.2.5.4. Header ……… 26

2.2.5.5. Operator Aritmatika ……….... 26

2.2.5.6. Operator Pembanding ……… 28

2.2.5.7. Operator Logika ……… 28

2.2.5.8. Operator Bitwise ……… 30

2.2.5.9. Operator Penugasan dan Operator Majemuk ……… 31

2.2.5.10. Operator Penambahan dan Pengurangan ……… 32

2.2.5.11. Pernyataan If dan If Bersarang ……….... 33

2.2.5.12. Pernyataan Switch ……… 35

2.2.5.13. Pernyataan While ……… 36

2.2.5.14. Pernyataan Do..While ……… 37

2.2.5.15. Pernyataan For ……… 38

2.2.6. Software ATMega8535 Editor dan Simulator ……… 39

2.2.6.1. Software ATMega8535 Editor ……….... 39

2.2.6.2. Software Downloader ……….... 39

2.2.6.3. Software Desain PCB Eagle 4.13r ……… 40

2.2.7. Pembagi Tegangan (Voltage Divider) ………...… 41

2.2.8. Relay ……… 42

2.2.9. Baterai Aki ……… 44

2.3. Inverter ……… 45

2.3.1. Transformator ……… 46

2.3.2. Transistor Mosfet IRFz44 ……… 48

Bab III Perancangan Sistem ……… 50

3.1. Diagram Blok Sistem ……… 50

3.2. Rangkaian Mikrokontroller ATMega8535 ……… 52

3.3. Perancangan Rangkaian LCD (Liquid Crystal Display) ……… 53

3.4. Perancangan Sensor Tegangan ……… 54


(11)

3.6. Perancangan Inverter ……… 58

3.7. Flow Chart Program ……… 60

Bab IV Pengujian Rangkaian ……… 62

4.1. Pengujian Rangkaian Mikrokontroller ATMega 8535 ……… 62

4.2. Pengujian Rangkaian LCD ……… 63

4.3. Pengujian Sensor Tegangan ……… 63

4.4. Pengujian Sensor Arus ……… 68

4.5. Pengujian Inverter ……… 68

4.6. Pengujian Lama Waktu Pengisian Baterai Aki ……… 69

4.7. Program Code-Vision AVR ……… 71

Bab V Penutup ……… 82

5.1. Kesimpulan ……… 82

5.2. Saran ……… 82


(12)

DAFTAR TABEL

Halaman

Tabel 2.1 Penjelasan Pin pada Port B 12

Tabel 2.2 Penjelasan Pin pada Port D 13

Tabel 2.3 Tipe Data 24

Tabel 2.4 Operator Aritmatika 27

Tabel 2.5 Operator Pembanding 28

Tabel 2.6 Operator Logika 28

Tabel 2.7 Operator Bitwise 30

Tabel 2.8 Operator Penugasan 31

Tabel 2.9 Operator Majemuk 32

Tabel 2.10 Operator Penambahan dan Pengurangan 32

Tabel 4.1. Pengujian Sensor Tegangan pada Solar Panel dengan Baterai Aki 64 Tabel 4.2. Pengujian Sensor Tegangan pada Solar Panel 66

Tabel 4.3 Data pengujian sensor arus ACS712 68

Tabel 4.4. Data Pengujian Inverter 69


(13)

DAFTAR GAMBAR

Halaman

Gambar 2.1 Konfigurasi Pin ATmega8535 PDIP 11

Gambar 2.2 Peta Memori Program 14

Gambar 2.3 Peta Memori Data 15

Gambar 2.4 EEPROM Data Memory 15

Gambar 2.5 Status Register ATMega 8535 16

Gambar 2.6 Sensor Arus ACS712 18

Gambar 2.7 LCD 20

Gambar 2.8 Tampilan Code Vision AVR 39

Gambar 2.9 Tampilan Ponyprog2000 40

Gambar 2.10 Tampilan software Eagle 4.13r 40

Gambar 2.11 Rangkaian Pembagi Tegangan 41

Gambar 2.12 Relay 43

Gambar 2.13 Baterai Aki Basah 45

Gambar 2.14 Trafo 46

Gambar 2.15 Hubungan Primer – Sekunder 47

Gambar 2.16 IRFz44 49

Gambar 3.1 Diagram Blok Sistem 50

Gambar 3.2 Rangkaian Sistem Minimum Mikrokontroler ATMEGA 8535 52

Gambar 3.3 Rangkaian LCD 54

Gambar 3.4 Rangkaian Sensor Tegangan 54

Gambar 3.5 Rangkaian Aplikasi Sensor Arus ACS 712 ,5 Ampere 57 Gambar 3.6 Konfigurasi Pin LM321 dan Rangkaian Inverting Amplifier 57

Gambar 3.7 Rangkaian inverter 59


(14)

PERANCANGAN SOLAR CHARGE CONTROLLER DAN INVERTER PADA APLIKASI SOLAR PANEL BERBASIS ATMEGA8535 SECARA SOFTWARE

ABSTRAK

Tujuan pembuatan tugas akhir ini adalah untuk mengaplikasikan Codevision AVR pada ATMega 8535 untuk mengolah data pengisian arus pada baterai aki dari solar panel. Nilai arus yang diolah pada mikrokontroler merupakan arus yang di deteksi dengan menggunakan sensor arus ACS-712. Untuk menghindari terjadinya arus balik dari baterai aki ke solar panel ketika tegangan solar panel lebih kecil daripada tegangan baterai aki, arus dari solar panel dialirkan melalui solar charge controller sebelum ke baterai aki.

Codevision AVR merupakan software untuk membuat program berbasis bahasa C yang kemudian dimasukkan ke dalam mikrokontroler. Program yang di compile pada Codevision AVR, itulah yang di eksekusi oleh mikrokontroler.

Pada alat ini, program yang dibuat adalah untuk mengontrol pengisian baterai aki oleh solar panel dan menginstruksikan mikrokontroler untuk memutus pengisian pada tegangan yang terbaca oleh mikrokontroler bernilai maksimum sesuai dengan program yang dimasukkan.

Kata kunci : Codevision AVR, Solar Panel, Solar Charge Controller, Mikrokontroler ATMega8535,


(15)

PERANCANGAN SOLAR CHARGE CONTROLLER DAN INVERTER PADA APLIKASI SOLAR PANEL BERBASIS ATMEGA8535 SECARA SOFTWARE

ABSTRACT

The purpose of this final project is to apply the codevision AVR ATMega 8535 to process the data on the storage accumulator battery charging current from the solar panels. Value current is processed in the microcontroller is in the current detection using current sensor ACS-712. To prevent backflow from batteries to solar panels when the solar panel voltage is less than accumulator battery voltage, current flows from the solar panels through solar charge controller to the battery before.

Codevision AVR is a software to create a program based on the C language which are then loaded into the microcontroller. Programs that are compiled on codevision AVR, that is executed by the microcontroller.

In this tool, programs are created to control the accumulator battery charging by solar panels and instruct the microcontroller to decide on the charging voltage is read by the microcontroller according to the maximum value-added programs.

Keywords: Codevision AVR, Solar Panel, Solar Charge Controller, Microcontroller ATMega8535


(16)

BAB I PENDAHULUAN

1.1. Latar Belakang

Beberapa jenis teknologi telah banyak diciptakan oleh manusia untuk dapat mempermudah manusia dalam melakukan pekerjaannya. Sebagai salah satu teknologi yang berkembang adalah teknologi dibidang solar cell. Menggunakan

solar cell dalam kehidupan sehari-hari bisa mengurangi biaya listrik di rumah.

Solar cell ini menggunakan energi yang tidak pernah habis dan gratis yaitu cahaya matahari.

Matahari merupakan sumber energi yang diharapkan dapat mengatasi permasalahan kebutuhan energi masa depan setelah berbagai sumber energi konvensional berkurang jumlahnya serta tidak ramah terhadap lingkungan. Jumlah energi yang begitu besar yang dihasilkan dari sinar matahari, membuat solar cell

menjadi alternatif sumber energi masa depan yang sangat menjanjikan. Solar cell

juga memiliki kelebihan menjadi sumber energi yang praktis mengingat tidak membutuhkan transmisi karena dapat dipasang secara modular di setiap lokasi yang membutuhkan dan sistem solar cell juga sangat bersih dan ramah lingkungan. Jadi, sekali beli atau invest bisa menikmati untuk bertahun-tahun. Dapat di lihat berapa alat di rumah yang tidak bisa berjalan tanpa listrik. Mulai dari TV, DVD, kipas angin, AC hingga kulkas semuanya menggunakan listrik. Jika tidak bisa mengatur dan berhemat, pengeluaran untuk listrik bisa sangat besar. Menggunakan solar cell ini akan banyak membantu untuk memperkecil tagihan listrik tiap bulan.


(17)

Untuk lebih mengoptimalkan pemanfaatan dari sumber energi matahari (solar cell), maka dalam laporan tugas akhir ini penulis membuat sistem perancangan solar charge controller dan inverter. Sistem solar cell yang digunakan terdiri dari panel solar cell, rangkaian kontroler pengisian (charge controller) dan baterai aki 12 volt. Konsepnya cukup sederhana yaitu mengubah cahaya matahari menjadi tegangan listrik. Tegangan listrik yang dihasilkan dari panel solar cell masuk kedalam charge controller yang dideteksi arus listriknya oleh sensor arus ACS-712. Arus yang dideteksi oleh sensor arus akan berbanding lurus dengan tegangan output dari sensor arus dan ditampilkan pada LCD. Setelah masuk ke dalam charge controller, arus listrik tersebut kemudian masuk ke dalam baterai aki. Setelah proses pengisian berlangsung selama beberapa jam, tegangan baterai aki akan naik. Bila tegangan baterai aki itu telah mencapai 12 volt, maka

charge controller akan menghentikan proses pengisian baterai aki.

1.2. Rumusan Masalah

Laporan tugas akhir ini membahas tentang:

1. Bagaimana merencanakan dan membuat suatu alat yang dapat mengontrol pengisian arus pada aki baterai ?

2. Bagaimana merencanakan dan membuat suatu alat untuk menghidupkan perangkat AC dengan sumber DC ?

1.3. Tujuan Penulisan


(18)

1. Sebagai salah satu syarat untuk dapat menyelesaikan program Diploma III Fisika FMIPA Universitas Sumatera Utara

2. Pengembangan kreatifitas mahasiswa dalam bidang ilmu instrumentasi pengontrolan dan elektronika sebagai bidang diketahui.

3. Memberikan penjelasan tentang Codevision AVR untuk mengaktifkan Mikrokontroler ATMega8535 dalam pengolahan data arus terukur pada

solar panel dan baterai aki.

1.4. Batasan Masalah

Adapun batasan masalah dalam laporan tugas akhir ini adalah : 1. Pembahasan mikrokontroler ATMega 8535.

2. Sensor yang digunakan adalah Sensor Arus ACS712 3. Program yang digunakan adalah Codevision AVR.

4. Sistem solar charge controller hanya melakukan pengisian pada baterai 12 V dan solar panel yang digunakan hanya 10 Watt.

1.5. Metodologi Penulisan

Adapun metode penulisan yang digunakan dalam menyusun dan menganalisa tugas akhir ini adalah:

1. Studi literatur yang berhubungan dengan perancanangan dan pembuatan alat ini.

2. Perencanaan dan pembuatan alat

Merencanakan peralatan yang telah dirancang baik software maupun hardware.


(19)

3. Pengujian alat

Peralatan yang telah dibuat kemudian diuji apakah telah sesuai yang telah direncanakan.

1.6. Sistematika Penulisan

Sistematika penulisan dalam tugas akhir ini terdiri dari 5 bab, yaitu:

BAB I : PENDAHULUAN

Berisi latar belakang permasalahan, rumusan masalah, batasan masalah, tujuan pembahasan, metodologi pembahasan, dan sistematika penulisan dari penulisan laporan proyek ini.

BAB II : LANDASAN TEORI

Membahas tentang solar panel, solar charge controller, mikrokontroller, sensor arus, inverter dan alat – alat pendukung lainnya.

BAB III : PERANCANGAN SISTEM

Membahas tentang perencanaan dan pembuatan sistem secara keseluruhan.

BAB IV : PENGUJIAN RANGKAIAN

Berisi tentang uji coba alat yang telah dibuat, pengoperasian dan spesifikasi alat.

BAB V : PENUTUP

Merupakan kesimpulan dari pembahasan pada bab-bab sebelumnya dan kemungkinan pengembangan alat.


(20)

BAB II

LANDASAN TEORI

Landasan teori sangat membantu untuk dapat memahami suatu sistem. Selain dari pada itu dapat juga dijadikan sebagai bahan acuan didalam merencanakan suatu sistem. Dengan pertimbangan hal-hal tersebut, maka landasan teori merupakan bagian yang harus dipahami untuk pembahasan selanjutnya. Pengetahuan yang mendukung perencanaan dan realisasi alat meliputi

solar charge controller dan inverter.

2.1. Solar Panel

Solar Cell adalah salah satu jenis sensor cahaya photovoltaic, yaitu sensor yang dapat mengubah intensitas cahaya menjadi perubahan tegangan pada outputnya. Apabila solar cell menerima pancaran cahaya maka pada kedua terminal outputnya akan keluar tegangan DC sebesar 0,5 volt hingga 0,5 volt. Dalam aplikasinya solar cell lebih sering digunakan sebagai pembangkit listrik DC tenaga surya (matahari).

Jumlah energi yang begitu besar yang dihasilkan dari sinar matahari, membuat solar cell menjadi alternatif sumber energi masa depan yang sangat menjanjikan. Solar cell juga memiliki kelebihan menjadi sumber energi yang praktis mengingat tidak membutuhkan transmisi karena dapat dipasang secara modular di setiap lokasi yang membutuhkan.


(21)

Solar Panel merupakan modul yang terdiri beberapa solar cell yang digabung dalam hubungkan seri dan paralel tergantung ukuran dan kapasitas yang diperlukan. Yang sering digunakan adalah modul solar cell 20 watt atau 30 watt. Modul solar cell itu menghasilkan energi listrik yang proporsional dengan luas permukaan panel yang terkena sinar matahari.

2.2. Solar Charge Controller

Solar charge controller adalah komponen penting dalam Pembangkit

Listrik Tenaga Surya. Pada dasarny

mengatur voltage yang didapat dari panas matahari agar voltage yang masuk kedalam aki menjadi tidak berlebih. Beberapa fungsi dari solar charge controller

adalah (a) Mengatur arus untuk pengisian ke baterai, menghindari overcharging

dan overvoltage, (b) Mengatur arus yang dibebaskan/diambil dari baterai agar baterai tidak full discharge, dan overloading dan (c) Monitoring temperatur baterai.

Solar charge controller yang baik biasanya mempunyai kemampuan mendeteksi kapasitas baterai. Bila baterai sudah penuh terisi maka secara otomatis pengisian arus dari panel surya berhenti. Cara deteksi adalah melalui monitor level tegangan tertentu, kemudian apabila level tegangan turun maka baterai akan diisi kembali. Solar charge controller biasanya terdiri dari : 1 input (2 terminal) yang terhubung dengan output panel sel surya, 1 output (2 terminal) yang terhubung dengan baterai/aki dan 1 output (2 terminal yang terhubung dengan beban). Arus listrik DC yang berasal dari baterai tidak mungkin masuk ke panel


(22)

sel surya karena biasanya ada diode protection yang hanya dilewati arus listrik DC dari panel sel surya ke baterai, bukan sebaliknya.

Cara kerja solar charge controller antara lain: (a) Charging Mode Solar Charge Controller dan (b) Mode Operasi Solar Charge Controller.

1. Charging Mode Solar Charge Controller

Dalam charging mode, umumnya baterai diisi dengan metoda three stage charging:

a. Fase bulk : baterai akan di-charge sesuai dengan tegangan setup (bulk) antara 14,4 – 14,6 Volt) dan arus diambil secara maksimun dari panel surya. Pada saat baterai sudah pada tegangan setup (bulk) dimulailah fase

absorption.

b. Fase absorption : pada fase ini, tegangan baterai akan dijaga sesuai dengan tegangan bulk, sampai solar charge controller timer (umumnya satu jam) tercapai, arus yang dialirkan menurun sampai tercapai kapasitas dari baterai.

c. Fase float : baterai akan dijaga pada tegangan float setting (umumnya 13,4-13,7 Volt). Beban yang terhubung ke baterai dapat menggunakan arus maksimun dari panel surya pada stage ini.

2. Mode Operation Solar Charge Controller

Pada mode ini, baterai akan melayani beban. Apabila ada over-discharge

ataun over-load, maka baterai akan dilepaskan dari beban. Hal ini berguna untuk mencegah kerusakan dari baterai.


(23)

2.2.1. Mikrokontroler ATMega 8535

Mikrokontroler merupakan sebuah single chip yang didalamnya telah dilengkapi dengan CPU (Central Processing Unit), RAM (Random Access Memori), ROM (Read Only Memori), Input dan Output, Timer/Counter, Serial com port secara spesifik digunakan untuk aplikasi – aplikasi kontrol dan aplikasi serbaguna. Perangkat ini sering digunakan untuk kebutuhan kontrol tertentu seperti pada sebuah penggerak motor. Read Only Memori (ROM) yang isinya tidak berubah meskipun IC kehilangan catu daya. Memori penyimpanan program dinamakan sebagai memori program. Random Access Memori (RAM) isinya akan langsung hilang ketika IC kehilangan catudaya yang dipakai untuk menyimpan data pada saat program bekerja. RAM yang dipakai untuk menyimpan data ini disebut sebagai memori data.

Mikrokontroler biasanya dilengkapi dengan UART (Universal Asychronous Receiver Transmitter) yaitu port serial komunikasi serial asinkron, USART (Universal Syncrhronous and Asyncrhronous Serial Receiver and Transmitter) yaitu port yang digunakan untuk komunikasi serial sinkron dan asinkron yang kecepatannya 16 kali lebih cepat dari UART, SPI (Serial Port Interface), SCI (Serial Communication Interface), Bus RC (Intergrated circuit Bus) merupakan 2 jalur yang terdapat 8 bit, CAN (Control Area Network) merupakan standart pengkabelan SAE (Society of Automatic Engineers).

Mikrokontroler saat ini sudah dikenal dan digunakan secara luas pada dunia industri. Banyak sekali penelitian atau proyek mahasiswa yang menggunakan berbagai versi mikrokontroler yang dapat dibeli dengan harga yang relative murah. Mikrokontroler saat ini merupakan chip utama pada hamper setiap


(24)

peralatan elektronika canggih. Mikrokontroler AVR memiliki arsitektur RISC 8 bit, dimana semua instruksi dikemas dalam kode 16 bit (16 bit word) dan sebagian besar instruksi dieksekusi dalam satu siklus clock, berbeda dengan instruksi CS51 yang membutuhkan siklus 12 clock. AVR berteknologi RISC (Reduce Instruction Set Computing), sedangkan seri MCS51berteknologi CISC (Complex Instruction Set Computing). Secara umum, AVR dikelompokkan menjadi beberapa kelas, yaitu keluarga AT90Sxx, keluarga ATMega dan AT86RFxx. Pada dasarnya yang membedakan masing – masing kelas adalah memori, peripheral dan fungsinya. Dari segi arsitektur dan instruksi yang digunakan, mereka bias dikatakan hamper sama.

2.2.1.1. Fitur ATMega8535

Fitur-fitur yang dimiliki oleh mikrokontroler ATmega8535 adalah sebagai berikut:

1. Saluran I/O sebanyak 32 buah, yaitu port A, port B, port C, dan port D. 2. ADC internal sebanyak 8 saluran.

3. Tiga buah Timer/Counter dengan kemampuan pembandingan. 4. CPU yang terdiri atas 32 buah register.

5. SRAM sebesar 512 byte.

6. Memori Flash sebesar 8 kb dengan kemampuan Read While Write. 7. Port antarmuka SPI

8. EEPROM sebesar 512 byte yang dapat diprogram saat operasi. 9. Antarmuka komparator analog.


(25)

11.Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal 16 MHz.

2.2.1.2. Konfigurasi Pin ATMega 8535

Konfigurasi pin ATmega8535 dengan kemasan 40 pin DIP (Dual Inline Package) dapat dilihat pada gambar xxxxxx. Dari gambar di atas dapat dijelaskan fungsi dari masing-masing pin Atmega8535 sebagai berikut:

1. VCC merupakan pinyang berfungsi sebagai masukan catu daya. 2. GND merukan pin Ground.

3. PortA (PortA0…PortA7) merupakan pin input/outputdua arah dan pin masukan ADC.

4. PortB (PortB0…PortB7) merupakan pin input/outputdua arah dan dan pinfungsi khusus,

5. Port C (PortC0…PortC7) merupakan pin input/output dua arah dan pin fungsi khusus,

6. Port D (PortD0…PortD7) merupakan pin input/output dua arah dan pin fungsi khusus,

7. RESET merupakan pinyang digunakan untuk me-resetmikrokontroler. 8. XTAL1 dan XTAL2 merupakan pin masukan clockeksternal.

9. AVCC merupakan pinmasukan tegangan untuk ADC. 10.AREFF merupakan pinmasukan tegangan referensi ADC.


(26)

Gambar 2.1 Konfigurasi Pin ATmega8535 PDIP

Berikut ini penjelasan mengenai konfigurasi pin ATMega8535 sebagai berikut :

1. Port A

Pin33 sampai dengan pin 40 merupakan pin dari port A. Merupakan 8 bit directional port I/O. Setiap pin-nya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer port A dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port A (DDRA) harus di-setting terlebih dahulu sebelum port A digunakan. Bit-bit DDRA diisi 0 jika ingin memfungsikan pin-pin port A yang disesuaikan sebagai input, atau diisi 1 jika sebagai output.

2. Port B

Pin 1 sampai dengan pin 8 merupakan pin dari port B. Merupakan 8 bit directional port I/O. Setiap pin-nya dapat menyediakan internal pull-up


(27)

resistor (dapat diatur per bit). Output buffer port B dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port B (DDRB) harus di-setting terlebih dahulu sebelum port B digunakan. Bit-bit DDRB diisi 0 jika ingin memfungsikan pin-pin port B yang disesuaikan sebagai input, atau diisi 1 jika sebagai output. Selain itu, pin-pin port B juga memiliki fungsi-fungsi alternatif khusus seperti yang dapat dilihat dalam tabel:

Tabel 2.1 Penjelasan pin pada port B

Pin Keterangan

PB.7 SCK (SPI Bus Serial Clock)

PB.6 VISO (SPI Bus Master Input/Slave Output) PB.5 VOSI (SPI Bus Master Output/Slave Input) PB.4 SS (SPI Slave Select Input)

PB.3 AIN1 (Analog Comparator Negative Input)OCC (Timer/Counter0 Output Compare Match Output)

PB.2 AIN0 (Analog Comparator Positive Input)INT2 (External Interrupt2 Input)

PB.1 T1 (Timer/Counter1 External Counter Input)

PB.0 T0 (Timer/Counter0 External Counter Input)XCK (JSART External Clock Input/Output)

3. Port C

Pin 22 sampai dengan pin 29 merupakan pin dari port C. Port C sendiri merupakan port input atau output. Setiap pin-nya dapat menyediakan internal


(28)

pull-up resistor (dapat diatur per bit). Output buffer port C dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port C (DDRC) harus di-setting terlebih dahulu sebelum port C digunakan. Bit-bit DDRC diisi 0 jika ingin memfungsikan pin-pin port C yang disesuaikan sebagai input, atau diisi 1 jika sebagai output.

4. Port D

Pin 14 sampai dengan pin 20 merupakan pin dari port D. Merupakan 8 bit directional port I/O. Setiap pin-nya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer port D dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port D (DDRD) harus di-setting terlebih dahulu sebelum port D digunakan. Bit-bit DDRD diisi 0 jika ingin memfungsikan pin-pin port D yang disesuaikan sebagai input, atau diisi 1 jika sebagai output. Selain itu, pin-pin port D juga memiliki fungsi-fungsi alternatif khusus seperti yang dapat dilihat dalam tabel:

Tabel 2.2 Penjelasan pin pada port D

Pin Keterangan

PD.0 RDX (UART input line) PD.1 TDX (UART output line) PD.2 INT0 (external interrupt 0 input) PD.3 INT1 (external interrupt 1 input)

PD.4 OC1B (Timer/Counter1 output compareB match output) PD.5 OC1A (Timer/Counter1 output compareA match output) PD.6 ICP (Timer/Counter1 input capture pin)


(29)

PD.7 OC2 (Timer/Counter2 output compare match output)

2.2.1.3. Peta Memori ATMega 8535

ATMega8535 memiliki dua jenis memori yaitu Data Memori dan Program Memori ditambah satu fitur tambahan yaitu EEPROM Memori untuk penyimpan data.

1. Program Memori

ATMEGA 8535 memiliki On-Chip In-Sistem Reprogrammable Flash Memory untuk menyimpan program. Untuk alasan keamanan, program memori dibagi menjadi dua bagian, yaitu Boot Flash Section dan Application Flash Section. Boot Flash Section digunakan untuk menyimpan program Boot Loader, yaitu program yang harus dijalankan pada saat AVR reset atau pertama kali diaktifkan.

Application Flash Section digunakan untuk menyimpan program aplikasi yang dibuat user. AVR tidak dapat menjalakan program aplikasi ini sebelum menjalankan program Boot Loader. Besarnya memori Boot Flash Section dapat diprogram dari 128 word sampai 1024 word tergantung setting pada konfigurasi bit di register BOOTSZ. Jika Boot Loader diproteksi, maka program pada

Application Flash Section juga sudah aman.


(30)

2. Data Memori

Gambar berikut menunjukkan peta memori SRAM pada ATMEGA 8535. Terdapat 608 lokasi address data memori. 96 lokasi address digunakan untuk

Register File dan I/O Memori sementara 512 lokasi address lainnya digunakan untuk internal data SRAM. Register file terdiri dari 32 general purpose working register, I/O register terdiri dari 64 register.

Gambar 2.3 Peta Memori Data

3. EEPROM Data Memori

ATMEGA 8535 memiliki EEPROM 8 bit sebesar 512 byte untuk menyimpan data. Loaksinya terpisah dengan sistem address register, data register dan control register yang dibuat khusus untuk EEPROM. Alamat EEPROM dimulai dari $000 sampai $1FF.


(31)

2.2.1.4. Status Register (SREG) ATMega8535

Status register adalah register berisi status yang dihasilkan pada setiap operasi yang dilakukan ketika suatu instruksi dieksekusi. SREG merupakan bagian dari inti CPU mikrokontroler.

Gambar 2.5 Status Register ATMega 8535

1. Bit 7-I : Global Interrupt Enable

Bit harus diset untuk meng-enable interupsi. Setelah itu anda dapat mengaktifkan interupsi mana yang akan digunakan dengan cara meng-enable bit kontrol register yang bersangkutan secara individu. Bit akan di-clear apabila terjadi suatu interupsi yang dipicu oleh hardware, dan bit tidak akan mengizinkan terjadinya interupsi, serta akan diset kembali oleh instruksi RETI.

2. Bit 6-T : Bit Copy Storage

Instruksi BLD dan BST menggunakan bit-T sebagai sumber atau tujuan dalam operasi bit. Suatu bit dalam sebuah register GPR dapat disalin ke bit T menggunakan instruksi BTS, dan sebaliknya bit-T dapat disalin kembali ke suatu bit dalam register GPR menggunakan instruksi BDL.

3. Bit 5-H : half Carry Flag

4. Bit 4-S : Sigh Bit

Bit-S merupakan hasil operasi EOR antara Flag-N (negatif) dan flag V (komplemen dua overflow).


(32)

5. Bit 3-V : Two’s Complement Overflow Flag

Bit berguna untuk mendukung operasi aritmatika. 6. Bit 2-N : Negative Flag

Apabila suatu operasi menghasilkan bilangan negatif, maka flag-N akan di-set.

7. Bit 1-Z : Zero Flag

Bit akan di-set bila hasil operasi yang diperoleh adalah nol. 8. Bit 0-C : Carry Flag

Apabila suatu operasi menghasilkan carry, maka bit akan di-set.

Port I/O pada mikrokontroler ATMega8535 dapat difungsikan sebagai input ataupun dengan keluaran high atau low. Untuk mengatur fungsi port I/O sebagai input ataupun output perlu dilakukan setting pada DDR dan Port. Logika port I/O dapat berubah-ubah dalam program secara byte atau hanya bit tertentu. Mengubah sebuah keluaran bit I/O dapat dilakukan menggunakan perintah cbi (clear bit I/O) untuk menghasilkan output low atau perintah sbi (set bit I/O) untuk menghasilkan output high. Perubahan secara byte dilakukan dengan perintah in atau out yang menggunakan register bantu.

2.2.2. Sensor Arus ACS-712

ACS712 adalah Hall Effect current sensor. Hall effect allegro ACS712 merupakan sensor yang presisi sebagai sensor arus AC atau DC dalam pembacaan arus. Dimana wujud dari ACS-712 tersebut seperti gambar dibawah ini.


(33)

Gambar 2.6 Sensor Arus ACS712

Pada umumnya aplikasi sensor ini biasanya digunakan untuk mengontrol motor, deteksi beban listrik, switched-mode power supplies dan proteksi beban berlebih.

Sensor ini memiliki pembacaan dengan ketepatan yang tinggi, karena didalamnya terdapat rangkaian low-offset linear Hall dengan satu lintasan yang terbuat dari tembaga. Cara kerja sensor ini adalah arus yang dibaca mengalir melalui kabel tembaga yang terdapat didalamnya yang menghasilkan medan magnet yang di tangkap oleh integrated Hall IC dan diubah menjadi tegangan proporsional. Ketelitian dalam pembacaan sensor dioptimalkan dengan cara pemasangan komponen yang ada didalamnya antara penghantar yang menghasilkan medan magnet dengan hall transducer secara berdekatan. Persisnya, tegangan proporsional yang rendah akan menstabilkan Bi CMOS Hall IC yang didalamnya yang telah dibuat untuk ketelitian yang tinggi oleh pabrik.

Sensor ini memiliki beberapa fitur penting, yaitu : a. Jalur sinyal analog yang rendah noise

b. Bandwidth perangkat diatur melalui pin filter yang baru

c. Waktu naik keluaran 5 mikrodetik dalam menanggapi langkah masukan aktif


(34)

d. Bandwith 50 kHz

e. Total error keluaran 1,5% pada TA = 25° dan 4% pada -40° C sampai 85°C

f. Bentuk yang kecil, paket SOIC8 yang kompak. g. Resistansi internal 1.2 mΩ.

h. 2.1 kVRMS tegangan isolasi minimum dari pin 1-4 ke pin 5-8 i. Operasi catu daya tunggal 5.0 V

j. Sensitivitas keluaran 66-185 mV/A

k. Tegangan keluaran sebanding dengan arus AC atau DC l. Akurasi sudah diatur oleh pabrik

m. Tegangan offset yang sangat stabil

n. Histeresis magnetic hampir mendekati nol o. Keluaran ratiometric diambil dari sumber daya

2.2.3. LCD

LCD (liquid crystal display) merupakan suatu alat yang dapat menampilkan karakter ASCI sehingga kita bisa menampilkan campuran huruf dan angka sekaligus. LCD didalamnya terdapat sebuah mikroprosesor yang mengendalikan tampilan, kita hanya perlu membuat program untuk berkomunikasi.

Ukuran lcd ada berbagai macam seperti : a. lcd 16 x 2 ada 16 colom dan 2 baris b. lcd 16 x 4 ada 16 colom dan 4 baris


(35)

Gambar 2.7 LCD

Adapun konfigurasi dan deskripsi dari pin-pin LCD antara lain: a. VCC (Pin 1)

Merupakan sumber tegangan +5V. b. GND 0V (Pin 2)

Merupakan sambungan ground. c. VEE (Pin 3)

Merupakan input tegangan Kontras LCD. d. RS Register Select (Pin 4)

Merupakan Register pilihan 0 = Register Perintah, 1 = Register Data. e. R/W (Pin 5)

Merupakan read select, 1 = read, 0 = write. f. Enable Clock LCD (Pin 6)

Merupakan masukan logika 1 setiap kali pengiriman atau pembacaan data. g. D0 – D7 (Pin 7 – Pin 14)

Merupakan Data Bus 1 -7. h. Anoda ( Pin 15)


(36)

i. Katoda (Pin 16)

Merupakan masukan tegangan negatif backlight.

Display karakter pada LCD diatur oleh pin EN, RS dan RW. Jalur EN dinamakan Enable. Jalur ini digunakan untuk memberitahu LCD bahwa sebuah data sedang dikirimkan. Untuk mengirimkan data ke LCD, maka melalui program EN harus dibuat logika low “0” dan set pada dua jalur kontrol yang lain RS dan RW. Ketika dua jalur yang lain telah siap, set EN dengan logika “1” dan tunggu dan berikutnya di set.

2.2.4. Bahasa Pemograman Mikrokontroler

Pengembangan sebuah sistem menggunakan mikrokontroler AVR buatan ATMEL menggunakan software AVR STUDIO dan CodeVisionAVR. AVR STUDIO merupakan software yang digunakan untuk bahasa assembly yang mempunyai fungsi yang sangat lengkap, yaitu digunakan untuk menulis program, kompilasi, simulasi dan download program ke IC mikrokontroler AVR. Sedangkan CodeVisionAVR merupakan software C-cross Compiler, dimana program dapat ditulis dalam bahasa C, CodeVision memiliki IDE (Integrated Development Environment) yang lengkap, dimana penulisan program, compile, link, pembuatan kode mesin (assembler) dan download program ke chip AVR dapat dilakukan dengan CodeVision, selain itu ada fasilitas terminal, yaitu melakukan komunikasi serial dengan mikrokontroler yang sudah di program. Proses download program ke IC mikrokontroler AVR dapat menggunakan Sistem


(37)

programmable Flash on-Chip mengizinkan memori program untuk diprogram ulang dalam sistem menggunakan hubungan serial SPI.

2.2.5. Dasar Pemrograman ATMega8535 dengan Bahasa C 2.5.5.1. Pendahuluan

C adalah bahasa pemrograman yang dapat dikatakan berada antara bahasa tingkat rendah (bahasa yang berorientasi pada mesin) dan bahasa tingkat tinggi (bahasa yang berorientasi pada manusia). Seperti yang diketahui, bahasa tingkat tinggi mempunyai kompatibilitas antara platform. Karena itu, amat mudah untuk membuat program pada berbagai mesin. Berbeda halnya dengan menggunakan bahasa mesin, sebab setiap perintahnya sangat bergantung pada jenis mesin.

Pembuat bahasa C adalah Brian W. Kernighan dan Dennis M. Ritchie pada tahun 1972. C adalah bahasa pemrograman terstruktur, yang membagi program dalam bentuk blok. Tujuannya untuk memudahkan dalam pembuatan dan pengembangan program. Program yang ditulis dengan bahasa C mudah sekali dipindahkan dari satu jenis program ke bahasa program lain. Hal ini karena adanya standarisasi bahasa C yaitu berupa standar ANSI (American National Standart Institute) yang dijadikan acuan oleh para pembuat kompiler.

2.5.5.2. Pengenal Pada Bahasa C

Pengenal merupakan sebuah nama yang didefinisikan oleh program untuk menunjukkan sebuah konstanta, variabel, fungsi, label, atau tipe data khusus. Pemberian pengenal pada program harus memenuhi syarat-syarat di bawah ini:


(38)

b. Karakter kedua berupa huruf, angka, garis bawah,; c. Tidak menggunakan spasi;

d. Bersifat case sensitive, yaitu huruf kapital dan huruf kecil dianggap berbeda;

e. Tidak boleh menggunakan kata-kata yang merupakan sintaks atau operator dari bahasa C.

Contoh menggunakan pengenal yang diperbolehkan: 1. Nama

2. _nama 3. Nama2

4. Nama_pengenal

Contoh penggunaan pengenal yang tidak diperbolehkan: 1. 2nama

2. Nama+2 3. Nama pengenal

2.5.5.3. Tipe Data

Pemberian signed dan unsigned pada tipe data menyebabkan jangkauan dari tipe berubah. Pada unsigned menyebabkan tipe data akan selalu bernilai positif sedangkan signed menyebabkan nilai tipe data bernilai negatif dan memungkinkan data bernilai positif. Perbedaan nilai tipe data dapat kita lihat pada tabel di bawah ini.


(39)

Tabel 2.3 Tipe Data

Pemodifikasi Tipe Persamaan Jangkauan Nilai

Signed char Char -128 s/d 127

Signed int Int -32.768 s/d 32.767

Signed short int Short, signed short -32.768 s/d 32.767 Signed long int Long, long int, signed

long

-2.147.483.648 s/d 2.147.483.647

Unsigned char Tidak ada 0 s/d 255

Unsigned int Unsigned 0 s/d 65.535

Unsigned short int Unsigned short 0 s/d 65.535 Unsigned long int Unsigned long 0 s/d 4.294.967.295

Contoh program yang menunjukkan pengaruh signed dan unsigned pada hasil program,

#include <mega.8535> #include <delay.h>

Void main (void) {

int a, b; // pengenal unsigned d, e;

a = 50; b = 40;


(40)

e = 40;

PORTC = 0x00;

DDRC = 0Xff; //set PORTC sebagai output PORTB = 0x00;

DDRB = 0Xff; // set PORTB sebagai output

While(1) {

PORTB = a – b; PORTC = d – e; delay_ms(100); };

}

Program di atas akan memberikan data di PORTB = 10 (desimal) sedangkan PORTC = -10 (desimal) karena PORT mikrokontroler tidak dapat mengeluarkan nilai negatif maka PORTB dan PORTC akan memiliki keluaran 0x0A tapi pada kenyataannya PORTC lebih banyak memakan memori karena tanda negatif tersebut disimpan dalam memori.

Pada program di atas terdapat tulisan //set PORTB sebagai output yang berguna sebagai komentar yang mana komentar ini tidak mempengaruhi hasil dari program. Ada dua cara penulisan komentar pada pemrograman bahasa C, yaitu dengan mengawali komentar dengan tanda “ // “ ( untuk komentar yang hanya satu baris ) dan mengawali komentar dengan tanda “ /* “ dan mengakhiri komentar dengan tanda “ */ “.


(41)

Contoh:

// ini adalah komentar /* ini adalah komentar Yang lebih panjang Dan lebih panjang lagi */

2.5.5.4. Header

Header digunakan untuk menginstruksikan kompiler untuk menyisipkan file lain. Di dalam file header ini tersimpan deklarasi, fungsi, variable, dan jenis mikrokontroler yang kita gunakan (pada software Code Vision AVR). File-file yang ber akhiran .hdisebut file header.

File header yang digunakan untuk mendefinisikan jenis mikrokontroler yang digunakan berfungsi sebagai pengarah yang mana pendeklarasian register-register yang terdapat program difungsikan untuk jenis mikrokontroler apa yang digunakan ( pada software Code Vision AVR ).

Contoh:

#include <mega8535.h> #include<delay.h> #include <stdio. h>

2.5.5.5. Operator Aritmatika

Operator aritmatika digunakan untuk melakukan proses perhitungan matematika. Fungsi-fungsi matematika yang terdapat pada bahasa C dapat dilihat pada tabel di bawah ini.


(42)

Tabel 2.4 Operator Aritmatika Operator Keterangan

+ Operator untuk penjumlahan - Operator untuk pengurangan * Operator untuk perkalian

/ Operator untuk pembagian % Operator untuk sisa bagi

Contoh penggunaan operator aritmatika dapat dilihat di bawah ini. #include < mega8535.h>

#include <delay.h> void main (void) {

unsigned char a, b; a = 0x03;

b = 0x05;

DDRC 0XFF; // PORTC digunakan sebagai output while (1)

{

PORTC = (a * b); delay_ms(500); }


(43)

2.5.5.6. Operator Pembanding

Operator pembanding digunakan untuk membandingkan 2 data atau lebih. Hasil operator akan di jalankan jika pernyataan benar dan tidak dijalankan jika salah. Operator pembanding dapat kita lihat pada tabel di bawah ini.

Tabel 2.5 Operator Pembanding

Operator Contoh Keterangan

= = x = = y Benar jika kedua data bernilai sama != x != y Bernilai benar jika kedua data tidak sama

> x > y Bernilai benar jika nilai x lebih besar dari pada y < x < y Bernilai jika x lebih kecil dari y

>= x >= y Bernilai jika x lebih besar atau sama dengan y <= x <= y Bernilai benar jika x lebih kecil atau sama dengan y

2.5.5.7. Operator Logika

Operator logika digunakan untuk membentuk logika dari dua pernyataan atau lebih. Operator logika dapat dilihat pada tabel di bawah ini.

Tabel 2.6 Operator Logika Operator Keterangan && Logika AND | | Logika OR


(44)

Contoh program:

#include < mega8535.h> #include <delay.h> void main (void) {

DDRC = 0XFF; // sebagai output DDRA = 0X00; // sebagai input while (1)

{

If ( PINA.0 == 1 )|| (PINA.1 == 1 ){ PORTC = 0XFF;

delay_ms(500); PORTC = 0X00; Delay_ms(500); }

else{

PORTC = 0x00; delay_ms(500); }

} }

Penjelasan program:

Apabila PINA.0 atau PINA.1 diberi input logika 1 maka PORTC akan mengeluarkan logika 0xff kemudian logika 0x00 secara bergantian dengan selang waktu 0,5 s. dan apabila bukan PINA.1 atau PINA.0 diberi logika 1 maka PORTC akan mengeluarkan logika 0x00.


(45)

2.5.5.8. Operator Bitwise

Operator logika ini bekerja pada level bit. Perbedaan operator bitwise dengan operator logika adalah pada operator logika akan menghasilkan pernyataan benar atau salah sedangkan pada operator bitwise akan menghasilkan data biner. Operator bitwise dapat dilihat pada tabel di bawah ini.

Tabel 2.7 Operator Bitwise

Operator Keterangan & Operasi AND level bit

| Operasi OR level bit ^ Operasi XOR level bit ~ Operator NOT level bit >> Operator geser kanan << Operator geser kiri

Contoh program:

#include <mega8535.h> #include <delay.h>

void main (void) {

unsigned char a,b,c;

DDRC = 0xff; //portc sebagai output while (1)


(46)

a = 0x12; b = 0x34; c = a & b; PORTC = c; delay_ms(500); };

}

Penjelasan program:

a = 0x12 = 0001 0010

b = 0x32 = 0011 0000

--- a & b = 0x10 = 0001 0000

2.5.5.9. Operator Penugasan dan Operator Majemuk

Operator ini digunakan untuk memberikan nilai atau manipulasi data sebuah variabel. Operator penguasa dapat kita lihat pada tabel di bawah ini:

Tabel 2.8 Operator Penugasan Operator Keterangan

= Memberikan nilai variabel += Menambahkan nilai variabel - = Mengurangi nilai variabel *= Mengalikan nilai variabel /= Membagi nilai variable %= Memperoleh sisa bagi


(47)

Contoh:

a += 2 ; artinya nilai variabel a berubah menjadi a = a + 2 b *= 4; artinya nilai variabel b berubah menjadi b = b * 4

selain operator penugasan di atas juga ada operator penugasan yang berkaitan dengan operator bitwise seperti pada tabel di bawah ini:

Tabel 2.9 Operator Majemuk

Operator Contoh Arti

&= x &= 1 Variabel x di AND kan dengan 1 |= x |= 1 Variabel x di OR kan dengan 1 ~= x ~= 1 x = ~ (1) ; x = 0xFE

^= x ^= 1 Variabel x di XOR kan dengan 1 <<= x <<= 1 Variabel x digeser kiri 1 kali >>= x >>= 1 Variabel x digeser kanan 1 kali

2.5.5.10. Operator Penambahan dan Pengurangan

Operator ini digunakan untuk menaikkan atau menurunkan nilai suatu variabel dengan selisih 11. Operator ini dapat dilihat pada tabel di bawah ini.

Tabel 2.10 Operator Penambahan dan Pengurangan

Operator Keterangan

++ Penambahan 1 pada variable -- Pengurangan


(48)

Contoh:

a = 1; b = 2; a ++; b --;

Penjelasan:

Maka operator a++ akan mengubah variabel a dari satu menjadi 2, sedangkan operator B— akan mengubah variabel b dari 2 menjadi 1.

2.5.5.11. Pernyataan If dan If Bersarang

Pernyataan if digunakan untuk pengambilan keputusan terhadap 2 atau lebih pernyataan dengan menghasilkan pernyataan benar atau salah. Jika pernyataan benar maka akan di jalankan instruksi pada blok nya, sedangkan jika pernyataan tidak benar maka instruksi yang pada blok lain yang dijalankan ( sesuai dengan arah programnya).

Bentuk pernyataan IF adalah sebagai berikut: 1. Bentuk sederhana

if (kondisi){ Pernyataan_1; Pernyataan_2; ... }

2. Pernyataan else

if (kondisi) {

Pernyataan_1; ...; }


(49)

else {

Pernyataan_2; ...; }

3. If di dalam if

Pernyataan ini sering disebut nested if atau if bersarang. Salah satu bentuknya adalah sebagai berikut:

if (kondisi1)

Pernyataan_1; else if (kondisi2)

pernyataan_2; else if (kondisi3)

pernyataan_3; else

pernyataan; Contoh program:

if ( PINA.0 = =1) {

PORTC = 0xff; }

else {

PORTC = 0x00; }

Penjelasan program:

Jika PINA.0 diberi input logika 1 maka PORTC akan mengeluarkan logika 0xff, jika yang pernyataan yang lain maka PORTC akan mengeluarkan logika 0x00.


(50)

2.5.5.12. Pernyataan Switch

Pernyataan switch digunakan untuk melakukan pengambilan keputusan terhadap banyak kemungkinan. Bentuk pernyataan switch adalah sebagai berikut.

Switch (ekspresi)

{

case nilai_1 : pernyataa_1;break;

case nilai_2 : pernyataan_2;break;

case niai_3 : pernyataan_3;break;

Defaut : pernyataan_default;break;

}

Pada pernyataan switch, masing-masing pernyataan (pernyataan_1 sampai dengan pernyataan_default) dapat berupa satu atau beberapa perintah dan tidak perlu berupa blok pernyataan. Pernyataan_1 akan dikerjakan jika ekspresi bernilai sama dengan nilai_1, pernyataan_2 akan dikerjakan jika ekspresi bernilai sama dengan nilai_2, pernyataan_3 akan dikerjakan jika ekspresi bernilai sama dengan

nilai_3 dan seterusnya. Pernyataan_default bersifat opsional, artinya boeh dikerjakan apabila nilai ekspresi tidak ada yang sama satupun dengan salah satu

nilai_1, nilai_2, nilai_3 dan seterusnya. Setiap akhir dari pernyataan harus diakhiri dengan break, karena ini digunakan untuk keuar dari pernyataan swich. Contoh :

Switch (PINA) {


(51)

case 0xFD : PORT=0xFF;break; }

Pernyataan di atas berarti membaca port A, kemudian datanya (PINA)

akan dicocokan dengan nilai case. Jika PINA bernilai 0xFE maka data 0x00 akan dikeluarkan ke port C kemudian program keluar dari pernyataan switch tetapi jika

PINA bernilai 0xFD maka data 0xFF akan dikeluarkan ke port C kemudian program keluar dari pernyataan switch.

2.5.5.13. Pernyataan While

Pernyataan while digunakan untuk mengulangi sebuah pernyataan atau blok kenyataan secara terus menerus selama kondisi tertentu masih terpenuhi. Bentuk pernyataan while adalah sebagai berikut :

while (kondisi)

{

// sebuah pernyataan atau blok pernyataan }

Jika pernyataan yang akan diulang hanya berupa sebuah pernyataan saja maka tanda { dan } bisa dihilangkan.

Contoh :

unsigned char a=0;

…..

while (a<10) {


(52)

PORT=a; a++; }

Pernyataan di atas akan mengeluarkan data a ke port C secara berulang-ulang. Setiap kali pengulangan nilai a akan bertambah 1 dan setelah niai a mencapai 10 maka pengulangan selesai.

2.5.5.14. Pernyataan Do..While

Pernyataan do…while hamper sama dengan pernyataan while, yaitu pernyataan yang digunakan untuk menguangi sebuah pernyataan atau blok pernyataan secara terus menerus selama kondisi tertentu masih terpenuhi. Bentuk pernyataan while adalah sebagai berikut :

do {

// sebuah pernyataan atau b;ok pernyataan } while (kondisi).

Yang membedakan antara pernyataan while dengan do..while adalah bahwa pada pernyataan while pengetesan kondisi dilakukan terlebih dahulu, jika kondisi terpenuhi maka barulah blok pernyataan dikerjakan. Sebaliknya pada pernyataan do…while blok pernyataan dikerjakan terebih dahulu setelah itu baru diakukan pengetesan kondisi, jika kondisi terpenuhi maka dilakukan pengulangan pernyataan atau blok pernyataan lagi. Sehingga dengan demikian pada


(53)

pernyataaan do..while blok pernyataan pasti akan dikerjakan minimal satu kali sedangkan pada pernyataan while blok pernyataan beum tentu dikerjakan.

2.5.5.15. Pernyataan For

Pernyataan for juga digunakan untuk melakukan pengulangan sebuah pernyataan atau blok pernyataan, tetapi berapa kali jumah pengulangannya dapat ditentukan secara lebih spesifik. Bentuk pernyataan for adalah sebagai berikut :

for (nilai_awal ; kondisi ; perubahan)

{

// sebuah pernyataan atau blok pernyataan }

Nilai_awal adaah nilai inisial awal sebuah variabel yang didefenisikan

terlebih dahulu untuk menentukan nilai variabel pertama kali sebelum pengulangan.

Kondisi merupakan pernyataan pengetesan untuk mengontrol

pengulangan, jika pernyataan kondisi terpenuhi (benar) maka blok pernyataan akan diulang terus sampai pernyataan kondisi tidak terpenuhi (salah).

Perubahan adalah pernyataan yang digunakan untuk melakukan

perubahan nilai variabel baik naik maupun turun setiap kali pengulangan dilakukan.

Contoh :

unsigned int a;


(54)

{

PORT=a; }

Pertama kali nilai a adalah 1, kemudian data a dikeluarkan ke port C. selanjutnya data a dinaikkan (a++) jika kondisi a<10 masih terpenuhi maka data a akan terus dikeluarkan ke port C.

2.5.6. Software ATMega8535 Editor dan Simulator 2.5.6.1Software ATMega8535 Editor

Instruksi - instruksi yang merupakan bahasa C tersebut dituliskan pada sebuah editor, yaitu Code Vision AVR. Tampilannya seperti berikut ini:

Gambar 2.8 Tampilan Code Vision AVR

2.5.6.2 Software Downloader

Melakukan download program ke mikrokontroler dapat menggunakan ponyprog2000. Tampilannya seperti di bawah ini:


(55)

Gambar 2.9 Tampilan Ponyprog2000

2.5.6.3Software Desain PCB (Printed Circuit Board) Eagle 4.13r

Untuk mendesain PCB dapat digunakan software eagle 4.13r yang dapat di-download di internet secara gratis . Tampilan software eagle 4.13r dapat dilihat pada gambar 2.4 dibawah ini :


(56)

Cara menggunakan software ini terlebih dahulu yang dikerjakan adalah mendesain skematik rangkaian, setelah itu memindahkannya ke dalam bentuk board dan mendesain tata letak komponen sesuai keinginan tetapi harus sesuai jalur rangkaian nya agar rangkaian dapat berfungsi sesuai dengan skematiknya. Setelah itu didesain layout PCB nya , barulah siap di-print dan di-transfer ke PCB. Pada proses pentransferan layout ke PCB dapat digunakan kertas Transfer Paper.

2.5.7. Pembagi Tegangan (Voltage Divider)

Rangkaian pembagi tegangan biasanya digunakan untuk membuat suatu tegangan referensi dari sumber tegangan yang lebih besar, titik tegangan referensi pada sensor, untuk memberikan bias pada rangkaian penguat atau untuk memberi bias pada komponen aktif. Rangkaian pembagi tegangan pada dasarnya dapat dibuat dengan 2 buah resistor, contoh rangkaian dasar pembagi tegangan dengan output Vo dari tegangan sumber Vi menggunakan resistor pembagi tegangan R1 dan R2 seperti pada gambar berikut.


(57)

Dari rangkaian pembagi tegangan diatas dapat dirumuskan tegangan output Vo. Arus (I) mengalir pada R1 dan R2 sehingga nilai tegangan sumber VI adalah penjumlahan Vs dan Vo sehingga dapat dirumuskan sebagai berikut.

VI = VS + VO = i . R1 + i . R2

Nampak bahwa tegangan masukan terbagi menjadi dua bagian, masing-masing sebading dengan harga resistor yang dikenai tegangan tersebut. Sehingga besarnya Vo dapat dirumuskan sebagai berikut.

���

=

+

×

��

2.5.8. Relay

Relay adalah komponen elektronika berupa saklar elektronik yang digerakkan oleh arus listrik. Secara prinsip, relay merupakan tuas saklar dengan lilitan kawat pada batang besi (solenoid) di dekatnya. Ketika solenoid dialiri arus listrik, tuas akan tertarik karena adanya gaya magnet yang terjadi pada solenoid sehingga kontak saklar akan menutup. Pada saat arus dihentikan, gaya magnet akan hilang, tuas akan kembali ke posisi semula dan kontak saklar kembali terbuka.Relay biasanya digunakan untuk menggerakkan arus/tegangan yang besar (misalnya peralatan listrik 4 ampere AC 220 V) dengan memakai arus/tegangan yang kecil (misalnya 0.1 ampere 12 Volt DC). Dalam pemakaiannya biasanya relay yang digerakkan dengan arus DC dilengkapi dengan sebuah dioda yang di-paralel dengan lilitannya dan dipasang terbalik yaitu anoda pada tegangan (-) dan katoda pada tegangan (+). Ini bertujuan untuk mengantisipasi sentakan listrik yang terjadi pada saat relay berganti posisi dari on ke off agar tidak merusak komponen di sekitarnya.


(58)

Gambar 2.12 Relay

Penggunaan relay perlu memperhatikan tegangan pengontrolnya serta kekuatan relay men-switch arus/tegangan. Biasanya ukurannya tertera pada body relay. Misalnya relay 12VDC/4 A 220V, artinya tegangan yang diperlukan sebagai pengontrolnya adalah 12Volt DC dan mampu men-switch arus listrik (maksimal) sebesar 4 ampere pada tegangan 220 Volt. Sebaiknya relay difungsikan 80% saja dari kemampuan maksimalnya agar aman, lebih rendah lagi lebih aman. Relay jenis lain ada yang namanya reedswitch atau relay lidi. Relay

jenis ini berupa batang kontak terbuat dari besi pada tabung kaca kecil yang dililitin kawat. Pada saat lilitan kawat dialiri arus, kontak besi tersebut akan menjadi magnet dan saling menempel sehingga menjadi saklar yang on. Ketika arus pada lilitan dihentikan medan magnet hilang dan kontak kembali terbuka (off).

Kontak penghubung relay terdiri dari dua bagian, yaitu : a. Kontak NC (NormallyClose),

Kontak penghubung dalam kondisi menutup atau terhubung bila relay


(59)

tegangan yang mencukupi pada kumparannya maka kontak penghubung menjadi terbuka.

b. Kontak NO (Normally Open).

Kontak penghubung dalam kondisi terbuka bila relay tidak mendapat tegangan pada kumparannya. Tetapi bila diberi tegangan yang mencukupi pada kumparannya maka kontak penghubung menjadi tertutup.

2.2.7. Baterai Aki

Baterai atau aki, atau bisa juga accu adalah sebuah sel listrik dimana di dalamnya berlangsung proses elektrokimia yang reversibel (dapat berbalikan) dengan efisiensinya yang tinggi. Yang dimaksud dengan proses elektrokimia reversibel, adalah di dalam baterai dapat berlangsung proses pengubahan kimia menjadi tenaga listrik (proses pengosongan), dan sebaliknya dari tenaga listrik menjadi tenaga kimia, pengisian kembali dengan cara regenerasi dari elektroda-elektroda yang dipakai, yaitu dengan melewatkan arus listrik dalam arah (polaritas) yang berlawanan di dalam sel.

Baterai berfungsi untuk menyimpan energi listrik dalam bentuk energi kimia, yang akan digunakan untuk mensuplai (menyediakan) listik ke komponen - komponen kelistrikan lainnya.

Accu ini berisi air accu (cairan asam belerang / sulfuric acid). Pada accu basah, terdapat lubang dengan tutup yang dapat dibuka-tutup untuk menambah air accu. Air accu dapat berkurang saat accu digunakan. Hal ini terjadi karena reaksi kimia di dalam accu antara air accu dengan sel accu.


(60)

Gambar 2.13 Baterai Aki Basah

2.3. Inverter

listrik searah (DC) menjadi arus listrik bolak balik (AC). Inverter mengkonversi

DC dari perangkat seperti

Penggunaa untuk perangkat yang menggunakan AC (Alternating Current).

Rugi-rugi / loss yang terjadi pada

dalam bentuk panas. Effisiensi tertinggi dipegang oleh grid tie inverter yang diklaim bisa mencapai 95-97% bila beban outputnya hampir mendekati rated

bebannya. Sedangkan pada umumnya effisiensi inverter adalah berkisar 50-90% tergantung dari beban outputnya. Bila beban outputnya semakin mendekati beban kerja inverter yang tertera maka effisiensinya semakin besar, demikian pula sebaliknya. Modified sine wave inverter ataupun square wave inverter bila dipaksakan untuk beban-beban induktif maka effisiensinya akan jauh berkurang dibandingkan dengan true sine wave inverter. Perangkatnya akan menyedot daya 20% lebih besar dari yang seharusnya.


(61)

1. Fungsi inverter sebagai perubah tegangan Direct current menjadi

Alternating current.

2. Fungsi inverter sebagai penggerak motor.

Fungsi inverter sebagai perubah tegangan DC ke AC ada dua di pasaran yaitu 1. Inverter yang dilengkapi charger aki.

2. Inverter tanpa charger.

2.3.1. Transformator

Transformer atau trafo adalah kompone mengubah taraf suatu tegangan merupakan piranti yang menggunakan transformator step-down.

Transformator step-down

Gambar 2.14 Trafo

Transformator bekerja berdasarkan prinsi Tegangan masukan bolak-balik yang membentangi primer menimbulka


(62)

balik ini menginduksika semua daya pada lilitan primer akan dilimpahkan ke lilitan sekunder.

Hubungan Primer-Sekunder

Gambar 2.15 Hubungan Primer - Sekunder

Fluks pada transformator

Rumus untuk fluks magnet yang ditimbulkan lilitan primer adalah

dan rumus untuk GGL induksi yang terjadi di lilitan sekunder adalah . Karena kedua kumparan dihubungkan dengan fluks yang sama, maka

dimana dengan menyusun ulang persamaan akan didapat

sedemikian hingga . Dengan kata lain, hubungan antara tegangan primer dengan tegangan sekunder ditentukan oleh perbandingan jumlah lilitan primer dengan lilitan sekunder.


(63)

2.3.2. Transistor Mosfet IRFZ44

Transistor FET bekerja bergantung dari satu pembawa muatan, baik itu elektron atau hole. Karena hanya bergantung pada satu pembawa muatan saja, transistor ini disebut komponen unipolar. Transistor FET memiliki impedansi input (input impedance) yang sangat besar. Terutama jika digunakan sebagai switch karena resistansi dan disipasi dayanya yang kecil.

Ada dua jenis transistor FET yaitu JFET (junction FET) dan MOSFET (metal-oxide semiconductor FET). Pada dasarnya kedua jenis transistor memiliki prinsip kerja yang sama, namun tetap ada perbedaan yang mendasar pada struktur dan karakteristiknya.

Ada dua jenis MOSFET yaitu jenis depletion-mode dan jenis

enhancement-mode. Jenis MOSFET yang kedua adalah komponen utama dari gerbang logika dalam bentuk IC (integrated circuit), uC (micro controller) dan uP (micro processor) yang tidak lain adalah komponen utama dari komputer modern saat ini.

FET bentuk fisiknya seperti transistor. Fungsinya adalah untuk menaikkan tegangan atau menurunkan tegangan. FET memiliki tiga kaki juga yaitu :

a. Gate (G) adalah kaki input b. Drain (D) adalah kaki output c. Source (S) adalah kaki sumber

Fungsinya biasanya digunakan pada rangkaian power supply jenis switching untuk menghasilkan tegangan tinggi untuk menggerakkan trafo. Kakinya biasanya sudah pasti yaitu bila kita hadapkan FET ke arah kita maka urutan kakinya dari kiri ke kanan adalah GATE, DRAIN, SOURCE.


(64)

(65)

BAB III

PERANCANGAN SISTEM

3.1. Diagram Blok Sistem

ATMEGA 8535 SOLAR

PANEL TEGANGANPEMBAGI

Relay 1

Relay 2

LCD Sensor arus

baterai PEMBAGI

TEGANGAN

Load/inverter

Gambar 3.1 Diagram Blok Sistem

Penjelasan dari masing-masing blok adalah sebagai berikut:

a. Solar panel berfungsi sebagai sumber arus untuk pengisian pada baterai. b. Pembagi tegangan digunakan sebagai rangkaian untuk membagi tegangan


(66)

tegangan dari solar panel bernilai 21 volt, sedangkan fitur adc pada mikrokontroler hanya bisa dilalui oleh tegangan 5 volt.

c. Sensor arus ACS-712 digunakan untuk mendeteksi arus yang berasal dari solar panel ke baterai.

d. Baterai digunakan sebagai sumber tegangan dan untuk menghidupkan beban dan sistem.

e. Mikrokontroler ATMega8535 sebagai pengolah data dari inputan.

f. Relay digunakan sebagai pemutus dan penyambung arus dari solar panel ke baterai.

g. LCD digunakan untuk menampilkan hasil pengukuran dari solar panel dan baterai.

h. Load/Inverter digunakan sebagai beban dan mengubah arus dc dari baterai menjadi arus ac.


(67)

3.2. Rangkaian Mikrokontroler ATMega8535

Rangkaian sistem minimum mikrokontroler ATMEGA 8535 dapat dilihat pada gambar 3.2 di bawah ini :

Gambar 3.2 Rangkaian Sistem Minimum Mikrokontroler ATMEGA 8535

Dari gambar 3.2, Rangkaian tersebut berfungsi sebagai pusat kendali dari seluruh sistem yang ada. Komponen utama dari rangkaian ini adalah IC Mikrokontroler ATMega8535. Semua program diisikan pada memori dari IC ini sehingga rangkaian dapat berjalan sesuai dengan yang dikehendaki.


(68)

Pin 12 dan 13 dihubungkan ke XTAL 8 MHz dan dua buah kapasitor 30 pF. XTAL ini akan mempengaruhi kecepatan mikrokontroler ATMega8535 dalam mengeksekusi setiap perintah dalam program. Pin 9 merupakan masukan reset (aktif rendah). Pulsa transisi dari tinggi ke rendah akan me-reset mikrokontroler ini.

Untuk men-download file heksadesimal ke mikrokontroler, Mosi, Miso, Sck, Reset, Vcc dan Gnd dari kaki mikrokontroler dihubungkan ke RJ45. RJ45 sebagai konektor yang akan dihubungkan ke ISP Programmer. Dari ISP

Programmer inilah dihubungkan ke komputer melalui port paralel.

Kaki Mosi, Miso, Sck, Reset, Vcc dan Gnd pada mikrokontroler terletak pada kaki 6, 7, 8, 9, 10 dan 11. Apabila terjadi keterbalikan pemasangan jalur ke ISP Programmer, maka pemograman mikrokontroler tidak dapat dilakukan karena mikrokontroler tidak akan bisa merespon.

3.3. Perancangan Rangkaian LCD (Liquid Crystal Display)

Pada alat ini, display yang digunakan adalah LCD (Liquid Crystal Display) 16 x 2. Untuk blok ini tidak ada komponen tambahan karena mikrokontroler dapat memberi data langsung ke LCD, pada LCD Hitachi - M1632 sudah terdapat driver untuk mengubah data ASCII output mikrokontroler menjadi tampilan karakter. Pemasangan potensio sebesar 5 KΩ untuk mengatur kontras karakter yang tampil. Gambar 3.4 berikut merupakan gambar rangkaian LCD yang dihubungkan ke mikrokontroler.


(69)

Gambar 3.3 Rangkaian LCD

Dari gambar 3.3, rangkaian ini terhubung ke PB.0... PB.7, yang merupakan pin I/O dua arah dan pin fungsi khusus, yaitu sebagai Timer/Counter, komperator analog dan SPI mempunyai fungsi khusus sebagai pengiriman data secara serial. Sehingga nilai yang akan tampil pada LCD display akan dapat dikendalikan oleh Mikrokontroller ATMega8535

3.4. Perancangan Sensor Tegangan

Rangkaian sensor tegangan ditunjukkan pada Gambar 3.4

Gambar 3.4 Rangkaian Sensor Tegangan

Dari gambar 3.4, pendeteksian tegangan. Setelah melalui dioda (penyearah), beberapa filter dan pembagi tegangan, pembagi tegangan terdiri


(70)

dari dua resistor yang dipasang secara paralel. Fungsi resistor ini adalah untuk menurunkan tegangan dari tegangan sumber menjadi tegangan yang dikehendaki. Tegangan 12 DC diturunkan menjadi tegangan sekitar 5 VDC melalui rangkaian pembagi tegangan. Output rangkaian tegangan tersebut dimasukkan ke pin adc. Pembagi tegangan tersebut bisa dibuktikan dengan menggunakan persamaan sebagai berikut:

���

=

+

×

��

Dalam perhitungan Vin yang digunakan 12 volt dan Vout yang diharapkan adalah 5 volt, sehingga:

���

=

1+22

×

�� 5�

=

�2

�1+�2

× 12� 5 R1 + 5 R2 = 12 R2

5 R1 = 12 R2 – 5 R2

R1 =

7 5 R2

R1 = 1,4 R2

Maka R2 yang digunakan adalah 1 kΩ dan R1 adalah 1,4 kΩ.

Dalam perhitungan pada solar panel Vin yang digunakan 21 volt dan Vout yang diharapkan adalah 5 volt, sehingga:

���

=

1+22

×

�� 5�

=

�2

�1+�2

× 21� 5 R1 + 5 R2 = 21 R2


(71)

5 R1 = 21 R2 – 5 R2

R1 =

16

5 R2

R1 = 3,2 R2

Maka, R2 yang digunakan adalah 1 kΩ dan R1 adalah 3,2 kΩ.

3.5. Perancangan Sensor Arus

Pengukuran arus biasanya membutuhkan sebuah resistor shunt yaitu resistor yang dihubungkan secara seri pada beban dan mengubah aliran arus menjadi tegangan. Tegangan tersebut biasanya diumpankan ke current

transformer terlebih dahulu sebelum masuk ke rangkaian pengkondisi signal. Teknologi Hall effect yang diterapkan oleh Allegro menggantikan fungsi resistor shunt dan current transformer menjadi sebuah sensor dengan ukuran yang relatif jauh lebih kecil. Aliran arus listrik yang mengakibatkan medan magnet yang menginduksi bagian dynamic offset cancellation dari ACS712 ELC-5A. Bagian ini akan dikuatkan oleh amplifier dan melalui filter sebelum dikeluarkan melalui kaki 6 dan 7, modul tersebut membantu penggunaan untuk mempermudah instalasi arus ini ke dalam sistem.

Agar ouput sensor berupa tegangan AC tanpa komponen DC 2,5 volt, maka digunakan rangkaian yang baru setelah dilakukan beberapa percobaan. Menggunakan power supply yang dimodifikasi untuk menghasilkan tegangan ± 2,5 volt dan ground. Power supply menggunakan trafo CT yang dikontrol dengan transistor agar menghasilkan tegangan ± 2,5 volt dan ground. Dengan demikian maka tegangan input sensor VCC-GND tetap 5 volt dan output sensor hanya berupa tegangan AC tanpa komponen DC.


(72)

Gambar 3.5Rangkaian Aplikasi Sensor Arus ACS 712 ,5 Ampere

Dari gambar 3.5 rangkaian aplikasi IC ACS 712 diatas, didapatkan hasil output berupa tegangan AC tanpa komponen DC. Setiap perubahan 1 ampere arus input maka hasil output berupa tegangan AC akan berubah tiap 100 mV.

Tegangan AC hasil output sensor terlalu kecil, maka diperlukan penguatan agar hasil output sensor menjadi lebih besar. Rangkaian penguatan berupa Op- Amp LM321. output C 0,1uf a1 1 a2 2 3 a3 4 a4 b1 b2 b3 b4 5 6 7 8 AC IP+ IP-IP+ VCC VOUT FILTER GND ACS712 +5V CBYP 0,1uf R1 100K R2 100K + -Rf 1K Cf 0,01uf 1 2 3 4 5 R3 3,3K

Gambar 3.6Konfigurasi Pin LM321 dan Rangkaian Inverting Amplifier

Gambar 3.6 menunjukkan rangkaian sensor arus ACS 712 dengan keluaran 5 ampere lengkap dengan rangkaian inverting amplifier. Karena sinyal


(73)

tegangan output dari IC ACS712 5 Ampere inverting maka menggunakan rangkaian inverting amplifier dengan gain 3 kali. Maka dalam perhitungan Rf dan R3 sebagai berikut:

���

= (

3

)

×

��

Jika penguatan (gain) sebesar 3 kali maka:

���

��

= 3

Sehingga

3

=

���

�� �� �3

= 3

= 3

3

Ditetapkan terlebih dahulu � = 1� maka �3 = 3 × 1000

3.6. Perancangan Inverter

Rangkaian di bawah adalah inverter sederhana dengan pembangkit gelombang IC 4047 dengan diperkuat oleh transistor mosfet IRFz44. Pada rangkaian ini juga di lengkapi power indicator dan fault indicator. Kemudian dioda 6A pada input 12v digunakan untuk mencegah kerusakan saat pemasangan input terhadap aki terbalik. Fungsi fault indicator adalah mengindikasikan bahwa pemasangan input terbalik ( + dipasangkan dan - sebaliknya ).

Untuk penaik tegangan digunakan trafo CT 12 - 230 ( 220v juga boleh, dianjurkan 230v ) kemudian untuk memperhalus keluaran AC di sisipkan paralel


(74)

sebuah kapasitor 220nF 2000V. Untuk trafo yang digunakan trafo CT 3A, tetapi semakin tinggi daya trafo semakin baik.


(75)

3.7. Flow Chart Program Mulai Inisialisasi program Baca Vpanel,Vbaterai ya Selesai Vpanel>Vbaterai? Aktifkan relay charging Vpanel<Vbaterai? ya Vbaterai<set High baterai? Nonaktifkan relay charging Vbaterai>set low baterai? ya tidak tidak ya aktifkan relay beban nonaktifkan relay beban Tidak

3.8Gambar Diagram Alir (Flowchart)

Program dimulai dari start dan dilanjutkan dengan inisialisasi untuk memetakan memori dan port – port yang akan digunakan untuk keperluan pembacaan sensor dan port – port untuk menampilkan ke LCD.

Selanjutnya mikrokontroler akan membaca tegangan pada solar panel dan baterai. Mikrokontroler akan membandingkan apakah tegangan solar panel lebih besar daripada tegangan baterai.

Jika tegangan solar panel lebih besar daripada tegangan baterai, maka mikrokontroler akan membandingkan apakah tegangan baterai lebih kecil


(76)

daripada tegangan baterai maksimum. Jika tegangan baterai lebih kecil daripada tegangan baterai maksimum, maka relay pengecasan akan diaktifkan dan jika tidak lebih lebih kecil, maka relay pengecasan akan dinonaktifkan.

Kemudian jika tegangan panel tidak lebih besar daripada tegangan baterai, maka mikrokontroler akan memeriksa kembali untuk membandingkan apakah tegangan panel lebih kecil daripada tegangan baterai. Jika ya, maka mikrokontroler akan membandingkan apakah tegangan baterai lebih besar daripada tegangan baterai minimum.

Jika tegangan baterai lebih besar daripada tegangan baterai minimum, maka relay beban diaktifkan. Kemudian, jika tegangan baterai tidak lebih besar daripada tegangan baterai minimum, maka relay beban akan dinonaktifkan.

Setelah itu, sistem akan memeriksa kembali tegangan pada solar panel dan baterai.


(77)

BAB IV

PENGUJIAN RANGKAIAN

4.1. Pengujian Rangkaian Mikrokontroler ATMega8535

Pengujian pada rangkaian mikrokontroler ATMega8535 ini dapat dilakukan dengan menghubungkan rangkaian ini dengan rangkaian power supply

sebagai sumber tegangan. Kaki 10 dihubungkan dengan sumber tegangan 5 volt, sedangkan kaki 11 dihubungkan dengan ground. Kemudian tegangan pada kaki 10 diukur dengan menggunakan Voltmeter. Dari hasil pengujian didapatkan tegangan pada kaki 10 sebesar 4,9 volt. Langkah selanjutnya adalah memberikan program sederhana pada mikrokontroler ATMega 8535, program yang diberikan adalah sebagai berikut:

#include <mega8535.h> #include <delay.h> #include <stdio.h>

while (1) {

// Place your code here while ( ir == 1) {}; while ( ir == 0) {

delay_us(100); count ++;


(78)

4.2. Pengujian Rangkaian Liquid Crystal Display (LCD) 2x16

Pengetesan ini bertujuan untuk mengetahui apakah LCD tersebut dapat menampilkan pesan-pesan sesuai dengan proses yang diharapkan. Listing program pengetesan LCD :

lcd_gotoxy(0,0); lcd_putsf(“kety"); lcd_gotoxy(1,1); lcd_putsf("Devy"); Analisa Pengujian LCD :

Setelah program pengujian LCD didownload ke modul, maka pada layar LCD akan menghasilkan tampilan sebagai berikut :

Pada baris 1 tampil ‘ kety ‘ dan

baris 2 tampil ‘ Devy ’

4.3. Pengujian Sensor Tegangan

Sensor tegangan menggunakan 1 buah dioda untuk mencegah tegangan balik dari baterai ke solar panel.

Resistor yang digunakan dari baterai aki adalah R1 = 1,4kΩ dan R2 = 1kΩ dengan membagi tegangan sumber agar dapat dibaca oleh adc. Berdasarkan sistem pembagian tegangan dapat dibuktikan dengan menggunakan persamaan sebagai berikut:

Vout = �2 �1+�2

×

��

= 1�Ω

1,4�Ω+1�Ω

×

12V

= 1

2,4 × 12�


(79)

Berikut adalah hasil pengujiannya:

Tabel 4.1. Pengujian Sensor Tegangan pada Solar Panel dengan Baterai Aki

Waktu (Menit) Vo Baterai (Volt) Tampilan LCD (Volt) Vd Teori (Volt) Vd Praktek (Volt) %Ralat Vd

0 9,79 9,20 3,91 3,88 0,76%

5 9,73 9,20 3,89 3,86 0,77%

10 9,54 9,19 3,81 3,76 1,31%

15 10,11 9,64 4,04 4,06 0,49%

20 10,11 9,70 4,04 4,06 0,49%

25 10,12 9,64 4,05 4,06 0,24%

30 10,12 9,66 4,05 4,06 0,24%

35 10,15 9,72 4,06 4,07 0,24%

40 10,13 9,75 4,05 4,06 0,24%

45 10,11 9,70 4,04 4,06 0,49%

50 10,08 9,68 4,03 4,04 0,25%

55 10,09 9,71 4,03 4,04 0,25%

60 10,18 9,70 4,07 4,08 0,24%

65 10,25 9,70 4,10 4,12 0,48%

70 10,29 9,68 4,11 4,12 0,24%

75 10,33 9,73 4,13 4,15 0,48%

80 10,28 9,69 4,11 4,14 0,73%

85 10,35 9,67 4,14 4,16 0,48%


(80)

Tabel 4.1 menunjukkan hasil pengujian sensor tegangan. Tegangan Vout setara dengan Vin/tegangan dari baterai apabila tegangan baterai mengalami penurunan maka tegangan Vout juga akan mengalami penurunan.

Grafik Vo Baterai vs Vd Baterai Praktek

Dari grafik diatas menunjukkan bahwa Vd baterai praktek berbanding lurus dengan tegangan keluaran (Vo) baterai. Apabila tegangan keluaran baterai meningkat, maka Vd baterai akan meningkat. Sebaliknya, ketika tegangan keluaran baterai menurun, maka Vd baterai akan menurun.

Resistor yang digunakan dari solar panel adalah R1 = 3,2kΩ d an R2 = 1kΩ dengan membagi tegangan sumber agar dapat dibaca oleh adc. Berdasarkan sistem pembagian tegangan dapat dibuktikan dengan menggunakan persamaan sebagai berikut:

Vout

=

�2 �1+�2

×

�� 3,5 3,6 3,7 3,8 3,9 4 4,1 4,2 4,3 V d B a ter a i P ra k tek


(81)

= 1�Ω

3,2�Ω+1�Ω

×

21V

= 1

3.2× 21�

= 5 V

Berikut adalah hasil pengujiannya:

Tabel 4.2. Pengujian Sensor Tegangan pada Solar Panel

Waktu (Menit) Vo Solar (Volt) Tampilan LCD (Volt) Vd Teori (Volt) Vd Praktek (Volt) %Ralat Vd

0 10,37 10,43 2.41 2,47 2,48%

5 10,34 10,36 2,40 2,40 0%

10 10,09 10,15 2,35 2,34 0,42%

15 10,94 11,00 2,54 2,54 0%

20 10,93 11,00 2,54 2,53 0,39%

25 10,96 11,01 2,55 2,54 0,39%

30 10,98 11,03 2,55 2,54 0,39%

35 10,99 11,06 2,56 2,54 0,78%

40 10,97 11,05 2,55 2,54 0,39%

45 10,96 11,02 2,55 2,53 0,78%

50 10,91 11,00 2,54 2,53 0,39%

55 10,92 11,00 2,54 2,53 0,39%

60 11,00 11,05 2,56 2,55 0,39%

65 11,10 11,14 2,58 2,56 12,01%


(82)

75 11,18 11,24 2,60 2,59 0,38%

80 11,16 11,24 2,56 2,58 0,78%

85 11,20 11,25 2,60 2,59 0,38%

90 11,25 11,27 2,61 2,60 0,38%

Tabel 4.2 menunjukkan hasil pengujian sensor tegangan. Tegangan Vout setara dengan Vin/tegangan dari solar panel apabila tegangan solar panel mengalami penurunan maka tegangan Vout juga akan mengalami penurunan.

Grafik Vo Solar vs Vd Solar Praktek

Dari grafik diatas menunjukkan bahwa Vd solar praktek berbanding lurus dengan tegangan keluaran (Vo) solar. Apabila tegangan keluaran solar meningkat, maka Vd solar akan meningkat. Sebaliknya, ketika tegangan keluaran solar menurun, maka Vd solar akan menurun.

2,2 2,25 2,3 2,35 2,4 2,45 2,5 2,55 2,6 2,65 10, 37 10, 34 10, 09 10, 94 10, 93 10, 96 10, 98 10, 99 10, 97 10, 96 10, 91 10, 92 11 11, 1 11, 15 11, 18 11, 16 11, 2 11, 25 V d S o la r P ra kte k ( V o lt)


(1)

arus=0; solar=0; baterai=0; arustotal=0; solartotal=0; bateraitotal=0; // Place your code here

for (x=0; x<50; x++) {

temp_arus = adc_data[0]; temp_solar= adc_data[2]; temp_baterai=adc_data[1]; arustotal=arustotal+temp_arus; solartotal=solartotal+temp_solar; bateraitotal=bateraitotal+temp_baterai;

delay_ms(10); // 50 x 10 mS = 500 mS = 0.5 detik } mean_arus=arustotal/50; mean_solar=solartotal/50; mean_baterai=bateraitotal/50; arus=((mean_arus*0.00488)/2)/10; solar=(mean_solar*0.00488)*4.3; baterai=((mean_baterai*0.00488)*4); sprintf(buff,"I:%.2f A",arus); lcd_gotoxy(0,0); lcd_puts(buff); sprintf(buff1,"V:%.2f V",solar);


(2)

lcd_gotoxy(8,0); lcd_puts(buff1);

sprintf(buff2,"batt:%.2f V",baterai); lcd_gotoxy(0,1);

lcd_puts(buff2);

if(baterai<maks_bat & solar>baterai){PORTC.7=0; delay_ms(200);PORTC.6=1;} if (baterai>=maks_bat) {PORTC.6=0;delay_ms(200); PORTC.7=0;}

if (solar<baterai & baterai>low_bat) {PORTC.6=0;delay_ms(200);PORTC.7=1;} if (baterai<=low_bat) {PORTC.7=0;}

} }


(3)

BAB V PENUTUP

5.1. Kesimpulan

Setelah dilakukan pengujian hasil perancangan solar charge controller dan inverter , dapat diambil beberapa kesimpulan:

Solar charge controller dapat mengisi tegangan pada baterai aki yang bersumber dari solar panel kurang lebih 12V.

Solar charge controller secara otomatis tidak akan berjalan (off) ketika tegangan yang ada pada solar panel kurang dari tegangan pada baterai aki.

Inverter sudah mampu mengubah tegangan DC menjadi AC. Inputan masuk ke inverter berupa tegangan DC 12 volt dengan beban lampu 3 W, 5W, 8W.

5.2. Saran

Beberapa tambahan yang diperlukan dalam meningkatkan kemampuan alat ini adalah:

Solar charge controller tidak didesain untuk mengisi baterai aki secara 2 tahap maka bisa dikembangkan sehingga mampu untuk melakukan pengisian secara 3 tahap yaitu: fase bulk, fase absorption, dan fase float.


(4)

DAFTAR PUSTAKA

Andi, Nalwan Paulus.2004.Panduan Praktis Penggunaan dan Antarmuka Modul LCD M1632.Jakarta:PT.Alex Media Komputindo.

Elektur.1996.302 Rangkaian Elektronika.Penerjemahan P.Pratomo dkk.Jakarta: Percetakan PT Gramedia.

Lingga, W. 2006. Belajar Sendiri Pemrograman AVR ATMega8535. Yogyakarta: Andi Offset.

Heryanto, M.Ary dan Wisnu, Adi.2008.Pemrograman untuk Mikrokontroler ATMEGA 8535.Yogyakarta: Andi.


(5)

(6)