Bab 1 Sampai 3 Lengkap

Embed Size (px)

DESCRIPTION

Elektro

Citation preview

1

1

BAB IPENDAHULUAN

1.1 Latar Belakang MasalahTingginya konsumsi dari penggunaan bahan bakar berbasis fosil dapat berdampak pada habisnya sumber daya tersebut suatu saat nanti, belum lagi energi fosil membutuhkan waktu yang sangat lama untuk proses terbentuknya, dan membutuhkan biaya yang sangat besar untuk melakukan proses produksinya. Untuk itu perlu adanya pengembangan energi baru dan terbarukan sebagai sumber energi alternatif. Dan sekarang sudah banyak di ciptakan peralatan peralatan canggih untuk memenuhi kelengkapan akan kebutuhan masyarakat pada umumnya. Akan tetapi peralatan yang sekarang banyak beredaran di pasaran masih kurang efesien, di karenakan di dalam penggunaan nya masih menggunakan sumber energi yang tidak dapat di perbaharui seperti BBM dan GAS. Dan penggunaan nya juga masih analog ( Manual ).Berdasarkan permasalahan tersebut kami ingin mengembangkan sebuah peralatan dapur yang lebih efesien dan lebih hemat energi. Dalam hal ini kami memilih kompor. Kompor tersebut nantinya akan kami rancang menjadi lebih modern ( Digital ) yaitu pada kompor tersebut akan di lengkapi LCD dengan ukuran 16 x 2 untuk memudahkan di dalam penggunaan nya. Dalam hal ini kami mencoba membuat sebuah inovasi yaitu PENGEMBANGAN KOMPOR LISTRIK DENGAN SOLAR PANEL SEBAGAI ALTERNATIF PENGGANTI KOMPOR GAS BERBASIS MIKROKONTROLER ATMEGA 32 untuk menggantikan penggunaan dari kompor yang menggunakan bahan bakar fosil ( BBM / LPG ) yang umumnya digunakan untuk kompor dalam kebutuhan rumah tangga sehari- hari.

1.2 Perumusan MasalahPembuatan tugas akhir ini dimaksudkan untuk : a. Bagaimana cara merancang program untuk membuat kompor tersebut dapat off otomatis.b. Bagaimana cara membuat program untuk menampilkan timer, suhu, dan sisa daya penggunaan batere pada lcd.1.3 Tujuan Pembuatan alat ini memiliki tujuan yaitu: a. Mengetahui cara kinerja dari mikrokontroler ATmega 32.b. Mengetahui kegunaan dari pemograman mikrokontroler. 1.4 Batasan MasalahAdapun batasan masalah nya adalah : Settingan nya tidak bisa di reset seperti semula, jadi harus ganti peralatan nya langsung.1.5 ManfaatHasil dari pembuatan tugas ini diharapkan dapat memberikan manfaat diantaranya : a. Untuk mempermudah masyarakat di dalam penggunaan dari kompor tersebut.b. Untuk membuat masyarakat mengetahui kinerja dari kompor digital.c. Sebagai peralihan di dalam pemakaian kompor manual ke kompor digital.

BAB IITINJAUAN PUSTAKA

2.1 Kajian PustakaPada tahun 2013, Mahasiswa Universitas Muahammadyah Jakarta Jurusan Teknik Elektro yang bernama Rezimi Fandri telah merancang Kompor Listrik Berbasis Solar Panel Sebagai Alternatif Pengganti Kompor Gas.Dalam hal ini penulis menimbulkan ide untuk mengembangkan alat tersebut menjadi PENGEMBANGAN KOMPOR LISTRIK DENGAN MENGGUNAKAN SOLAR PANEL SEBAGAI ALTERNATIF PENGGANTI KOMPOR GAS BERBASIS MIKROKONTROLER ATMEGA32, Kompor ini kami kembangkan sebagai peralihan teknologi di zaman modern ini .Dan kompor ini juga akan di lengkapi dengan sebuah LCD untuk dapat mengontrol penyetelan timer dan suhu , dan untuk mengontrol sisa daya dari pengunaan batere.

2.2Landasan Teori2.2.1Mikrokontroler ATmega32Mikrokontroler ATmega32 adalah mikrokontroler 8-bit keluaran Atmel dari keluarga AVR. Pihak Atmel menyatakan bahwa AVR bukanlah sebuah akronim atau singkatan dari suatu kalimat tertentu, perancang arsitektur AVR, Alf-Egil Bogen dan Vegard Wollan tidak memberikan jawaban yang pasti tentang singkatan AVR ini. Mikrokontroler ini dirancang berdasarkan arsitektur AVR RISC (Reduced Instruction Set Computer) yang mengeksekusi satu instruksi dalam satu siklus clock sehingga dapat mencapai eksekusi instruksi sebesar 1 MIPS (Million Instruction Per Second) setiap 1 MHZ frekuensi clock yang digunakan mikrokontroler tersebut. Frekuensi clock yang digunakan dapat diatur melalui fuse bits dan kristal yang digunakan. Jika kristal yang digunakan sebesar 16 MHZ sehingga frekuensi clock-nya sebesar 16 MHZ maka eksekusi instruksinya mencapai 16 MIPS (Atmel, 2009).ATmega32 memiliki fitur utama antara lain: 16K x 16 byte In-System Programmable Flash Program memory dari alamat 0000H sampai 3FFFH. Flash memory ini terbagi menjadi dua bagian yaitu application flash section dan boot flash section. Data memori sebesar 2144 byte yang terbagi atas 32 general purpose register, 64 I/O register, dan 2KB internal SRAM (Static Random Access Memory), 1 KB EEPROM (Electrically Eraseable Read Only Memory), 32 I/O pin, tiga unit timer/counter, internal dan eksternal interrupt, USART (Universal Synchronous and Asynchronous Receiver Transceiver), TWI (Two-wire Serial Interface), 10-bit ADC (Analog to Digital Converter) delapan saluran, SPI (Serial Programmable Interface), watchdog timer, dan internal clock generator. Berikut adalah fitur yang terdapat pada microcontroller ATmega32 yaitu: Saluran I/O ada 32 buah, yaitu Port A, Port B, Port C, dan Port D. ADC (Analog to Digital Converter) 10 bit sebanyak 8 channel. Tiga buah Timer/Counter. CPU yang terdiri dari 32 buah register. Memiliki 131 instruksi yang membutuhkan 1 siklus clock. Watchdog timer dengan osilator internal. Dua buah timer/counter 8 bit, satu buah timer/counter 16 bit. Tegangan operasi 2.7 V 5.5 V pada ATmega 16L. Internal SRAM sebesar 1 KB. Memori flash sebesar 32KB dengan kemampuan Read While Write. Unit interupsi internal dan external. Port antarmuka SPI. EEPROM sebesar 512 byte yang dapat diprogram saat operasi. Antarmuka komparator analog. 4 channel PWM. 32x8 general purpose register. Hampir mencapai 16 MIPS pada Kristal 16 MHz. Port USART yang dapat diprogram untuk komunikasi serial.Seperti telah disebutkan di atas ATmega32 memiliki 32 general purpose register, dan register ini terhubung langsung dengan dengan ALU (Arithmatic Logic Unit) sehingga dua register dapat sekaligus diakses dalam satu instruksi yang dieksekusi tiap clock-nya. Sehingga arsitektur seperti ini lebih efisien dalam eksekusi kode program dan dapat mencapai eksekusi sepuluh kali lebih cepat dibandingkan mikrokontroler CISC (Complete Instruction Set Computer) (Atmel, 2009).ATmega32 memiliki clock generator internal sehingga mikrokontroler ini dapat bekerja langsung tanpa menggunakan clock eksternal. Sinyal clock internal yang dibangkitkan sebesar 1 MHZ. Jadi, cukup dengan menghubungkan Vcc dan Gnd dengan tegangan 5V DC mikrokontroler ini dapat bekerja. Untuk membuat program ATmega32 dapat digunakan WinAVR atau AVR Studio yang dapat diperoleh secara gratis (freeware). Namun dalam pembahasan ini software yang digunakan adalah WinAVR. Program dibuat dalam bahasa C dan menambahkan file header untuk ATmega32 yang berisi register-register pada ATmega32. Setelah program di-compile akan menghasilkan file dengan tipe Intel hex (.hex). File inilah yang nantinya akan di-programkan ke ATmega32 melalui interface bsd programmer (Brian Dean's Programmer) yang terhubung ke komputer melalui port paralel. Koneksi antara ATmega32 dan port paralel untuk bsd programmer diberikan oleh tabel 2.1.Tabel 2.1 Koneksi Pin Port Paralel dan ATmega32Port paralelATmega32

No pinNama pinNo pinNama pin

7D59Reset

8D68SCK

9D76MOSI

10S67MISO

19Ground11Ground

2.2.2Konfigurasi PINKonfigurasi pin microcontroller ATmega32 dan bentuk modul minimum system ATmega32 terdapat pada Gambar 2.1 dan Gambar 2.2.

Gambar 2.1 Modul Minimum System ATmega32(Sumber: Innovative Electronics, 2011)

Gambar 2.2 Konfigurasi pin microcontroller ATmega32.(Sumber: ATMEL, 2003)Fungsi umum dari susunan pin microcontroller ATmega32 adalah sebagaiberikut: VCC merupakan catu daya positif. GND sebagai pin ground catu daya negatif. Port A (PAO..PA7) merupakan pin I/O dua arah dan dapat diprogramsebagai pin dari ADC. Port B (PBO..PB7) merupakan pin I/O dua arah dan fungsinya sebagai,timer/counter, komparator analog, dan SPI. Port C (PCO..PC7) merupakan pin I/O dua arah dan fungsinya sebagai,TWI, komparator analog, dan timer osilator. Port D (PDO..PD7) merupakan pin I/O dua arah dan fungsinya sebagai,komparator analog, interupsi eksternal dan komunikasi serial. Reset merupakan pin yang digunakan untuk me-reset microcontroller. XTAL 1 dan XTAL 2 sebagai pin clock eksternal. Pada microcontrollermembutuhkan sumber (clock) agar dapat mengeksekusi instruksi yang adadi memori. Semakin tinggi nilai kristalnya, maka semakin cepat microcontroller tersebut. AVCC sebagai pin tegangan untuk ADC. AREF sebagai pin tegangan referensi.

2.2.3LCD (Liquid Cristal Display )LCD (Liquid Cristal Display) adalah salah satu jenis display elektronik yangdibuat dengan teknologi CMOS logic yang bekerja dengan tidak menghasilkan cahaya tetapi memantulkan cahaya yang ada di sekelilingnya terhadap front-lit atau mentransmisikan cahaya dari back-lit.LCD (Liquid Cristal Display) berfungsi sebagai penampil data baik dalam bentuk karakter, huruf, angka ataupun grafik.

2.2.3.1Material LCD (Liquid Cristal Display) LCD adalah lapisan dari campuran organik antara lapisan kaca bening dengan elektroda transparan indium oksida dalam bentuk tampilan seven-segment dan lapisan elektroda pada kaca belakang. Ketika elektroda diaktifkan dengan medan listrik (tegangan), molekul organik yang panjang dan silindris menyesuaikan diri dengan elektroda dari segmen. Lapisan sandwich memiliki polarizer cahaya vertikal depan dan polarizer cahaya horisontal belakang yang diikuti dengan lapisan reflektor. Cahaya yang dipantulkan tidak dapat melewati molekul-molekul yang telah menyesuaikan diri dan segmen yang diaktifkan terlihat menjadi gelap dan membentuk karakter data yang ingin ditampilkan.

Gambar 2.3: Lcd (Liquid Cristal Display )2.2.3.2Pengendali / Kontroler LCD (Liquid Cristal Display) Dalam modul LCD (Liquid Cristal Display) terdapat microcontroller yang berfungsi sebagai pengendali tampilan karakter LCD (Liquid Cristal Display). Microntroller pada suatu LCD (Liquid Cristal Display) dilengkapi dengan memori dan register. Memori yang digunakan microcontroler internal LCD adalah : DDRAM (Display Data Random Access Memory) merupakan memori tempat karakter yang akan ditampilkan berada. CGRAM (Character Generator Random Access Memory) merupakan memori untuk menggambarkan pola sebuah karakter dimana bentuk dari karakter dapat diubah-ubah sesuai dengan keinginan. CGROM (Character Generator Read Only Memory) merupakan memori untuk menggambarkan pola sebuah karakter dimana pola tersebut merupakan karakter dasar yang sudah ditentukan secara permanen oleh pabrikan pembuat LCD (Liquid Cristal Display) tersebut sehingga pengguna tinggal mangambilnya sesuai alamat memorinya dan tidak dapat merubah karakter dasar yang ada dalam CGROM..Register control yang terdapat dalam suatu LCD diantaranya adalah. Register perintah yaitu register yang berisi perintah-perintah dari mikrokontroler ke panel LCD (Liquid Cristal Display) pada saat proses penulisan data atau tempat status dari panel LCD (Liquid Cristal Display) dapat dibaca pada saat pembacaan data. Register data yaitu register untuk menuliskan atau membaca data dari atau keDDRAM. Penulisan data pada register akan menempatkan data tersebut keDDRAM sesuai dengan alamat yang telah diatur sebelumnya. Pin, kaki atau jalur input dan kontrol dalam suatu LCD (Liquid Cristal Display) diantaranya adalah : Pin data adalah jalur untuk memberikan data karakter yang ingin ditampilkan menggunakan LCD (Liquid Cristal Display) dapat dihubungkan dengan bus data dari rangkaian lain seperti mikrokontroler dengan lebar data 8 bit. Pin RS (Register Select) berfungsi sebagai indikator atau yang menentukan jenis data yang masuk, apakah data atau perintah. Logika low menunjukan yang masuk adalah perintah, sedangkan logika high menunjukan data. Pin R/W (Read Write) berfungsi sebagai instruksi pada modul jika low tulis data, sedangkan high baca data. Pin E (Enable) digunakan untuk memegang data baik masuk atau keluar. Pin VLCD berfungsi mengatur kecerahan tampilan (kontras) dimana pin ini dihubungkan dengan trimpot 5 Kohm, jika tidak digunakan dihubungkan ke ground, sedangkan tegangan catu daya ke LCD sebesar 5 Volt.2.2.4Codevision AVRCodeVision AVR merupakan sebuah software yang digunakan untuk memprogram mikrokontroler sekarang ini telah umum. Mulai dari penggunaan untuk kontrol sederhana sampai kontrol yang cukup kompleks, mikrokontroler dapat berfungsi jika telah diisi sebuah program, pengisian program ini dapat dilakukan menggunakan compiler yang selanjutnya diprogram ke dalam mikrokontroler menggunakan fasilitas yang sudah di sediakan oleh program tersebut. Salah satu compiler program yang umum digunakan sekarang ini adalah CodeVision AVR yang menggunakan bahasa pemrograman C.CodeVision AVR mempunyai suatu keunggulan dari compiler lain, yaitu adanya codewizard, fasilitas ini memudahkan kita dalam inisialisasi mikrokontroler yang akan kita gunakan, codevision telah menyediakan konfigurasi yang bisa diatur pada masing-masing chip mikrokontroler yang akan kita gunakan, sehingga kita tidak perlu melihatdatasheetuntuk sekedar mengonfigurasi mikrokontroler.

Gambar 2.4 Tampilan Code VisionAVRSumber : ww.samikalamallah.blogspot.com

2.2.5Struktur Bahasa C pada CVAVRPenggunaan mikrokontroler yang diterapkan di berbagai alat rumah tangga, otomotif, sampai dengan kendali, membuat mikrokontroler mulai masuk didunia pendidikan. Banyak varian dan type dari mikrokontroler yang dipelajari dan digunakan di dunia pendidikan. Salah satu varian yang banyak dipelajari dan digunakan adalah produk dari ATMEL dengan type keluarga AVR. Banyak software yang dapat digunakan untuk memprogram mikrokontroler keluarga AVR, dengan bahasa pemrograman masing -masing. Salah satu bahasa pemrograman yang dikembangkan atau digunakan dunia pendidikan adalah bahasa C dengan struktur dan kemudahan yang dimilikinya. Perkembangan bahasa pemrograman yang dimulai dari bahasa tingkat rendah (bahasa assembly/bahasa mesin) sampai dengan bahasa tingkat tinggi (salah satunya bahasa C). Bagi mikrokontroler bahasa assembly merupakan bahasa yang mudah untuk diterjemahkan bagi prosesornya, sehingga dikatakan sebagai bahasa tingkat rendah. Sedangkan bahasa tinggkat tinggi merupakan bahasa yang sulit diterjemahkan oleh prosesor yang ada di didalam mikrokontroler. Pemilihan bahasa C sebagai bahasa pemrograman untuk mikrokontroler dikarenakan mudah dipahami dan diterjemahkan bagi user atau programmer. Bahasa C memiliki struktur pemrograman yang khusus, selain itu bahas a C memiliki sifat case sensitive. Artinya tersebut adalah bahwa penulisan kata/word program sangat sensitif dengan mendeteksi perbedaan kapital tidaknya huruf yang digunakan. Satu huruf yang berbeda pada satu kata yang diulang, menyebabkan software tidak akan bisa meng-compile seluruh program yang dibuat.Setiap bahasa pemrograman memiliki type data masing -masing. Type data merupakan jangkauan suatu data yang mampu/dapat dikerjakan/diolah oleh mikroprosesor dalam program yang dibuat. Penggunaan type data ini juga harus sesuai kebutuhan dan disesuaikan dengan fungsi setiap data. Pemilihan penggunaan type data dapat mempengaruhi besarnya memory file yang dibuat. Berikut daftar type data yang dapat digunakan dalam pemrograman bahasa C :Tabel 1. daftar type data yang dapat digunakan dalam pemrograman bahasa CTypeSizeRange (jangkauan)

Bit10,1

Bool, bool80,1

Char8-128 sampai 127

Unsigned char80 sampai 255

Signed char8-128 sampai 127

Int16-32768 sampai 32767

Short int16-32768 sampai 32767

Unsigned int160 sampai 65535

signed int16-32768 sampai 32767

Long int32-2147483648 sampai 2147483648

Unsigned long int320 sampai 4294967295

Signed long int32-2147483648 sampai 2147483648

Float321.175e-38 sampai 3.402e38

Double321.175e-38 sampai 3.402e38

Penggunaan type data bersamaan dengan variable data yang akan digunakan. Penulisan type data sesuai struktur dapat dilihat sebagai berikut: bit data_1; terdapat variable dengan nama data_1 dengan type data bitint data_2; terdapat variable dengan nama data_2 dengan type data integer Selain tipe data, bahasa C memiliki struktur penulisan akan simbol -simbol operasi aritmatik. Setiap penggunaan simbol -simbol aritmatik memiliki fungsi masing -masing. Berikut tabel symbol-simbol aritmatik yang digunakan dalam bahasa C :Tabel 2. daftar simbol aritmatika yang dapat digunakan dalam pemrograman bahasa COperatorKeteranganOperatorKeterangan

+Penjumlahan-pengurangan

*Perkalian/pembagian

%Modulus++Penjumlahan berkelanjutan

--Pengurangan=Sama dengan/memberikan nilai

==Nilainya sama dengan~NOT

!!!Hasil tidak sama dengan

Lebih besar

=Hasil lebih besar sama dengan

&Dan/ AND&&AND (dua kondisi)

OROR ( dua kondisi)

^Faktor pangkat?:

Geser bit ke kanan

-=Hasil pengurangan sama dengan+=Hasil penjumlahan sama dengan

/=Hasil pembagian sama dengan%=Hasil modulus sama dengan

&=Hasil peng-AND-an sama dengan*=Hasil perkalian sama dengan

^=Hasil pangkat sama dengan=Hasil peng-OR-an sama dengan

>>=Hasil penggeseran bit kekanan sama dengan