Solar Panel Rangkaian Mikrokontroler ATMega8535

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. Universitas Sumatera Utara 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 dasarnya fungsi dari charge controller adalah 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 dibebaskandiambil 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 bateraiaki dan 1 output 2 terminal yang terhubung dengan beban. Arus listrik DC yang berasal dari baterai tidak mungkin masuk ke panel Universitas Sumatera Utara 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. Universitas Sumatera Utara

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, TimerCounter, 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 Universitas Sumatera Utara 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 IO sebanyak 32 buah, yaitu port A, port B, port C, dan port D. 2. ADC internal sebanyak 8 saluran. 3. Tiga buah TimerCounter 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. 10. Port USART untuk komunikasi serial. Universitas Sumatera Utara 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 pin yang berfungsi sebagai masukan catu daya. 2. GND merukan pin Ground. 3. Port A PortA0…PortA7 merupakan pin inputoutput dua arah dan pin masukan ADC. 4. Port B PortB0…PortB7 merupakan pin inputoutput dua arah dan dan pin fungsi khusus, 5. Port C PortC0…PortC7 merupakan pin inputoutput dua arah dan pin fungsi khusus, 6. Port D PortD0…PortD7 merupakan pin inputoutput dua arah dan pin fungsi khusus, 7. RESET merupakan pin yang digunakan untuk me-reset mikrokontroler. 8. XTAL1 dan XTAL2 merupakan pin masukan clock eksternal. 9. AVCC merupakan pin masukan tegangan untuk ADC. 10. AREFF merupakan pin masukan tegangan referensi ADC. Universitas Sumatera Utara 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 IO. 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 IO. Setiap pin-nya dapat menyediakan internal pull-up Universitas Sumatera Utara 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 InputSlave Output PB.5 VOSI SPI Bus Master OutputSlave Input PB.4 SS SPI Slave Select Input PB.3 AIN1 Analog Comparator Negative InputOCC TimerCounter0 Output Compare Match Output PB.2 AIN0 Analog Comparator Positive InputINT2 External Interrupt2 Input PB.1 T1 TimerCounter1 External Counter Input PB.0 T0 TimerCounter0 External Counter InputXCK JSART External Clock InputOutput 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 Universitas Sumatera Utara 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 IO. 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 TimerCounter1 output compareB match output PD.5 OC1A TimerCounter1 output compareA match output PD.6 ICP TimerCounter1 input capture pin Universitas Sumatera Utara PD.7 OC2 TimerCounter2 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. Gambar 2.2 Peta Memori Program Universitas Sumatera Utara

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 IO Memori sementara 512 lokasi address lainnya digunakan untuk internal data SRAM. Register file terdiri dari 32 general purpose working register , IO 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. Gambar 2.4 EEPROM Data Memori Universitas Sumatera Utara

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. Universitas Sumatera Utara 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 IO pada mikrokontroler ATMega8535 dapat difungsikan sebagai input ataupun dengan keluaran high atau low. Untuk mengatur fungsi port IO sebagai input ataupun output perlu dilakukan setting pada DDR dan Port. Logika port IO dapat berubah-ubah dalam program secara byte atau hanya bit tertentu. Mengubah sebuah keluaran bit IO dapat dilakukan menggunakan perintah cbi clear bit IO untuk menghasilkan output low atau perintah sbi set bit IO 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. Universitas Sumatera Utara 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 Universitas Sumatera Utara 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 mVA 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 Universitas Sumatera Utara 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. RW 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 Merupakan masukan tegangan positif backlight. Universitas Sumatera Utara 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 Universitas Sumatera Utara 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: a. Karakter pertama tidak menggunakan angka; Universitas Sumatera Utara 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. Universitas Sumatera Utara Tabel 2.3 Tipe Data Pemodifikasi Tipe Persamaan Jangkauan Nilai Signed char Char -128 sd 127 Signed int Int -32.768 sd 32.767 Signed short int Short, signed short -32.768 sd 32.767 Signed long int Long, long int, signed long -2.147.483.648 sd 2.147.483.647 Unsigned char Tidak ada 0 sd 255 Unsigned int Unsigned 0 sd 65.535 Unsigned short int Unsigned short 0 sd 65.535 Unsigned long int Unsigned long 0 sd 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; d = 50; Universitas Sumatera Utara e = 40; PORTC = 0x00; DDRC = 0Xff; set PORTC sebagai output PORTB = 0x00; DDRB = 0Xff; set PORTB sebagai output While1 { PORTB = a – b; PORTC = d – e; delay_ms100; }; } 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 “ “. Universitas Sumatera Utara 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 .h disebut 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 includedelay.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. Universitas Sumatera Utara 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_ms500; } } Universitas Sumatera Utara

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 Logika NOT Universitas Sumatera Utara 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_ms500; PORTC = 0X00; Delay_ms500; } else{ PORTC = 0x00; delay_ms500; } } } 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. Universitas Sumatera Utara

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 { Universitas Sumatera Utara a = 0x12; b = 0x34; c = a b; PORTC = c; delay_ms500; }; } 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 Universitas Sumatera Utara 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 Universitas Sumatera Utara 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; ............; } Universitas Sumatera Utara 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. Universitas Sumatera Utara

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 { case 0xFE : PORT=0x00;break; Universitas Sumatera Utara 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 a10 { Universitas Sumatera Utara 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 Universitas Sumatera Utara 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; for a=1, a10, a++ Universitas Sumatera Utara { PORT=a; } Pertama kali nilai a adalah 1, kemudian data a dikeluarkan ke port C. selanjutnya data a dinaikkan a++ jika kondisi a10 masih terpenuhi maka data a akan terus dikeluarkan ke port C. 2.5.6. Software ATMega8535 Editor dan Simulator 2.5.6.1 Software 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: Universitas Sumatera Utara Gambar 2.9 Tampilan Ponyprog2000

2.5.6.3 Software 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 : Gambar 2.10 Tampilan software Eagle 4.13r Universitas Sumatera Utara 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. Gambar 2.11 Rangkaian Pembagi Tegangan Universitas Sumatera Utara 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. V I = V S + V O = i . R 1 + i . R 2 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 arustegangan yang besar misalnya peralatan listrik 4 ampere AC 220 V dengan memakai arustegangan 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. Universitas Sumatera Utara Gambar 2.12 Relay Penggunaan relay perlu memperhatikan tegangan pengontrolnya serta kekuatan relay men-switch arustegangan. Biasanya ukurannya tertera pada body relay. Misalnya relay 12VDC4 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 Normally Close, Kontak penghubung dalam kondisi menutup atau terhubung bila relay tidak mendapat masukan tegangan pada kumparannya. Tetapi bila diberi Universitas Sumatera Utara 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. Universitas Sumatera Utara Gambar 2.13 Baterai Aki Basah

2.3. Inverter

Inverter adalah perangkat elektrik yang digunakan untuk mengubah arus listrik searah DC menjadi arus listrik bolak balik AC. Inverter mengkonversi DC dari perangkat seperti batere, panel surya solar cell menjadi AC. Penggunaan inverter dari dalam Pembangkit Listrik Tenaga Surya PLTS adalah untuk perangkat yang menggunakan AC Alternating Current. Rugi-rugi loss yang terjadi pada inverter biasanya berupa dissipasi daya 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. Pada dasarnya fungsi inverter terbagi dua : Universitas Sumatera Utara 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 komponen elektromagnet yang dapat mengubah taraf suatu tegangan AC ke taraf yang lain. Adaptor AC-DC merupakan piranti yang menggunakan transformator step-down. Transformator step-down Gambar 2.14 Trafo Transformator bekerja berdasarkan prinsip induksi elektromagnetik. Tegangan masukan bolak-balik yang membentangi primer menimbulkan fluks magnet yang idealnya semua bersambung dengan lilitan sekunder. Fluks bolak- Universitas Sumatera Utara balik ini menginduksikan GGL dalam lilitan sekunder. Jika efisiensi sempurna, 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. transformator step-up transformator step-down Universitas Sumatera Utara

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. Universitas Sumatera Utara Gambar 2.16 IRFz44 Universitas Sumatera Utara

BAB III PERANCANGAN SISTEM

3.1. Diagram Blok Sistem ATMEGA 8535 SOLAR PANEL PEMBAGI TEGANGAN Relay 1 Relay 2 LCD Sensor arus baterai PEMBAGI TEGANGAN Loadinverter 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 dari solar panel agar bisa dibaca oleh Mikrokontroler Atmega8535, karena Universitas Sumatera Utara 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. LoadInverter digunakan sebagai beban dan mengubah arus dc dari baterai menjadi arus ac. Universitas Sumatera Utara

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. Universitas Sumatera Utara 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