FINAL PROJECT DIGITAL POWER SUPPLY BASED ON MICROCONTROLER ATMEGA8535

Gratis

0
0
104
9 months ago
Preview
Full text
(1)PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI TUGAS AKHIR CATU DAYA DIGITAL BERBASIS MIKROKONTROLER ATMEGA8535 Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Elektro oleh: MARIA RATNA PUSPITA NIM : 085114012 JURUSAN TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2014 i

(2) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI FINAL PROJECT DIGITAL POWER SUPPLY BASED ON MICROCONTROLER ATMEGA8535 Presented as Partial Fulfillment of the Requirements To Obtain the Sarjana Teknik Degree In Electrical Engineering Study Program MARIA RATNA PUSPITA NIM : 085114012 DEPARTEMENT OF ELECTRICAL ENGINEERING FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY YOGYAKARTA 2014 ii

(3) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI LEMBAR PERSETUJUAN TUGAS AKHIR CATU DAYA DIGITAL BERBASIS MIKROKONTROLER ATMEGA8535 (DIGITAL POWER SUPPLY BASED ON MICROCONTROLER ATMEGA8535) disusun oleh : MARIA RATNA PUSPITA NIM : 085114012 Telah disetujui oleh : Pembimbing, Ir. Tjendro M.Kom Tanggal : 17 Maret 2014 iii

(4) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI HALAMAN PENGESAHAN TUGAS AKHIR CATU DAYA DIGITAL BERBASIS MIKROKONTROLER ATMEGA8535 Oleh: Maria Ratna Puspita NIM: 085114012 Telah dipertahankan di depan Panitia Penguji Pada tanggal 28 Februari 2014 Dan dinyatakan memenuhi syarat Susunan Panitia Penguji Nama Lengkap Ketua : Ir. Th. Prima Ari Setiyani, M.T. Sekretaris : Ir. Tjendro, M.Kom Anggota : Pius Yozy Merucahyo, S.T., M.T. iv Tanda Tangan

(5) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI PERNYATAAN KEASLIAN KARYA “Saya menyatakan dengan sesungguhnya bahwa tugas akhir yang saya tulis ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.” Yogyakarta, 25 Februari 2014 Maria Ratna Puspita v

(6) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI HALAMAN PERSEMBAHAN Karya tulis ini keupersembahkan untuk: Yesus Kristus Gembalaku Bunda Maria dan Malaikat pelindungku Kedua Orang tua saya Bapak Suparno dan Mamak Nurtyas Murwaningsih tercinta Adik-adiku Johan, Doly, Desy dan Chandra tersayang Almamaterku Teknik Elektro Universitas Sanata Dharma ‘Penting untuk kamu tahu, apa yang kamu bisa dan apa yang kamu tidak bisa. Jika kamu punya kekuatan, pikiran, dan ketekunan. Kamu akan sukses di akhir’ -Chesterfield- vi

(7) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma : Nama : Maria Ratna Puspita Nomor Mahasiswa : 085114012 Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul : CATU DAYA DIGITAL BERBASIS MIKROKONTROLER ATMEGA8535 beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan secara terbatas, dan mempublikasikannya di internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberikan royalty kepada saya selama tetap mencantumkan nama saya sebagai penulis. Demikian pernyataan ini yang saya buat dengan sebenarnya. Yogyakarta, 25 Februari 2014 Maria Ratna Puspita vii

(8) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI INTISARI Perkembangan teknologi telah maju dengan pesat dalam perkembangan dunia elektronika. Catu daya merupakan hal terpenting dalam sebuah instrumentasi elektronika. Pada umumnya catu daya yang sudah memiliki sumber tegangan keluaran dengan sedikit pilihan. Catu daya dengan nilai tegangan variable ditampilkan secara digital. Sistem ini akan dikendalikan dengan program pada mikrokontroler dengan mengatur potensiometer digital untuk menghasilkan sumber tegangan yang diharapkan. Sistem ini juga dilengkapi dengan keypad sebagai masukan dan Liquid Crystal Display (LCD) sebagai tampilan sumber tegangan. User memasukan nilai tegangan yang diperlukan dengan menekan tombol pada keypad sehingga keluaran akan sama dengan nilai yang tertampil pada layar LCD. Alat catu daya digital sudah berhasil dibuat dan bekerja dengan baik. Tegangan keluaran sudah sesuai dengan tegangan masukan. Kata kunci: Catu daya, Potensiometer digital, LCD, Keypad viii

(9) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI ABSTRACT The developing technology has so fast advanced in electronic. The power supply is the most important thing on electronics instrumentation. In general, existing power supply has little choice output voltage source. Power supply with variable voltage values displayed digitally. This system will controller by program in microcontroller by controlled digital potentiometer to receive voltage sources wanted. This system has completed with keypad as an input and Liquid Crystal Display (LCD) as voltage source display. User input the voltage value needed by pushed the keypad, the output will get value as same as displayed on the LCD. Digital power supply has been successfully made and ha well done operation. The output voltage got same value with the input voltage. Keywords: Power supply, Digital potentiometer, LCD, Keypad ix

(10) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI KATA PENGANTAR Puji dan Syukur penulis panjatkan kepada Tuhan Yesus Kristus karena telah memberikan berkat-Nya sehingga penulis dapat menyelesaikan laporan akhir ini dengan baik. Laporan akhir ini disusun untuk memenuhi syarat memperoleh gelar sarjana. Penulis mengucapkan terima kasih kepada : 1. Paulina Heruningsih Prima Rosa, S.Si., M.Sc., Dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta. 2. Petrus Setyo Prabowo, S.T., M.T., Ketua Program Studi Teknik Elektro Universitas Sanata Dharma Yogyakarta. 3. Ir. Tjendro, M.Kom., dosen pembimbing yang dengan penuh pengertian dan ketulusan hati memberi bimbingan, kritik, saran, serta motivasi dalam penulisan skripsi ini. 4. Ir. Th. Prima Ari Setiyani, M.T., dan Pius Yozy Merucahyo, S.T., M.T., dosen penguji yang telah memberikan masukan, bimbingan, saran dalam merevisi skripsi ini. 5. Kedua orang tua saya atas dukungan, doa, cinta, perhatian, kasih sayang yang tiada henti. 6. Adik-adikku tersayang Johan, Doly, Desy dan Chandra atas doa, perhatian, dukungan dan kasih sayang tiada henti. 7. Hardy Boyfonda Doko atas dukungan, doa, perhatian, semangat dalam menyelesaikan skripsi ini. 8. Staf sekretariat Teknik Elektro, atas bantuan dalam melayani mahasiswa. 9. Teman-teman kost muria Frada, kak Sopi, astrid, kak Eva, dll atas dukungan dan doa. 10. Rake Silverrian alias om Rian, terima kasih banyak atas dukungan dalam penyelesaian skripsi ini. 11. Aninditya Dichi Saptarini, atas segala dukungan yang selalu mengingatkan, doa, dan menjadi teman yang baik. 12. Angelina Nita Jatun alias bu Nita, atas dukungan, doa, dan kasih sayang yang tiada henti. x

(11) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 13. Kawan-kawan seperjuangan angkatan 2008 Teknik Elektro, kawan-kawan seperjuangan, dan semua kawan yang mendukung saya dalam mendukung dalam menyelesaikan tugas akhir ini. 14. Semua pihak yang tidak dapat disebutkan satu persatu atas semua dukungan yang telah diberikan dalam penyelesaian skripsi ini. Penulis menyadari bahwa dalam penyusunan laporan akhir ini masih mengalami kesulitan dan tidak lepas dari kesalahan. Oleh karena itu, penulis mengharapkan masukan, kritik dan saran yang membangun agar skripsi ini menjadi lebih baik. Semoga skripsi ini dapat bermanfaat sebagaimana mestinya. Penulis Maria Ratna Puspita xi

(12) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI DAFTAR ISI HALAMAN JUDUL ................................................................................................ i HALAMAN PERSETUJUAN ............................................................................. iii HALAMAN PENGESAHAN ............................................................................... iv PERNYATAAN KEASLIAN KARYA ............................................................. v HALAMAN PERSEMBAHAN DAN MOTTO HIDUP............................. vi LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ...................................... vii INTISARI .................................................................................................................... viii ABSTRACT ................................................................................................................ ix KATA PENGANTAR ............................................................................................. x DAFTAR ISI .............................................................................................................. xii DAFTAR GAMBAR ............................................................................................... xv DAFTAR TABEL..................................................................................................... xvii BAB I PENDAHULUAN 1.1. Latar Belakang.................................................................................................. 1 1.2. Tujuan dan Manfaat .......................................................................................... 1 1.3. Batasan Masalah ............................................................................................... 2 1.4. Metodologi Penelitian ...................................................................................... 2 BAB II DASAR TEORI 2.1. Mikrokontroer AVR Atmega8535 ................................................................... 4 2.1.1. Arsitektur AVR ATmega8535 ............................................................. 4 2.1.2. Deskripsi Mikrokontroler ATmega8535 .............................................. 4 2.1.3. Organisasi Memori AVR ATmega8535 ............................................... 5 2.1.4. Interupsi ................................................................................................ 7 2.1.5. Timer/Counter0 .................................................................................... 8 xii

(13) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 2.2. Analog To Digital Converter (ADC) ................................................................ 13 2.2.1. ADC Multiplexer Selection Register (ADMUX) ... …………………. 15 2.2.2. ADC Control and Status Register A (ADSRA) ...... …………………. 16 2.2.3. ADC Data Register (ADCH-ADCL) ...................... …………………. 17 2.2.4. ADC Auto Trigger Source (ADTS2:0) ........................ …………………. 17 2.3 Keypad .............................................................................................................. 18 2.4. Liquid Crystal Display (LCD) .......................................................................... 19 2.5. Potensiometer Digital ....................................................................................... 21 2.6. Rectifier.............................................................................................................. 24 2.7. Filter ................................................................................................................. 24 2.8. IC Regulator ..................................................................................................... 26 2.9. Penguat Arus .................................................................................................... 28 BAB III PERANCANGAN 3.1. Perancangan Sistem Secara Keseluruhan ............................ …………………. 30 3.2. Perancangan Perangkat Keras ............................................. …………………. 31 3.2.1. Perancangan Rangkaian Sistem Minimum mikrokontroler ATmega8535 31 3.2.2. Perancangan Rangkaian Penyearah ........................................................ 33 3.2.3. Perancangan Rangkaian Regulator ......................................................... 36 3.2.4. Perancangan Rangkaian Current Bosster ............................................... 37 3.2.5. Rangkaian LCD ...................................................................................... 38 3.2.6. Rangkaian Keypad.................................................................................. 38 3.3. Perancangan Perangkat Lunak ......................................................................... 39 3.3.1. Diagram Alir Sistem ............................................................................... 39 3.3.2. Diagram Alir Input Tegangan................................................................. 40 3.3.3. Diagram Alir Proses ............................................................................... 41 3.3.4. Diagram Alir Proses penyetaraan ........................................................... 42 BAB IV HASIL DAN PEMBAHASAN 4.1. Hasil Implementasi Alat ................................................................................... 44 4.1.1. Rangkaian Potensiometer Digital ........................................................... 45 4.1.2. Rangkaian Regulator +15Volt dan -15Volt ............................................ 47 4.2. Data Pengujian dan Pembahasan ...................................................................... 42 xiii

(14) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 4.2.1. Pengujian Tegangan keluaran Tanpa Beban.……. ................................ 48 4.2.2. Pengujian Keluaran Berbeban ................................... …………………. 52 4.3. Analisa dan Pembahasan Perangkat Lunak ......................... …………………. 54 4.3.1. Program Menu ........................................................................................ 54 4.3.2. Program Tegangan Masukan .................................................................. 56 4.3.3. Program Proses ....................................................................................... 57 4.3.4. program penyetaraan .............................................................................. 58 BAB V KESIMPULAN DAN SARAN 5.1. Kesimpulan ....................................................................................................... 62 5.2. Saran ................................................................................................................. 62 DAFTAR PUSTAKA .............................................................................................. 63 LAMPIRAN ............................................................................................................... L1 xiv

(15) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI DAFTAR GAMBAR Gambar 1.1. Diagram Blok Sistem............................................................................... 2 Gambar 2.1. Konfigurasi Pin Mikrokontroler Atmega8535......................................... 5 Gambar 2.2. Organisasi Memori ATmega8535 ........................................................... 6 Gambar 2.3. Pulsa Fast PWM ...................................................................................... 12 Gambar 2.4. Pulsa Non-inverting Phase correct PWM ............................................... 13 Gambar 2.5. Blok ADC ................................................................................................ 14 Gambar 2.6. Konfigurasi Keypad Matriks 4x4 ............................................................ 18 Gambar 2.7. Kolom dan Baris Karakter pada LCD 16x2 ............................................ 19 Gambar 2.8. Konfigurasi Pin LCD 16x2 ...................................................................... 20 Gambar 2.9. Konfigurasi Pin DS1669 8-pin DIP 300-mil ........................................... 21 Gambar 2.10. Konfigurasi Pin DS1669 8-pin SOIC 208-mil ........................................ 21 Gambar 2.11. DS1669 dengan pushbutton tunggal ........................................................ 22 Gambar 2.12. DS1669 dengan pushbutton ganda .......................................................... 23 Gambar 2.13. Rangkaian Penyearah Gelombang Penuh ................................................ 24 Gambar 2.14. Rangkaian penyarah gelombang penuh ................................................... 24 Gambar 2.15. Bentuk gelombang penyearah gelombang penuh .................................... 25 Gambar 2.16. Rangkaian internal LM317 ...................................................................... 26 Gambar 2.17. Rangkaian dasar regulator LM317 .......................................................... 27 Gambar 2.18. Rangkaian Regulator 0-12V .................................................................... 27 Gambar 2.19. Transistor Darlington ............................................................................... 28 Gambar 2.20. Konfigurasi Transistor Darlington........................................................... 29 Gambar 3.1. Diagram blok sistem ................................................................................ 30 Gambar 3.2. Rangkaian osilator ATmega8535 ............................................................ 31 Gambar 3.3. Rangkaian reset ATmega8535 ................................................................ 32 Gambar 3.4. Rangkaian Sistem Minimum ................................................................... 33 Gambar 3.5. Rangkaian minimum sistem .................................................................... 30 Gambar 3.6. Rangkaian Regulator 0-12V .................................................................... 36 Gambar 3.7. Rangkaian Current Booster ..................................................................... 37 Gambar 3.8. Rangkaian LCD ....................................................................................... 38 Gambar 3.9. Rangkaian keypad 4x4............................................................................. 39 xv

(16) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 3.10. Diagram alir sistem .................................................................................. 40 Gambar 3.11. Diagram Alir Input Tegangan.................................................................. 41 Gambar 3.12. Diagram Alir Proses ................................................................................ 42 Gambar 3.13. Diagram Alir Proses Penyetaraan ............................................................ 43 Gambar 4.1. Rangkaian Sistem minimum ATmega8535 ............................................. 44 Gambar 4.2. Keypad 4x4 dan LCD 16x2 ....................................................................... 45 Gambar 4.3. Rangkaian PCB Potensiometer Digital.................................................... 46 Gambar 4.4. Rangkaian Potensiometer Digital ............................................................ 47 Gambar 4.5. Rangkaian Regulator +15V dan -15V .................................................... 48 Gambar 4.6. Tampilan Menu utama ............................................................................. 55 Gambar 4.7. Tampilan Menu Pilihan ........................................................................... 55 Gambar 4.8. Tampilan Memasukkan Tegangan ........................................................... 56 xvi

(17) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI DAFTAR TABEL Tabel 2.1. Hubungan PIN dan Interupsi ........................................................................ 7 Tabel 2.2. Alamat Vektor Interupsi ATmega8535 ........................................................ 7 Tabel 2.2. (lanjutan) Alamat Vektor Interupsi ATmega8535 ....................................... 8 Tabel 2.3. Timer/Counter Control Register (TCCR0) .................................................. 8 Tabel 2.4. Presceale Timer/Counter0............................................................................ 8 Tabel 2.5. Mode Operasi ............................................................................................... 9 Tabel 2.6. Mode Normal dan CTC ................................................................................ 9 Tabel 2.7. Mode Fast PWM .......................................................................................... 9 Tabel 2.8. Mode phase correct PWM ........................................................................... 10 Tabel 2.9. Timer/Counter Register (TCNT0) ................................................................ 10 Tabel 2.10. Output Compare Register (OCR0) ............................................................... 10 Tabel 2.11. Timer/Counter Interrupt Mask Register (TIMSK) ...................................... 10 Tabel 2.12. Timer/Counter Interrupt Flag Register TIFR ............................................. 11 Tabel 2.13. Register ADMUX........................................................................................ 15 Tabel 2.14. Pengaturan Tegangan Referensi ADC......................................................... 15 Tabel 2.15. ADC Control and Status Register A (ADSRA) .......................................... 16 Tabel 2.16. Skala Clock ADC ....................................................................................... 16 Tabel 2.17. Format data ADCH-ADCL jika ADLAR = 0 ............................................. 17 Tabel 2.18. Format data ADCH-ADCL jika ADLAR = 1 ............................................. 17 Tabel 2.19. ADC Auto Trigger Source (ADTS2:0) ....................................................... 17 Tabel 2.20. Pemicu ADC................................................................................................ 17 Tabel 2.21. Konfigurasi Pin LCD 16x2.......................................................................... 20 Tabel 4.1. Hasil Pengujian tegangan keluaran regulator +15 Volt dan -15 Volt ......... 47 Tabel 4.2. Hasil Penurunan tegangan keluaran regulator +15 Volt dan -15 Volt ........ 48 Tabel 4.3. Hasil Pengujian Tanpa Beban ..................................................................... 49 Tabel 4.4. Hasil Pengujian Arus Berbeban................................................................... 53 Tabel 4.5. Hasil Pengujian Tegangan Berbeban........................................................... 54 xvii

(18) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI BAB I PENDAHULUAN 1.1. Latar Belakang Perkembangan teknologi telah maju dengan pesat dalam perkembangan dunia elektronika . Dalam kehidupan sehari-hari telah banyak dijumpai alat-alat elektronika yang menggunakan catu daya (power supply) sebagai sumber tegangan maupun sumber arus. Catu daya merupakan hal terpenting dalam sebuah instrumentasi elektronika [1]. Catu daya sudah banyak dipergunakan untuk praktikum oleh mahasiswa, penelitian para perancang dan untuk keperluan-keperluan lain yang berhubungan dengan penggunaan catu daya. Keluaran (sumber tegangan maupun sumber arus) dari catu daya memiliki nilai keluaran tertentu (tetap) dan nilai keluaran yang dapat diatur-atur (variable). Catu daya merupakan suatu rangkaian elektronik yang mengubah arus bolak-balik menjadi arus listrik searah. Hampir semua peralatan elektronik membutuhkan catu daya agar dapat berfungsi [2]. Berbagai variasi catu daya telah diciptakan oleh manusia untuk mempermudah penggunaan dalam menginstrumentasikan alat-alat elektronika. Pada umumnya catu daya yang sudah ada dengan keluaran sumber tegangan yang variable belum memiliki banyak pilihan sumber tegangan. Berdasarkan hal diatas, penulis ingin membuat catu daya dengan nilai tegangan variable dan ditampilkan secara digital. Sistem ini akan dikendalikan dengan program pada mikrokontroler dengan mengatur potensiometer digital untuk menghasilkan sumber tegangan yang diharapkan. Sistem ini juga dilengkapi dengan keypad sebagai masukan dan Liquid Crystal Display (LCD) sebagai tampilan sumber tegangan, user memasukan nilai tegangan yang diperlukan dengan menekan tombol pada keypad sehingga keluaran akan sama dengan nilai yang tertampil pada layar LCD. 1.2. Tujuan dan Manfaat Tujuan penelitian ini adalah menghasilkan sebuah alat yaitu catu daya digital dengan pengaturan keluaran tegangan sesuai masukan yang diberikan melalui keypad dan keluarannya akan ditampilkan pada LCD (Liquid Crystal Display). 1

(19) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 2 Manfaat dari penelitian ini adalah untuk mempermudah bagi pengguna catu daya dalam menginstrumentasikan alat-alat elektronika dengan hanya memasukkan nilai sumber tengangan yang diperlukan yaitu nilai sumber masukan sama dengan nilai sumber pada keluaran. 1.3. Batasan Masalah Penelitian akan dibatasi pada pembuatan catu daya digital berbasis mikrokontroler ATmega8535, spesifikasi alat yang digunakan: a. Keluaran Tegangan DC yang terukur 0-12 volt dengan interval 0.1 volt. b. Menggunakan IC LM317. c. Menggunakan trafo step down maksimal arus 2 A. d. Keypad sebagai masukan. 1.4. e. LCD (Liquid Crystal Display) sebagai penampil. f. Menggunakan potensiometer digital. Metodologi Penelitian Penulisan tugas akhir ini menggunakan metode: a. Pengumpulan bahan-bahan referensi berupa buku-buku dan jurnal-jurnal. Studi kepustakaan yang mencangkup literature-literatur mengenai datasheet ATmega8535 dan datasheet DS1669 (potensiometer digital). b. Perancangan subsistem hardware dan software. Tahap ini bertujuan untuk mencari bentuk model yang optimal dari sistem yang akan dibuat dengan mempertimbangkan dari berbagai faktor-faktor permasalahan dan kebutuhan yang telah ditentukan. Gambar 1.1 adalah model diagram blok sistem yang akan dirancang. ‡›’ƒ†  ”ƒ•ˆ‘” ƒ–‘” ‡ –‹ˆ‹‡”  ‹”‘‘–”‘Ž‡”  ‡‰—Žƒ–‘” ‡„ƒ ‹Ž–‡” Gambar 1.1. Diagram Blok Sistem

(20) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 3 c. Perancangan dan pembuatan rangkaian elektronik seperti rangkaian ic regulator tegangan. Tahap ini meliputi perhitungan teoritis dan pembuatan PCB. d. Perancangan dan pembuatan program menggunakan bahasa C dengan software CodeVision AVR. e. Proses pengambilan data. Teknik pengambilan data dilakukan dengan cara memasukkan beberapa nilai melalui keypad dan keluaran akan tertampil melalui LCD (Liquid Crystal Display). f. Analisa dan penyimpulan hasil percobaan. Analisa dan kesimpulan hasil percobaan dapat dilakukan dengan melihat presentasi error yang terjadi pada kinerja sistem secara keseluruhan, yaitu membandingkan nilai masukan dengan nilai keluaran.

(21) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI BAB II DASAR TEORI 2.1. Mikrokontroler AVR ATmega8535 AVR (Alf and Vegard’sRiscProcessor) merupakan seri mikrokontroler CMOS 8-bit yang diproduksi oleh Atmel berbasis arsitektur RISC (Reduced Instruction Set Computer). Chip AVR yang digunakan untuk tugas akhir ini adalah ATmega8535. Hampir semua instruksi dieksekusi dalam satu siklus clock dan mempunyai 32 register general-purpose, timer/counter fleksibel dengan mode compare, interupsi internal dan eksternal, serial UART, programmable Watchdog Timer, dan power saving mode. 2.1.1 Arsitekstur AVR ATmega8535 Mikrokontroler ATmega8535 memiliki arsitektur sebagai berikut: a. Saluran IO sebanyak 32 buah, yaitu Port A, Port B, Port C dan Port D b. ADC 10 bit sebanyak 8 channel c. Tiga buah timer/counter yaitu Timer 0, Timer 1 dan Timer 2 d. Watchdog Timer dengan osilator internal e. SRAM sebanyak 512 byte f. Memori Flash sebesar 8 kb g. Sumber Interupsi internal dan eksternal h. Port SPI (Serial Pheriperal Interface) i. EEPROM on board sebanyak 512 byte j. Komporator analog k. Port USART (Universal Shyncbrounous Ashynchronous Receiver Transmitter) 2.1.2 Deskripsi Mikrokontroler ATmega8535 Konfigurasi Pin Mikrokontroler ATmega8535 dengan kemasan 40-pin DIP (dual in-line package) dapat dilihat pada gambar 2.1. Untuk memaksimalkan performa dan paralelisme, AVR menggunakan arsitektur Harvard (dengan memori dan bus terpisah untuk program dan data). Ketika sebuah intruksi sedang dikerjakan maka instruksi berikutnya diambil dari memori program. 4

(22) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 5 Gambar 2.1. Konfigurasi Pin Mikrokontroler ATmega8535 [3] Mikrokontroler ATmega8535 memiliki konfigurasi Pin sebagai berikut [3]: a. VCC (power supply) b. GND (ground) c. Port A (PA7…PA0), Port A berfungsi sebagai input analog pada ADC (analog digital converter). Port A juga berfungsi sebagai suatu Port I/O 8-bit dua arah. d. Port B (PB7…PB0), Port B adalah suatu Port I/O 8-bit dua arah dengan resistor internal pull-up (yang dipilh untuk beberapa bit). e. Port C (PC7…PC0), Port B adalah suatu Port I/O 8-bit dua arah dengan resistor internal pull-up (yang dipilh untuk beberapa bit). f. Port D (PD7…PD0), Port B adalah suatu Port I/O 8-bit dua arah dengan resistor internal pull-up (yang dipilh untuk beberapa bit). g. RESET (Reset Input) h. XTAL1 (Input Oscillator) i. XTAL2 (Output Oscillator) j. AVCC adalah pin pengelola tegangan untuk Port A dan ADC k. AREF adalah pin referensi analog untuk ADC Port A berfungsi sebagai input analog pada A/D converter dan Port I/O 8-bit dua arah. Port B, Port C, Port D adalah suatu Port I/O 8-bit dua arah dengan resistor internal pull-up (yang dipilih untuk beberapa bit). Pada rangkain reset, waktu pengosongan kapasitor dapat dihitung dengan persamaan : = × (2.1)

(23) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 6 2.1.3 Organisasi Memori AVR ATmega8535 Mikrokontroler ATmega8535 memiliki 3 jenis memori yaitu memori Flash, memori data dan EEPROM. Ketiganya memiliki ruang sendiri dan terpisah seperti pada gambar 2.3. Gambar 2.2. Organisasi Memori ATmega8535 [4] 2.1.3.1 Memori Flash Memori flash merupakan memori ROM tempat kode-kode program berada. Kata flash menunjukkan jenis ROM yang dapat ditulis dan dihapus secara elektrik [5]. Memori ini terdiri dari program boot dan program aplikasi. Jika tidak menggunakan fitur Boot Leader Flash maka semua kapasitas aplikasi memori program digunakan untuk program aplikasi namun jika mengunakan fitur Boot Leader Flash maka pembagian ukuran ditentukan oleh BOOTSZ fuse. 2.1.3.2 Memori Data Memori data merupakan memori RAM yang digunakan untuk diperlukan program [5]. Memori data terdiri dari 32 General Purpose Register (GPR) yang merupakan register khusus yang bertugas untuk membantu eksekusi program oleh Arithmetic Logic Unit (ALU) dan I/O register dan additional I/O register yang difungsikan khusus untuk mengendalikan berbagai peripheral dalam mikrokontroler antara lain pin, port, timer/counter, USART. ATmega8535 memiliki kapasitas memori data sebesar 608 Byte yang terbagi menjadi 3 bagian yaitu register serba guna, register I/O dan SRAM.

(24) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 7 2.1.3.3 EEPROM EEPROM merupakan memori data yang dapat menyimpan ketika chip mati (off). Memori ini digunakan untuk keperluan penyimpanan data yang tahan terhadap gangguan catu daya. ATmega8535 memiliki EEPROM sebesar 512 Byte yang terpisah dari memori program maupun memori data [4]. 2.1.4 Interupsi Interupsi adalah suatu kondisi dimana mikrokontroler akan berhenti sementara dari program utama untuk melayani instruksi-instruksi pada interupsi kemudian kembali mengerjakan instruksi program utama setelah instruksi-instruksi pada interupsi selesai dikerjakan [6]. Tabel 2.1. Hubungan PIN dan Interupsi [6] Jenis Interupt INT0 INT1 INT2 PIN pada ATmega8535 PORTD.2 PORTD.3 PORTB.2 ATmega8535 menyediakan 21 macam sumber interupsi yang masing-masing memiliki alamat program vector interupsi. Setiap interupsi yang aktif akan dilayani segera setelah terjadi permintaan interupsi, tetapi jika di dalam waktu bersamaan terjadi lebih dari satu interupsi maka prioritas yang akan diselesaikan lebih dulu adalah interupsi yang memiliki nomor urut lebih kecil sesuai pada tabel 2.2. Tabel 2.2. Alamat Vektor Interupsi ATmega8535 [4] No. Vektor 1. 2. 3. 4. 5. 6. 7. 8. 9.. 10. 11. Alamat Sumber Interupsi Keterangan Program 0x000 RESET External Pin, Power-on, Reset, Brown-out Reset and Watchdog Reset 0x001 INT0 External Interrupt Request 0 0x002 INT1 External Interrupt Request 1 0x003 TIMER2 COMP Timer/Counter2 Compare Match 0x004 TIMER2 OVF Timer/Counter2 Overflow 0x005 TIMER1 CAPT Timer/Counter1 Capture Event 0x006 TIMER1 COMPA Timer/Counter1 Compare Match A 0x007 TIMER1 COMPB Timer/Counter1 Compare Match B 0x008 TIMER1 OVF Timer/Counter1 Overflow 0x009 TIMER0 OVF Timer/Counter0 Overflow 0x00A SPI, STC Serial Transfer Complete

(25) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 8 Tabel 2.2. (lanjutan) Alamat Vektor Interupsi ATmega8535 [4] No. Vektor 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Alamat Program 0x00B 0x00C 0x00D 0x00E 0x00F 0x010 0x011 0x012 0x013 0x014 Sumber Interupsi USART, RXC USART, UDRE USART, TXC ADC EE_RDY ANA_COMP TWI INT2 TIMER0 COMP SPM_RDY Keterangan USART, Rx Complete USART Data Register Empty USART, Tx Complete ADC Conversion Complete EEPROM Ready Analog Comparator Two-wire Serial Interface External Interrupt Request 2 Timer/Counter0 Compare Match Store Program Memory Ready 2.1.5 Timer/Counter0 Timer/Counter0 adalah sebuah timer/counter yang dapat mencacah sumber pulsa/clock baik dari dalam chip (timer) maupun dari luar chip (counter) dengan kapasitas 8-bit (256 cacahan). 2.1.5.1 Register Pengendali Timer0 [5] 1. Timer/Counter Control Register (TCCR0) Tabel 2.3. Timer/Counter Control Register (TCCR0) Bit CS00 s.d. 02 bertugas untuk memilih (prescealer) atau mendefenisikan pulsa/clock yang akan masuk ke dalam Timer/Counter0. Tabel 2.4. Presceale Timer/Counter0 CS02 0 0 0 0 1 1 1 1 CS01 0 0 1 1 0 0 1 1 CS00 0 1 0 1 0 1 0 1 Keterangan Stop/berhenti Clk (sama dengan clock cpu) Clk/8 (1 clk timer/counter0 = 8 clk cpu) Clk/64 (1 clk timer/counter0 = 64 clk cpu) Clk/256 (1 clk timer/counter0 = 256 clk cpu) Clk/1024 (1 clk timer/counter0 = 1024 clk cpu) Clk eksternal dari pin T0 pada kondisi falling edge Clk eksternal dari pin T0 pada kondisi rising edge

(26) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 9 (1 clk timer/counter0= 8 clk cpu) artinya tiap 8 clock CPU yang masuk ke dalam timer/counter0 dihitung satu oleh register pencacah TCNT0. Falling edge adalah perubahan pulsa/clock dari 1 ke 0. Rising edge adalah perubahan pulsa/clock dari 0 ke 1. a. Bit 7 – FOC0 : Force Output Compare Bit 7 hanya dapat digunakan untuk metode pembanding . Jika bit – F0C0 di-set maka akan memaksa terjadinya compare-match (TCNT0==OCR0). b. Bit 3, 6 – WGM01:0: Waveform Generation Mode Bit 3 dan bit 6 digunakan untuk memilih mode seperti ditunjukkan pada tabel 2.5. Tabel 2.5. Mode Operasi WGM01 WGM00 Mode Operasi TOP 0 0 1 1 0 1 0 1 Normal Phase correct PWM CTC Fast PWM 0xFF 0xFF OCR0 0xFF c. Update OCR0 Imidiet TOP Imidiet Bottom Flag TOV0 on MAX Bottom MAX MAX Bit 5,4 – COM01:0: Compare Match Output Mode Bit 5 dan bit 4 berfungsi mendefinisikan pin OC0 sebagai output Timer0 (saluran output PWM). Tabel 2.6. Mode Normal dan CTC COM01 0 0 1 1 COM00 0 1 0 1 Output pin OC0 Tidak dihubungkan Toggle saat compare match Clear saat compare match Set saat compare match Tabel 2.7. Mode Fast PWM COM01 0 0 1 1 COM00 0 1 0 1 Output pin OC0 Tidak dihubungkan Clear saat compare match, Set saat bottom (noninverting) Set saat compare match, clear saat bottom (inverting)

(27) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 10 Tabel 2.8. Mode Phase Correct PWM COM01 COM00 0 0 0 1 2. 1 0 1 1 Output pin OC0 Tidak dihubungkan Clear saat compare match ketika up-counting, Set saat compare match ketika down-counting (noninverting) Set saat compare match ketika up-counting, clear saat compare match ketika down-counting (inverting) Timer/Counter Register (TCNT0) Tabel 2.9. Timer/Counter Register (TCNT0) Register yang bertugas menghitung pulsa yang masuk kedalam timer/counter. Kapasitas registernya adalah 8-bit (255 hitungan), setelah mencapai hitungan maksimal maka akan kembali ke nol (overflow/limpahan). 3. Output Compare Register (OCR0) Tabel 2.10. Output Compare Register (OCR0) Register yang bertugas sebagai register pembanding dengan menentukan besarnya sesuai dengan kebutuhan. Saat TCNT0 mencacah maka secara otomatis oleh CPU akan dibandimgkan dengan isi OCR0 secara kontinyu dan jika isi TCNT0 sama dengan isi OCR0 maka akan terjadi compare match yang dapat dimanfaatkan untuk mode CTC dan PWM. 4. Timer/Counter Interrupt Mask Register (TIMSK) Tabel 2.11. Timer/Counter Interrupt Mask Register (TIMSK) a. Bit 0 – TOIE0: T/C0 Overflow Interrupt Enable Register TIMSK Timer/Counter0 memiliki bit TOIE0 sebagai bit peng-aktif interupsi Timer/Counter0, jika TOIE0=1 maka enable dan jika TOIE0=0 maka disable.

(28) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 11 b. Bit 1 – OCIE0: T/C0 Output Compare Match Enable Selain ATMega8,TIMSK Timer/Counter0 memilki OCIE0 sebagai bit pengaktif interupsi compare match Timer/Counter0, jika OCIE0=1 enable dan jika OCIE0=0 maka disable. 5. Timer/Counter Interrupt Flag Register (TIFR) Tabel 2.12. Timer/Counter Interrupt Flag Register (TIFR) a. Bit 1 – OCF0: Output Compare Flag 0 Flag OCF0 akan di set sebagai indikator jika terjadinya compare match dan akan clear dengan sendirinya bersamaan eksekusi vektor interupsi Timer0 compare match. b. Bit 0 – TOV0: Timer/Counter0 Overflow Flag Bit status Timer/Counter0 dalam register TIFR, dimana bit TOV0 akan set secara otomatis ketika terjadi limpahan/overflow pada register TCNT0 dan akan clear bersamaan dengan eksekusi vektor interupsi. 2.1.5.2 Mode Operasi 1. Normal Mode normal ada dua yaitu normal overflow dan normal compare match. Dalam mode normal overflow register pencacah TCNT0 bekerja secara normal selalu mencacah/menghitung ke-atas (counting-up) hingga mencapai nilai maksimal 0xFF lalu 0x00 lagi (overflow). Dalam mode normal compare match register TCNT0 bekerja seperti mode normal overflow, bedanya jika diberi isi register OCR0 maka ketika TCNT0==OCR0 akan terjadi compare match yang menyebabkan flag OCF0 secara otomatis set yang ditandai dengan terjadinya interupsi jika interupsi Timer0 compare match diaktifkan. 2. CTC (Clear Timer on Compare Match) Dalam mode CTC register pencacah TCNT0 mencacah naik (counting-up) hingga mencapai TOP (nilai TCNT0 sama dengan nilai OCR0 yang telah ditentukan) kemudian TCNT0 nol lagi yang otomatis menge-set flag OCF0 dan akan membangkitkan interupsi Timer0 compare match jika diaktifkan dan seterusnya.

(29) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 12 3. Fast PWM (Pulsa Width Modulation) Dalam mode fast PWM membuat generator gelombang. PWM adalah gelombang digital/pulsa yang dapat diatur duty cycle-nya. Duty cycle adalah perbandingan antara lama pada saat satu (on) dan lama periode satu gelombang pulsa. Gambar 2.3. Pulsa PWM [5] = × 100% (2.2) Timer/Counter0 dalam mode fast PWM untuk mengendalikan lama t on dan t off melalui register pembanding OCR0 yang menyebabkan besar duty cycle yang dihasilkan. Chanel (saluran) PWM Timer/Counter0 adalah pin OC0 (PB3) sebagai keluaran saluran PWM. Sifat cacahan mode fast PWM register pencacah TCNT0 mencacah dari BOTTOM (0x00) terus mencacah naik (counting-up) hingga mencapai MAX (0xFF) kemudian mulai dari BOTTOM lagi dan seterusnya disebut single slope (satu arah cacahan ) seperti ditunjukkan gambar 2.3. Gambar 2.3. Pulsa Fast PWM [5] Frekuensi pin OC0 (PB3) untuk fast PWM dihitung dengan menggunakan persamaan:

(30) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 13 = _ / · 256 (2.3) dengan: _ / = frekuensi clock chip = presecaler sumber clock (1,8,64,256,1024) 4. Phase Correct PWM Pada mode phase correct PWM operasi cacahan register TCNT0 menggunakan dual slope (dua arah cacahan/bolak-balik) dimana TCNT0 mencacah dari BOTTOM (0x00) counting-up hingga mencapai MAX (0xFF) kemudian counting-down hingga BOTTOM (0x00) dan seterusnya. Gambar 2.4. Pulsa Non-inverting Phase Correct PWM [4] Frekuensi phase correct PWM dihitung menggunakan persamaan: = _ / · 510 (2.4) dengan: _ / = frekuensi clock chip = presecaler sumber clock (1,8,64,256,1024) 2.2. Analog To Digital Converter (ADC) Mikrokontroler ATmega8535 memiliki fasilitas ADC yang sudah built-in dalam chip. ATmega8535 memiliki resolusi ADC 10-bit dengan 8 channel input dan mendukung 16 macam penguat beda [4].

(31) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 14 Data hasil konversi dapat dihitung dengan persamaan: 1. Konversi tunggal = · 1024 (2.5) dengan: = Tegangan masukan pada pin yang dipilih = Tegangan referensi 2. Penguat beda = − ( )· · 512 dengan: = Tegangan masukan pada pin positif = Tegangan masukan pada pin negative = Faktor penguatan = Tegangan referensi Gambar 2.5. Blok ADC [5] (2.6)

(32) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 15 2.2.1. ADC Multiplexer Selection Register (ADMUX) Tabel 2.13. Register ADMUX a. Bit 7:6 – REFS1:0 : Reference Selection Bits Bit REFS1 dan REFS0 digunakan untuk menentukan tegangan dari ADC seperti ditunjukkan pada tabel 2.14 dan tidak dapat dirubah saat konversi sedang berlangsung. Gambar 2.14. Pengaturan Tegangan Referensi ADC REFS1 0 0 1 1 REFS0 0 1 0 1 Tegangan Referensi Pin AVEF PIN AVCC, dengan pin AREF diberi kapasitor Internal 2.56 V dengan pin AREF diberi kapasitor keterangan: ‘00’= Tegangan referensi menggunakan tegangan yang terhubung ke pin AREF ‘01’= Tegangan referensi menggunakan tegangan AVCC dan pin AREF diberi kapasitor ‘10’= Tidak digunakan ‘11’= Tegangan referensi menggunakan referensi interval 2.56V dan pin AREF diberi kapasitor b. Bit 5 – ADLAR : ADC Left Adjust Result Bit ADLAR digunakan untuk mengatur format peyimpanan data ADC pada register ADCL dan ADCH c. Bit 4:0 – MUX4:0 : Analog Channel and Gain Selection Bits Bit MUX4:0 digunakan untuk menentukan pin masukan analog ADC pada konversi tunggal atau menentukan pin-pin masukan analog dan nilai penguatannya (gain) pada mode penguat beda.

(33) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 16 2.2.2. ADC Control and Status Register A (ADSRA) Tabel 2.15. ADC Control and Status Register A (ADSRA) a. Bit 7 – ADEN : ADC Enable Bit ADEN digunakan untuk mengaktifkan dan menonaktifkan fasilitas ADC. (Bit ADEN= 1 maka ADC aktif dan Bit ADEN= 0 maka ADC tidak aktif). b. Bit 5 – ADATE : ADC Auto Trigger Enable Bit ADATE digunakan untuk mengaktifkan pemicu proses konversi ADC sesuai dengan bit-bit ADTS pada register SFIOR (bit ADATE=1 maka pemicu ADC aktif). c. Bit 4 –ADIF : ADC Interrupt Flag Bit ADIF adalah bendera interupsi ADC yang digunakan untuk menunjukkan ada tidaknya permintaan interupsi ADC. Bit ADIF akan bernilai ‘1’ jika proses konversi ADC telag selesai. d. Bit 3 – ADIE : ADC Interrupt Enable Bit ADIE digunakan untuk mengaktifkan dan menonaktifkan interupsi ADC. e. Bit 2:0 – ADPS2:0 : ADC Preascaler Select Bits Bit ADPS2, ADPS1 dan ADPS0 digunakan untuk menentukan factor pembagi frekuensi kristal yang hasilnya digunakan sebagai clock ADC. Tabel 2.16. Skala Clock ADC [4] ADPS2 0 0 0 0 1 1 1 1 ADPS1 0 0 1 1 0 0 1 1 ADPS0 0 1 0 1 0 1 0 1 Faktor Pembagi 2 2 4 8 16 32 64 128

(34) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 17 2.2.3. ADC Data Register (ADCH-ADCL) Register ini digunakan untuk penyimpanan data 10-bit hasil konversi ADC. Data tersebut dapat disimpan dalam 2 format yang berbeda tergantung pada nilai bit ADLAR seperti ditunjukkan pada tabel 2.17 dan tabel 2.18. Tabel 2.17. Format data ADCH-ADCL jika ADLAR = 0 Tabel 2.18. Format data ADCH-ADCL jika ADLAR = 1 2.2.4. ADC Auto Trigger Source (ADTS2:0) Tabel 2.19. ADC Auto Trigger Source (ADTS2:0) Bit-bit ADTS2:0 berada pada register SFIOR digunakan untuk mengatur pemicu proses konversi ADC seperti ditunjukkan pada tabel 2.20. Tabel 2.20. Pemicu ADC [4] ADTS2 0 0 0 0 1 1 1 1 ADTS1 0 0 1 1 0 0 1 1 ADTS0 0 1 0 1 0 1 0 1 Sumber Pemicu Konversi ADC Free Running Mode Analog Comparator External Interrupt Request 0 Timer/Counter0 Compare Match Timer/Counter0 Overflow Timer/counter1 Compare Match B Timer/counter1 Overflow Timer/counter1 Capture Event

(35) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 18 keterangan: ‘000’ = Mode Free-Running, konversi ADC akan dimulai pada saat bit ADSC pada register ADCSRA diset ‘1’. ‘001’ = Konversi ADC akan dimulai sesuai dengan pengaturan output Analog Comparator ‘010’ = Konversi ADC akan dimulai pada saat terjadi interupsi eksternal 0 ‘011’ = Konversi ADC akan dimulai pada saat terjadi Timer/Counter0 Compare Match ‘100’ = Konversi ADC akan dimulai pada saat terjadi Timer/Counter0 Overflow ‘101’ = Konversi ADC akan dimulai pada saat terjadi Timer/counter1 Compare Match B ‘110’ = Konversi ADC akan dimulai pada saat terjadi Timer/counter1 Overflow ‘111’ = Konversi ADC akan dimulai pada saat terjadi Timer/counter1 Capture Event 2.3. Keypad Keypad matriks adalah tombol-tombol yang disusun secara matriks (baris x kolom) sehingga dapat mengurangi penggunaan pin input. Sebagai contoh, keypad matriks 4x4 menggunakan 8 pin untuk 16 tombol. Hal tersebut dimungkinkan karena rangkain tombol disusun secara horizontal membentuk baris dan secara vertikal membentuk kolom seperti pada gambar 2.6. Gambar 2.6. Konfigurasi Keypad Matriks 4x4 [7]

(36) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 19 Proses pengecekan dari tombol yang dirangkai secara matriks adalah dengan teknik scanning, yaitu proses pengecekan yang dilakukan dengan cara memberikan umpan-data pada satu bagian dan mengecek feedback (umpan balik) pada bagian lain. Pemberian umpan-data dilakukan pada bagian baris dan pengecekan umpan balik pada kolom. Pada saat pemberian umpan data pada satu baris, maka baris yang lain harus dalam kondisi inversi. Tombol yang ditekan dapat diketetahui dengan melihat asal data dan di kolom mana data tersebut terdeteksi. 2.4. Liquid Crystal Display (LCD) LCD (Liquid Crystal Display) memiliki 2 jenis yaitu LCD karakter dan LCD grafik. LCD karakater adalah LCD yang karakternya terbatas pada tampilan karakter, khususnya karakter ASCII seperti karakter-karakter yang tercetak pada keyboard komputer. Sedangkan LCD grafik adalah LCD yang tampilannya tidak terbatas, bahkan dapat menampilkan foto. LCD grafik inilah yang terus berkembang seperti layar LCD yang biasa dilihat di notebook/laptop [8]. Jenis LCD karakter yang beredar di pasaran biasanya dituliskan dengan bilangan matriks dari jumlah karakater yang dapat dituliskan pada LCD tersebut, yaitu jumlah kolom karakter dikali jumlah baris karakter. Sebagai contoh, LCD 16x2 artinya terdapat 16 kolom dalam 2 baris ruang karakter seperti pada gambar 2.7, yang berarti total karakter yang dapat dituliskan adalah 32 karakater [8]. Gambar 2.7. Kolom dan Baris Karakter pada LCD 16x2 Agar dapat mengendalikan LCD karakter dengan baik memerlukan koneksi yang benar. Koneksi yang benar dengan mengetahui pin-pin antarmuka yang dimiliki LCD karakter. LCD karakter memilki 16 pin seperti pada gambar 2.8 dan tabel 2.13.

(37) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 20 Gambar 2.8. Konfigurasi Pin LCD 16x2 Tabel 2.21. Konfigurasi Pin LCD 16x2 Nomor PIN 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 PIN Keterangan VSS VDD Vo RS R/W EN DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 - GND 5V Kontras Read / Write Enable Data 0 Data 1 Data 2 Data 3 Data 4 Data 5 Data 6 Data 7 - Display karakter pada LCD diatur oleh pin EN, RS dan R/W dimana jalur EN dinamakan Enable. Jalur ini digunakan untuk memberitahukan LCD bahwa 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 R/W. Ketika dua jalur yang lain telah siap, set En dengan logika high “1” dan tunggu utnuk sejumlah waktu tertentu (sesuai dengan datasheet dari LCD tersebut) dan berikutnya set ke logika low “0” lagi. Jalur RS adalah jalur Register Select. Ketika RS berlogika low “0”, data akan di anggap sebagai sebagai sebuah perintah atau instruksi khusus (seperti clear screen, posisi kursor, dll). Ketika RS berlogika high “1” , data yang dikirim adalah data text yagn akan ditampilkan pada display LCD. Sebagai contoh, untuk menampilkan angka “1” pada layar LCD maka RS harus diset logika high “1”, jalur R/W adalah jalur control Read/Write. Ketika R/W berlogika high “1”, maka program akan melakukan pembacaan memori dari

(38) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 21 LCD. Sedangakan pada aplikasi umum pin R/W selalu diberi logika low “0”. Pada akhirnya, bus data terdiri dari 4 atau 8 jalur (bergantung pada mode operasi yang dipilih oleh user). Pada kasus bus data8 bit, jalur diacuhkan sebagai DB0 s/d DB7. 2.5. Potensiometer Digital Potensiometer atau resistor digital menggunakan seri DS1669. DS1669 menawarkan dua paket IC standar yaitu 8-pin DIP 300-mil (gambar 2.9) dan 8-pin SOIC 208-mil (gambar 2.10). DS1669 dapat dikonfigurasikan untuk beroperasi menggunakan pushbutton tunggal, pushbutton ganda atau sumber input dengan memvariasikan kondisi daya. Gambar 2.9. Konfigurasi Pin DS1669 8-pin DIP 300-mil [9] Gambar 2.10. Konfigurasi Pin DS1669 8-pin SOIC 208-mil [9] Deskripsi Pin DS1669 sebagai berikut [9] : a. RH (High Terminal of Potensiometer) b. RW ( Wiper Terminal of Potensiometer) c. RL (Low Terminal of Potensiometer) d. –V, +V (Voltage Inputs) e. UC (Up Contact Input) f. D (Digital Input) g. DC (Down Contact Input)

(39) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 22 IC DS1669 dapat dikonfigurasi untuk beroperasi dari contact closure tunggal, contact closure ganda, atau sumber digital input (D). Contact closure didefinisikan sebagai transisi dari tingkat tinggi ke tingkat rendah pada input up contact (UC) atau down contact (DC). Ketiga input kontrol aktif ketika dalam keadaan low dan tidak aktif ketika dalam keadaan high. IC DS1669 menafsirkan masukan lebar pulsa sebagai sarana untuk mengontrol gerakan wiper. Sebuah masukan pulsa tunggal pada terminal masukan UC, DC, atau D akan menyebabkan posisi wiper untuk bergerak 1/64 dari hambatan total. Sebuah transisi dari tinggi ke rendah pada masukan tersebut dianggap sebagai awal activity pulse atau contact closure. Sebuah pulsa tunggal harus lebih besar dari 1 ms tapi berlangsung tidak lebih dari 1 detik. Masukan pulsa yang berlangsung lebih lama dari 1 detik akan menyebabkan wiper bergerak satu posisi setiap 100ms mengikuti waktu 1 detik terus awal. Total waktu untuk mengatasi seluruh potensiometer menggunakan pulsa masukan terus menerus diberikan oleh persamaan: 1 + 63 × 100 = 7.3 (2.8) Operasi contact closure tunggal memungkinkan pengguna untuk mengontrol gerakan wiper di kedua arah dari masukan pushbutton tunggal. Gambar 2.11 menyajikan konfigurasi pushbutton tunggal. Masukan UC digunakan untuk kenaikan dan pengurangan posisi wiper untuk mode operasi pushbutton tunggal. Masukan DC tidak memberikan fungsi pada mode ini, tetapi harus terhubung ke sumber tegangan positif (Vcc). Gambar 2.11. DS1669 dengan pushbutton tunggal [9]

(40) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 23 Arah awal gerakan wiper dalam operasi pushbutton tunggal ditentukan oleh aktivitas sebelumnya. Arah awal gerakan wiper akan berlawanan dengan kegiatan sebelumnya. Mengubah arah gerakan wiper dalam mode pushbutton tunggal dicapai dengan memungkinkan masa tidak aktif pada masukan dari UC (lebih besar dari) 1 detik, atau dengan menggerakkan wiper untuk akhir dari kisaran potensiometer. Hal ini akan terjadi terlepas dari apakah input adalah pulsa terus menerus, urutan pulsa berulang atau pulsa tunggal. sumber digital input (D), dirancang untuk mikroprosesor atau aplikasi pengendali. Masukan pengendali ini memanipulasi perangkat dengan cara yang sama seperti konfigurasi pushbutton tunggal, mengendalikan pergerakan posisi wiper baik arah keatas dan ke bawah. Penambahan fitur atas konfigurasi pushbutton tunggal adalah kemampuan untuk kenaikan atau pengurangan posisi wiper pada tingkat yang lebih cepat. Dalam mode pushbutton ganda, setiap arah dikendalikan oleh masukan up contact (UC) atau down contact (DC), masing-masing. Tidak ada pernyataan menunggu yang diperlukan untuk mengubah arah wiper dalam mode pushbutton ganda. Dalam mode pushbutton ganda, sebagai posisi wiper mencapai potensiometer akhir, arah gerakan wiper tidak akan berubah. Gambar 2.12. DS1669 dengan pushbutton ganda [9] Semua masukan UC, DC, dan D, secara internal pulled-up oleh hambatan 100kΩ. Masukan UC dan DC secara internal debounced dan tidak memerlukan komponen eksternal untuk pengkondisian sinyal masukan.

(41) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 24 2.6. Rectifier Rectifier adalah sebuah rangkaian yang mengkonversi sebuah sinyal AC (arus bolak-balik) menjadi sinyal DC (arus searah). Gambar 2.13. Rangkaian Penyearah Gelombang Penuh = = 2.7. √2 − (2 ∙ (2.9) ) (2.10) Filter Filter dalam rangkaian penyearah digunakan untuk memperkecil tegangan ripple, sehingga dapat diperoleh tegangan keluaran yang lebih rata, dengan memanfaatkan proses pengisian dan pengosongan muatan kapasitor [10]. Penyearah gelombang penuh tapis kapasitor diperoleh dengan menghubungkan parallel kapasitor beban dari rangkaian seperti pada gambar 2.14. Bentuk gelombang tegangan keluaran terlihat pada gambar 2.15. Gambar 2.14. Rangkaian penyarah gelombang penuh

(42) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 25 Gambar 2.15. Bentuk gelombang penyearah gelombang penuh Bila tegangan pengosongan kapasitor total dinyatakan dengan Vr, maka tegangan keluaran dc [11] adalah: = − 2 (2.11) dimana: = Tegangan input regulator (Vi-Vo = 5V) [12] = Tegangan puncak = Tegangan ripple maka Vr adalah: = dimana: = Arus maksimal keluaran (2A) = Frekuensi = Kapasitor filter 2∙ ∙ ∙ (2.12)

(43) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 26 2.8. IC Regulator Regulator tegangan variabel merupakan regulator yang memiliki tegangan output dapat diubah-ubah sesuai kebutuhan. Rangkaian regulator tegangan variabel saat ini telah tersedia dalam bentuk chip IC regulator tegangan variabel 3-pin. IC LM317 merupakan chip IC regulator tegangan variabel untuk tegangan DC positif. Gambar 2.16. Rangkaian internal LM317 [12] Fungsi bagian pada regulator tegangan positif LM317 [13] seperti berikut:  Voltage reference adalah jalur atau bagian yang berfungsi untuk memberikan tegangan referensi dari kontrol tegangan output pada LM317. Input tegangan referensi diambil dari rangkaian pembagi tegangan variabel, R1 dan R2 pada rangkaian gambar 2.17.  Komparator berfungsi sebagai pembanding antar tegangan output dan tegangan referensi, dimana besarnya tegangan output dapat dihitung dari persamaan 2.7.  Circuit protection adalah rangkaian pelindung IC LM317 dari terjadinya arus korsleting.  Power regulator adalah rangkaian darlington transistor NPN yang berfungsi untuk memperkuat arus output regulator tegangan variabel LM317. IC regulator variabel di aplikasikan pada rangkaian dasar seperti gambar 2.17

(44) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 27 Gambar 2.17. Rangkaian dasar regulator LM317 [12] = 1.25 · 1 + + · (2.13) Cin diperlukan ketika regulator adalah lokasi jarak yang cukup dari filter catu daya. Cout tidak diperlukan untuk stabilitas, namun itu tidak meningkatkan respon transien. Bila Iadj adalah pengendali kurang dari 100uA, kesalahan yang berhubungan dengan istilah ini diabaikan dalam sebagian besar aplikasi [12]. Gambar 2.18. Rangkaian Regulator 0-12V [14] = 1+ + + ( + )− (2.14)

(45) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 28 Rangakaian regulator pada gambar 2.18 merupakan rangkaian pengembangan yang akan menghasilkan tegangan variabel keluaran berawal dari 0V. 2.9. Penguat Arus Transistor berfungsi sebagai penguat selain sebagai saklar. Prinsip yang digunakan dalam transistor sebagai penguat adalah arus kecil pada basis digunakan untuk mengontrol arus yang lebih besar yang diberikan ke kolektor melewati transistor tersebut. Fungsi dari transisitor hanya sebagai penguat ketika arus basis akan berubah. Perubahan arus kecil pada basis mengontrol inilah yang dinamakan dengan perubahan besar pada arus yang mengalir dari kolektor ke emitter. Kelebihan dari transistor penguat tidak hanya dapat menguatkan sinyal tetapi transistor ini juga bisa digunakan sebagai penguat arus, penguat tegangan dan penguat daya. Rangkaian darlington adalah rangkaian elektronika yang terdiri dari sepasang bipolar (dwikutub) yang tersambung secara tandem (seri). Sambungan seri dipakai untuk mendapatkan penguatan (gain) yang tinggi karena hasil penguatan pada transistor yang pertama akan dikuatkan lebih lanjut oleh transistor kedua. Keuntungan dari rangkaian darlington adalah penggunaan ruang yang lebih kecil dari pada rangkain dua transistor biasa dengan bentuk konfigurasi yang sama. Penguatan arus listrik atau rangkaian transistor darlington dituliskan dengan notasi β atau hfe. Gambar 2.19. Transistor Darlington gain dari

(46) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 29 Gambar 2.20. Konfigurasi Transistor Darlington [10] − + − + =0 (2.15) Mensubtitusikan persamaan: = ( + 1) (2.16) Maka persamaan IB: = + + ( + 1) (2.17)

(47) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI BAB III RANCANGAN PENELITIAN 3.1 Perancangan Sistem Secara Keseluruhan Keypad Mikrokontroler LCD Potensiometer Digital AC Transformator Rectifier Filter Regulator Beban Current Booster Gambar 3.1 Diagram blok sistem Diagram blok sistem penelitian pada gambar 3.1 menunjukkan urutan cara kerja sistem secara keseluruhan. Sistem ini terdiri atas beberapa bagian yaitu: a. Arus bolak-balik (ac) sebagai sumber masukan utama (PLN 220V). b. Transformator berfungsi untuk menurunkan level tegangan AC. c. Rectifier berfungsi untuk mengubah tegangan bolak-balik (AC) menjadi tegangan searah (DC). d. Filter berfungsi perata (penghalus) arus DC. e. Regulator berfungsi untuk memperoleh tegangan DC yang diharapkan. f. Current Booster berfungsi sebagai penguat arus. g. Keypad berfungsi untuk memasukkan tegangan. h. Mikrokontroler berfungsi memproses sistem. i. LCD sebagai penampil. 30

(48) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 31 j. Potensiometerdigital berfungsi untuk mengatur tegangan yang diinginkan. k. Beban berupa beban resistif. Nilai tegangan yang diinginkan oleh user akan dimasukkan melalui keypad dan ditampilkan melalui LCD. Data tersebut akan diproses oleh mikrokontroler ATmega8535 yang melalui potensiometer digital yang digunakan pada regulator akan mengeluarkan tegangan keluaran. Hasil tesebut akan dibandingkan kembali melalui mikrokontroler ATmega8535 untuk membandingkan tegangan yang diinginkan dan dihasilkan. Apabila tidak sama maka akan diproses kembali oleh mikrokontroler agar sama dengan nilai tegangan yang diharapkan. 3.2 Perancangan Perangkat Keras 3.2.1 Perancangan Rangkaian Sistem Minimum Mikrokontroler ATmega8535 Rangkaian sistem minimum berfungsi sebagai I/O untuk mengolah data dari keypad dan mengontrol potensiometer digital pada regulator variabel. Mikrokontroler membutuhkan sistem minimum yang terdiri dari rangkaian eksternal yaitu rangkaian osilator dan rangkaian reset. Rangkaian osilator ditunjukkan pada gambar 3.2. Perancangan rangkaian osilator menggunakan kristal dengan frekuensi 12Mhz dan menggunakan kapasitor 22pF (datasheet) pada pin XTAL1 dan XTAL2 di mikrokontroler. Gambar 3.2. Rangkaian osilator ATmega8535 [5] Gambar 3.3 menunjukkan rangkaian reset mikrokontroler ATmega8535. Rangkaian reset bertujuan untuk memaksa proses kerja pada mikrokontroler diulang dari awal. Jika tombol reset ditekan, maka pin reset akan mendapat input logika rendah, sehingga mikrokontroler akan mengulang proses eksekusi program dari awal. Pada perancangan rangkaian reset digunakan resistor sebesar 10kΩ dan kapasitor sebesar 10µF.

(49) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 32 Gambar 3.3. Rangkaian reset ATmega8535 [5] Perancangan pengunaan port sebagai input dan output pada mikrokontroler disesuaikan dengan kebutuhan. Port yang akan digunakan adalah portA, portB, portC dan portD. PortB digunakan sebagai port input dari keypad. PortD.0, portD.1, portD.2 dan portD.3 digunakan sebagai port data, sedangkan portD.4, portD.5 dan portD.6 digunakan sebagai port pengatur interface LCD. Pada portA.0 digunakan sebagai port potensiometer digital. Tabel 3.1 menunjukkan pengunaan port-port yang akan digunakan pada mikrokontroler ATmega8535. Tabel 3.1. Penggunaan port-port pada mikrokontroler No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Nama Port PortA.0 PortA.3 PortA.4 PortA.7 PortB.0 PortB.1 PortB.2 PortB.3 PortB.4 PortB.5 PortB.6 PortB.7 PortC.0 PortC.1 PortD.0 PortD.1 PortD.2 PortD.3 PortD.4 PortD.5 PortD.6 Keterangan UC PD_1 ADC_1 ADC_2 UD PD_1 K1 Keypad K2 Keypad K3 Keypad K4 Keypad B1 Keypad B2 Keypad B3 Keypad B4 Keypad UC PD_2 UD PD_2 DB 7 LCD DB 6 LCD DB 5 LCD DB 4 LCD Enable LCD R/W LCD RS LCD

(50) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 33 Secara keseluruhan rangkaian sistem minimum mikrokontroler ATmega8535 ditunjukkan pada gambar 3.4. Gambar 3.4. Rangkaian Sistem Minimum 3.2.2 Perancangan Rangkaian Penyearah Rangkaian penyearah seperti pada gambar 2.15 menggunakan trafo 3A dengan tegangan AC Vac sebesar 12V (Vrms) dan bridge rectifier. Diketahui arus beban Idc sebesar 2A. Pada persamaan 2.9 dapat dihitung nilai tegangan ac pada titik Vm seperti terlihat pada gambar 2.16 seperti perhitungan:

(51) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 34 = √2 = 12√2 = 16,9 Pada perhitungan nilai Vm dapat diperoleh sebesar 16,9V dari hasil tersebut dapat diperoleh nilai tegangan DC sebelum difilter VL dengan persamaan: = − (2 ∙ ) = 16,9 − (2 ∙ 0,7) = 15,5 Pada gambar 2.17 dan gambar 2.18, perhitungan nilai Vr dengan menentukan nilai tegangan dc (Vdc) sebesar 15V agar tegangan keluaran dc sebesar 12Vdc dapat dihitung melalui persamaan 2.11: = − 2 − −2 15 − 15,5 = −2 = = 0,25 Perhitungan kapasitor filter dapat diperoleh dengan persamaan 2.12 dengan nilai Vr sebesar 0,25V. Arus dc (Idc) dalam miliampere dan filter kapasitor (C) dalam microfarad. = = = 2∙ ∙ 2∙ ∙ 2000 2 ∙ 60 ∙ 0,25 = 66,7

(52) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 35 Pada perhitungan nilai minimal C diperoleh sebesar 66,7uF, nilai tesebut tidak terdapat dipasaran sehingga digunakan nilai kapasitor sebesar 1000uF. = × 100% = 0,25 × 100% 15 = 1,7% Pemilihan nilai C sebesar 1000uF akan berdampak memperkecil ripple seperti persamaan: = = 2∙ ∙ 2000 2 ∙ 60 ∙ 1000 = 0,017 maka ripple menjadi: = = × 100% 0,017 × 100% 15 = 0,11%

(53) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 36 3.2.3 Perancangan Rangkaian Regulator Gambar 3.6. Rangkaian Regulator 0-12V [14] Rangkaian regulator pada gambar 3.6 didisain untuk menghasilkan tegangan variabel keluaran 0V hingga 24V. Untuk membuatnya menjadi regulator tegangan variable resistor R2 diganti dengan potensiometer digital dengan nilai resistansi sebesar 10kΩ. Perhitungan nilai resistor R1 dapat diperoleh dengan persamaan 2.14 dimana telah diketahui nilai tegangan referensi Vref sebesar 1,25V, arus adjustable Iadj sebesar 46uF, dan tegangan keluaran Vo sebesar 24V serta nilai yang sudah ditentukan untuk VEE sebesar -5V dan resistor R3 sebesar 680Ω. = 1+ = = + + + ( − − ( + ( )− ) + ) + 1,25(10000 + 680) 24 − 1,25 − {46 × 10 (10000 + 680)} + (−5) = 773,5 ≈ 774

(54) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 37 Pada perhitungan diperoleh nilai resistor R1 sebesar 773,5Ω atau dapat dibulatkan menjadi 774Ω. Penentuan nilai kapasitor yang digunakan adalah Cin sebesar 0,1uF dan Cout sebesar 1uF disesuaikan berdasarkan datasheet IC regulator LM317 [12]. 3.2.4 Perancangan Rangkaian Current Booster Gambar 3.7. Rangkaian Current Booster Regulator LM317 hanya mampu mengalirkan arus maksimum sebesar 1,5A, maka agar dapat mengalirkan arus sebesar 2A diperlukan rangkaian current booster seperti pada gambar 3.7. = 1,4 = ∙ = = 1,4 2 = 0,7 Pada perhitungan nilai resistor R diporeh sebesar 0,7Ω, dari hasil tersebut tidak terdapat dipasaran sehingga digunakan nilai resisitor sebesar 1Ω yang terdapat dipasaran.

(55) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 38 3.2.5 Rangkaian LCD Gambar 3.8. Rangkaian LCD [15] LCD digunakan untuk menampilkan data output dari sensor PIR dan ultrasonik. LCD yang digunakan adalah LCD 16x2 yang memiliki tipe LMB162A. LCD 16x2 bertipe ini memungkinkan pemrogram untuk mengoperasikan komunikasi data secara 8 bit atau 4 bit. Dalam perancangan ini mode yang digunakan untuk menuliskan data ke LCD digunakan sebanyak 4 bit (mode nibble). PortD.0, portD.1, portD.2 dan portD.3 digunakan sebagai port data, sedangkan portD.4, portD.5 dan portD.6 digunakan sebagai port pengatur interface LCD. Berdasarkan datasheet tegangan kontras (Vcc LCD) maksimum sebesar 5VDC, sehingga dalam perancangan digunakan sebuah resistor variabel sebesar 10KΩ yang berfungsi untuk membatasi tegangan yang masuk ke pin Vcc LCD. Rangkaian LCD dengan mode 4 bit ditunjukkan pada gambar 3.8. 3.2.6 Rangkaian Keypad Keypad yang digunakan dengan matriks 4x4. Keypad berfungsi sebagai masukan nilai tegangan yang diinginkan oleh user. Port yang digunakan pada mikrokontroler untuk keypad adalah portB.0 sampai portB.7. PortB.0, portB.2, portB.4, dan portB.6 atau port

(56) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 39 baris digunakan sebagai input, sedangkan portB.1, portB.3, portB.5, dan portB.7 atau port kolom digunakan sebagai output. Gambar 3.9. Rangkaian keypad 4x4 3.3 Perancangan Perangkat Lunak 3.3.1 Diagram Alir Sistem Diagram alir sistem ditunjukkan pada gambar 3.10. Program utama menunjukkan proses perancangan secara keseluruhan. Program di mulai dengan melakukan inisialisasi port-port mikrokontroler yang digunakan untuk proses yang akan terjadi. Kemudian user memasukkan input tegangan melalui keypad dan keluaran tegangan akan tertampil di LCD, kemudian program akan dilanjutkan ke bagian proses. Dari bagian proses, dihasilkan tegangan keluaran yang akan dibandingkan dengan input tegangan apakah sudah sama. Jika data tersebut belum sama akan kembali ke bagian proses penyetaraan dan jika sudah sama akan dilanjutkan ke program berikutnya.

(57) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 40 Gambar 3.10. Diagram alir sistem 3.3.2 Diagram Alir Input Tegangan Diagram alir input tegangan ditunjukan pada gambar 3.11. Subrutin ini akan menjelaskan dimana input tegangan yang dimasukkan melalui tombol pada keypad dan tertampil melalui LCD.

(58) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 41 Gambar 3.11. Diagram Alir Input Tegangan 3.3.3 Diagram Alir Proses Diagram alir proses ditunjukkan pada gambar 3.12. Pada diagram alir ini data-data akan diinisialisaikan kemudian data yang baru akan dibandingkan dengan data awal yang diberikan dengan nilai 0. Jika data awal lebih kecil dari data baru maka increment data awal. Jika data awal lebih besar dari data baru maka decrement data awal kemudian potensiometer digital akan berputar kearah kebalikan. Selanjutnya data akan diberi pulsa sebesar 100ms. Jika data awal sama dengan data baru maka program selesai. Jika data awal belum sama dengan data baru maka kembali keawal program.

(59) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 42 Gambar 3.12. Diagram Alir Proses 3.3.4 Diagram Alir Proses Penyetaraan Diagram alir proses penyetaraan ditunjukkan pada gambar 3.13. Diagram alir proses penyetaraan ini merupakan proses menyamakan tegangan masukan dan tegangan keluaran yang diharapkan. Pada diagram alir ini tegangan akan dikonversikan ke ADC. Jika keluaran lebih kecil dari masukan maka kekurangan dari keluaran akan dijumlahkan. Jika keluaran lebih besar dari masukan maka kelebihan dari keluaran akan dikurangkan.

(60) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 43 Gambar 3.13. Diagram Alir Proses Penyetaraan

(61) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI BAB IV HASIL DAN PEMBAHASAN Bab ini membahas hasil dari alat catu daya digital berbasis mikrokontroler ATmega8535. Hasil pengamatan yang dilakukan berupa tegangan keluaran yang berubahubah baik yang tertampil maupun secara terukur dan tingkat keberhasilan alat secara keseluruhan. 4.1 Hasil Implementasi Alat Implementasi dari alat catu daya digital berbasis mikrokontroler ATmega8535 tersusun atas rangkaian potensiometer digital, sistem minimum ATmega8535, rangkaian LCD 16x2, rangkaian keypad, dan rangkaian regulator tegangan. Rangkaian sistem minimum ATmega8535 ditunjukkan pada gambar 4.1. digunakan untuk mengolah data input seperti keypad, dan pengaturan naik turunnya nilai tegangan pada potensiometer digital. Rangkaian LCD 16x2 dan rangkaian keypad sebagai penampil informasi ditunjukan pada Gambar 4.2. Gambar 4.1. Rangkaian Sistem minimum ATmega8535 44

(62) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 45 Gambar 4.2. Keypad 4x4 dan LCD 16x2 4.1.1 Rangkaian Potensiometer Digital Rangkaian Potensiometer digital seperti ditunjukkan pada gambar 4.3. Pada perancangan rangkaian potensiometer digital menggunakan regulator variable yaitu LM317, namun implementasinya menggunakan operational amplifier yaitu LM741. Alasan tidak menggunakan LM317 karena arus yang masuk ke potensiometer digital sama dengan penjumlahan Iadj dan IR1 (Ipot.dig = Iadj + IR1). Saat nilai hambatan potensiometer digital 10kΩ (nilai hambatan maksimal) tegangan antara Vout dan ground diperancangan adalah 12V maka: = . = . . + . 12 774 + 10000 = 1,1 Hasil perhitungan diperoleh arus potensiometer digital sebesar 1,1mA. Potensiometer digital memiliki karakteristik arus maksimum sebesar 1mA, sehingga hasil perhitungan sudah melebihi dari arus maksimum. Saat nilai hambatan potensiometer digital 10Ω (nilai hambatan minimum) maka:

(63) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 46 = . . 12 774 + 10 = 15 Hasil perhitungan diperoleh arus potensiometer digital sebesar 15mA. Arus tersebut sangat besar dari arus karakteristik potensiometer digital sendiri, sehingga merusak potensiometer digital. Gambar 4.3. Rangkaian PCB Potensiometer Digital Jika menggunakan LM741 potensiometer digital difungsikan sebagai pembagi tegangan. Berdasarkan datasheet diperoleh bahwa beda tegangan maksimum antara RH dan RL sebesar 8V maka diperlukan penguat menggunakan LM741 agar output yang dihasilkan sebesar 12V. Karakteristik Output dari LM741 kurang lebih sebesar 12V. Pada implementasi output yang dihasilkan kurang dari 12V, untuk memperoleh output tegangan yang diinginkan akan dibuffer dengan transistor yang diregulasikan dengan operational amplifier seperti ditunjukkan pada gambar 4.4.

(64) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 47 Penguat LM741 Buffer Potensiometer Digital Gambar 4.4 Rangkaian Potensiometer Digital 4.1.2 Rangkaian Regulator +15 Volt dan -15 Volt Rangkaian regulator 15 volt dan -15 volt ditunjukkan pada gambar 4.5. Tegangan keluaran rangkaian regulator dilakukan dengan cara mengukur tegangan keluaran menggunakan multimeter. Tabel 4.1. menunjukkan hasil pengujian tegangan keluaran regulator. Tabel 4.1. Hasil Pengujian tegangan keluaran regulator +15 Volt dan -15 Volt Regulator +15 Volt -15 Volt Tegangan Keluaran (Volt) +15,02 -15,30 Error (Volt) 0,02 0,30 Berdasarkan tabel 4.1. hasil pengukuran tegangan keluaran rangkaian regulator +15 volt dan -15 volt akan dipergunakan sebagai sumber operational amplifier. Beda tegangan antara Vcc dan Vee operational amplifier maksimum 15 volt sehingga untuk menurunkan tegangan menggunakan dioda 5 A, tegangan yang dihasilkan seperti tabel 4.2.

(65) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 48 Tabel 4.2. Hasil Penurunan tegangan keluaran regulator +15 Volt dan -15 Volt Regulator +15 Volt -15 Volt Tegangan Keluaran (Volt) +14,32 -14,68 Error (Volt) 0,68 0,32 Gambar 4.5. Rangkaian Regulator +15V dan -15V 4.2 Data Pengujian Dan Pembahasan Data pengujian dan pembahasan meliputi tegangan keluaran tanpa beban yang tertampil maupun secara terukur menggunakan multimeter dan arus keluaran saat berbeban secara terukur menggunakan multimeter. Beban yang digunakan adalah beban resistif. 4.2.1 Pengujian Tegangan Keluaran Tanpa beban Pengujian dilakukan dengan user memasukan nilai tegangan melalui keypad dan hasil tegangan akan tertampil pada LCD dan di ukur menggunakan multimeter. Tabel 4.3 merupakan hasil pengujian tanpa beban. Hasil pengujian dapat dihitung nilai error menggunakan rumus berikut: = − × 100%

(66) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 49 Tabel 4.3. Hasil Pengujian Tanpa beban No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 Masukan (V) 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 Tampilan (V) 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 Terukur (V) 0.0 0.1 0.2 0.2 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 Error (%) 0.0 0.0 0.0 33.3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

(67) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 50 No 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 Masukan (V) 3.8 3.9 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 5.0 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 6.0 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7.0 7.1 7.2 7.3 7.4 7.5 7.6 7.7 Tampilan (V) 3.8 3.9 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 5.0 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 6.0 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7.0 7.1 7.2 7.3 7.4 7.5 7.6 7.7 Terukur (V) 3.8 3.9 3.9 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 5.0 5.1 5.2 5.3 5.4 5.5 5.7 5.7 5.8 5.9 6.0 6.1 6.3 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7.0 7.1 7.2 7.3 7.4 7.5 7.6 Error (%) 0.0 0.0 2.5 2.4 2.4 2.3 2.3 2.2 2.2 2.1 2.1 2.0 2.0 2.0 1.9 1.9 1.9 1.8 1.8 0.0 1.7 1.7 1.7 1.6 1.6 0.0 1.6 1.5 1.5 1.5 1.5 1.4 1.4 1.4 1.4 1.4 1.4 1.3 1.3 1.3

(68) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 51 No 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 Masukan (V) 7.8 7.9 8.0 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 9.0 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10.0 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 11.0 11.1 11.2 11.3 11.4 11.5 11.6 11.7 Tampilan (V) 7.8 7.9 8.0 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 9.0 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10.0 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 11.0 11.1 11.2 11.3 11.4 11.5 11.6 11.7 Terukur (V) 7.7 7.8 7.9 8.0 8.1 8.2 8.4 8.4 8.5 8.7 8.7 8.8 8.9 9.0 9.1 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.9 9.9 10.0 10.1 10.2 10.4 10.5 10.6 10.7 10.8 10.9 11.1 11.2 11.2 11.3 11.4 11.6 11.6 Error (%) 1.3 1.3 1.3 1.2 1.2 1.2 0.0 1.2 1.2 0.0 1.1 1.1 1.1 1.1 1.1 2.2 2.1 2.1 2.1 2.1 2.0 2.0 1.0 2.0 2.0 1.9 1.9 1.0 0.9 0.9 0.9 0.9 0.9 0.0 0.0 0.9 0.9 0.9 0.0 0.9

(69) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 52 No 119 120 121 Masukan (V) 11.8 11.9 12.0 Tampilan (V) Terukur (V) Error (%) 11.8 11.7 0.8 11.9 11.9 0.0 12.0 11.9 0.8 146.9 Jumlah Error (%) 1.2 Rata-Rata Error (%) Hasil perhitungan dari rumus error di atas dapat diketahui hasil Jumlah error sebesar 146,9 % dan jumlah data sebanyak 121 data. = ∑ 121 146,9% = 121 = 1,2% Hasil perhitungan diperoleh error data secara keseluruhan sebesar 1,2%. 4.2.2 Pengujian Keluaran Berbeban Hasil pengujian keluaran arus berbeban ditunjukkan pada tabel 4.4 diperoleh error arus pada beban 44 Ohm sebesar 18,9% dan pada beban 22 Ohm sebesar 35,2%. Hasil perhitungan di atas berdasarkan rumus: ℎ (%) = ℎ − ℎ × 100 = maka (%) = ℎ 12

(70) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 53 Tabel 4.4 Hasil Pengujian Arus berbeban No 1 2 3 4 5 6 7 8 9 10 11 12 Tegangan Input (V) 1 2 3 4 5 6 7 8 9 10 11 12 Arus Terukur (mA) 44 Ohm 22Ohm 19.1 24.2 37.7 55.6 55.9 90.5 72.9 120.6 91.1 149.8 110.2 181.9 127.9 209.5 146.1 240.4 164.5 270.6 182.1 302.2 201.6 332.1 219.9 363.8 Arus Terhitung (mA) 44 Ohm 22Ohm 22.7 45.5 45.5 90.9 68.2 136.4 90.9 181.8 113.6 227.3 136.4 272.7 159.1 318.2 181.8 363.6 204.5 409.1 227.3 454.5 250.0 500.0 272.7 545.5 Jumlah Error Rata-Rata Error (%) Error (%) 44 Ohm 22Ohm 16.0 46.8 17.1 38.8 18.0 33.6 19.8 33.7 19.8 34.1 19.2 33.3 19.6 34.2 19.6 33.9 19.6 33.9 19.9 33.5 19.4 33.6 19.4 33.3 227.3 422.6 18.9 35.2 Hasil pengujian tegangan terukur ditunjukkan pada tabel 4.5 diperoleh error pada beban 44 Ohm sebesar 0,5% dan error pada beban 22 Ohm sebesar 0,8%. Hasil perhitungan di atas berdasarkan rumus: − (%) = ℎ × 100 = (%) = ℎ 12

(71) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 54 Tabel 4.5 Hasil Pengujian Tegangan Berbeban Tegangan Input No (V) 1 2 3 4 5 6 7 8 9 10 11 12 4.3 1 2 3 4 5 6 7 8 9 10 11 12 Tegangan terukur (V) 44 Ohm 22 Ohm 1.0 1.0 2.1 2.0 3.1 3.0 4.1 4.0 5.0 5.0 6.0 5.9 6.9 7.0 8.0 8.0 9.0 9.0 10.1 9.9 11.0 10.9 12.0 11.7 Jumlah Error Rata-Rata Error (%) Error (%) 44 Ohm 22 Ohm 0.6 0.2 2.7 1.3 2.5 0.6 2.0 0.2 0.8 0.6 0.7 1.3 1.0 0.7 0.5 0.4 0.6 0.4 0.7 0.9 0.3 0.9 0.0 2.5 6.4 9.7 0.5 0.8 Analisa dan Pembahasan Perangkat Lunak Perangkat lunak dibuat dengan menggunakan software compiler CodeVision AVR dan bahasa pemrograman yang digunakan adalah bahasa C. Perangkat lunak terdiri dari tampilan menu tegangan input dc, dan tegangan output dc. 4.2.3 Program Menu Utama Program menu utama merupakan program yang akan di eksekusi ketika user menekan tombol ON pada alat keseluruhan. Ketika alat dalam keadaan ON maka pada LCD akan menampilkan menu utama seperti gambar 4.6 untuk user memilih menu dengan menekan tombol # (menggeser menu pilihan kekanan) atau tombol * (menggeser menu pilihan ke kiri) pada keypad. Menu pilihan yang tersedia yaitu tegangan DC, PWM 1Hz20KHz, Sweep, Voltmeter 0-12V, dan Manual Sweep ditunjukkan pada gambar 4.7. Setelah user memilih salah satu menu yang telah tersedia maka user dapat menekan tombol A (ok) sebagai tanda persetujuan melalui keypad.

(72) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 55 Gambar 4.6 Tampilan Menu utama Gambar 4.7 Tampilan Menu pilihan Berikut adalah penggalan program dari pemilihan menu: void MenuProgram() { int geser=0,tempGeser=4; int latch=1; char state=0; PORTA.0=1; PORTA.1=1; PORTA.2=0; lcd_clear(); lcd_gotoxy(0,1); lcd_putsf("*=<<,#=>>,A=ok!"); while(1) { state=kbhit(); if(state=='#') { geser++; delay_ms(300); } if(state=='*') {

(73) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 56 geser--; delay_ms(300); } if(state=='A') { …………. goto endMenu; } 4.3.2 Program Tegangan Masukan Program memasukkan tegangan setelah user memilih tegangan DC pada menu utama ditunjukkan pada gambar 4.8. Selanjutnya user dapat memasukkan nilai tegangan ketika menekan tombol A pada keypad maka akan muncul tampilan pada LCD seperti pada gambar 4.7. Berikut merupakan penggalan program memasukkan tegangan: void getMasukkanTegangan() { ……….. teganganInput=teganganPuluhan*10+teganganSatuan+teganganBelakangKoma*0.1; teganganADC=teganganInput*82.986; delay_ms(200); } Gambar 4. 8 Tampilan Memasukkan Tegangan Proses yang akan dilakukan setelah memasukan tegangan, data akan dikonversikan ke ADC. Contoh user memasukkan tegangan sebesar 12,0V. Angka 1 merupakan nilai tegangan puluhan, angka 2 merupakan nilai tegangan satuan, dan nilai 0 merupakan tegangan belakang koma maka pada program akan dihitung sebagai berikut: =( ℎ × 10) + ( )+( = (1 × 10) + 2 + (0 × 0,1) × 0,1)

(74) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 57 = 12,0 Hasil dari perhitungan tegangan input akan dikonversikan ke ADC dengan perhitungan berikut: = × 82.968 = 12,0 × 82,968 = 995,616 4.3.3 Program Proses Program proses merupakan program yang akan membaca tegangan dan menghasilkan nilai tegangan ADC. Berikut penggalan program membaca tegangan: void bacaTegangan(int channel) { int a; nilaiTeganganADC=0; for(a=0;a<64;a++) { nilaiTeganganADC+=read_adc(channel); } nilaiTeganganADC/=64; } Nilai tegangan ADC awal sebesar 0 atau tidak memiliki nilai. Nilai tegangan ADC akan dijumlahkan dengan nilai tegangan ADC sebelumnya yang tidak diketahui pasti nilainya sebanyak 64 kali. Hasil penjumlahan nilai tegangan ADC tersebut akan dibagi dengan 64. Enam puluh empat merupakan nilai dari pembagian antara integer dan ADC seperti berikut: 64 = 64 = 65536 1024

(75) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 58 diketahui integer jangkauan nilainya 0 sampai dengan 65535 dan ADC jangakauan nilainya 0 sampai dengan 1023. 4.3.4 Program penyetaraan Program penyetaraan merupakan bagian program yang membandingkan tegangan antara ADC pada potensiometer digital 1 dan potensiometer digital 2. Berikut merupakan penggalan program proses penyetaraan: while (1) { while(aturTegangan==1) { bacaTegangan(3); if(nilaiTeganganADC>"); ………….. } if(nilaiTeganganADC>teganganADC+8) { PORTA.2=0; PORTA.7=1;lcd_gotoxy(10,0); lcd_putsf("<<"); …………… } else { ………….. while(1) { bacaTegangan(3); kembaliKeMenu(); if(nilaiTeganganADC>teganganADC) { PORTA.2=1; PORTC.1=1;lcd_gotoxy(10,0); lcd_putsf("< "); …………. } if(nilaiTeganganADC ");

(76) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 59 ………… } if(nilaiTeganganADC==teganganADC) { PORTA.2=1; PORTC.1=1;lcd_gotoxy(10,0); lcd_putsf("ok!"); delay_ms(DelayPotensio); if(nilaiTeganganADC==teganganADC) { …………. } } tampilTegangan(); } } tampilTegangan(); Nilai tegangan ADC (Output) yang diperoleh dari hasil proses akan dibandingkan dengan dengan tegangan ADC (input). Jika tegangan input ADC lebih kecil dengan tegangan ADC dikurang dengan nilai 8 maka menaikan potensiometer digital dengan mengubah pin control UC_1 (up control pada potensiometer digital 1) menjadi low selama antara antara 1 ms sampai dengan 100 ms pada program ini selama 5 ms dimana sudah bisa mengeser satu nilai. Jika tegangan input ADC lebih besar dengan tegangan ADC ditambah dengan nilai 8 maka menurunkan potensiometer digital dengan mengubah pin control DC_1 (down control pada potensiometer digital 1) menjadi high selama antara antara 1 ms sampai dengan 100 ms pada program ini selama 5 ms dimana sudah bisa mengeser satu nilai. Nilai ±8 diperoleh dari 1023/63 setiap geser naik atau turun loncat 16 nilai secara teoritis. Selain proses pembandingan tidak berada seperti proses di atas maka akan diproses pada fungsi else yaitu: Jika tegangan input ADC lebih besar dengan tegangan ADC ditambah dengan nilai 2 maka menurunkan potensiometer digital dengan mengubah pin control UC_2 (up control pada potensiometer digital 2) menjadi low selama antara 5 ms dimana sudah bisa mengeser satu nilai. Jika tegangan input ADC lebih besar dengan tegangan ADC ditambah dengan nilai 2 maka menurunkan potensiometer digital dengan mengubah pin control DC_2 (down

(77) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 60 control pada potensiometer digital 2) menjadi high selama 5 ms dimana sudah bisa mengeser satu nilai. Jika nilai tegangan ADC sama dengan nilai tegangan ADC maka akan dilanjutkan pada proses tampilkan tegangan. Berikut penggalan program yang akan menampilkan nilai tegangan: void tampilTegangan() { if(nilaiTeganganADCTemp!=nilaiTeganganADC) { tegangan=(nilaiTeganganADC+1)*0.0120528; depanKoma=tegangan; belakangKoma=(tegangan-depanKoma)*10; lcd_clear(); lcd_gotoxy(0,0); sprintf(temp,"ADC:%d",nilaiTeganganADC); lcd_puts(temp); lcd_gotoxy(0,1); sprintf(temp2,"voltage=%d.",depanKoma); lcd_puts(temp2); if(belakangKoma<0) { belakangKoma*=-1; } sprintf(temp3,"%d",belakangKoma); lcd_puts(temp3); nilaiTeganganADCTemp=nilaiTeganganADC; } } Contoh perhitungan berikut menggunakan nilai tegangan ADC sebesar 995,616 maka perhitungan tegangan yang akan ditampilkan pada LCD sebagai berikut: =( + 1) × 0,0120528 = (995,616 + 1) × 0,0120528 = 12,012

(78) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 61 Hasil dari perhitungan tegangan merupakan nilai yang berbilangan pecahan (float) sehingga nilai tegangan tersebut dibagi 2 yaitu depan koma dan belakang koma yang nilainya masing-masing akan berbilangan bulat (int) seperti berikut: = = 12 =( − ) × 10 = (12,012 − 12) × 10 = 0,12 dalam tipe int bilangan yang kurang dari 1 akan dianggap sebagai 0 maka nilai belakang koma menjadi 0, sehingga di LCD akan tertampil: = = 995,616 dan = = 12

(79) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI BAB V KESIMPULAN DAN SARAN 5.1 Kesimpulan Dari hasil pengujian dan pengambilan data catu daya digital berbasis mikrokontroler ATmega8535, dapat diambil kesimpulan: 1. Secara keseluruhan alat sudah bekerja dengan baik tegangan yang diinginkan seseuai dengan tegangan keluaran, tegangan masukan sama dengan tegangan keluaran secara tertampil. 2. Tingkat keberhasilan alat sebesar 98,8% dengan error sebesar 1,2% dari hasil pengujian alat secara terukur. 5.2 Saran Saran bagi pengembangan selanjutnya adalah: Adanya keterbatasan jenis potensiometer digital dipasaran maka diperlukan penelitian spesifikasi potensiometer digital yang tersedia terlebih dahulu sebelum merancang rangkaian catu daya. 62

(80) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI DAFTAR PUSTAKA [1] http://dewey.petra.ac.id/jiunkpe_dg_19487_5.html, diakses tanggal 14 februari 2013 [2] http://110.138.206.53/bahanajar/modul_online/umum/POWER%20SUPPLY/index.ht m, diakses tanggal 25 februari 2013 [3] ----. 2011. Datasheet Mikrokontroler ATmega8535. Atmel [4] Bejo, Agus. 2008. C dan AVR Rahasia Kemudahan Bahasa C dalam Mikrokontroler ATMega8535. 1st ed. GRAHA ILMU. Yogyakarta. [5] Winoto, Ardi. 2008. Mikrokontroler AVR ATmega8/32/16/8535 dan Pemrogramannya dengan Bahasa C pada WinAVR. INFORMATIKA. Bandung [6] Heryanto, Ari M. P., Wisni Adi 2008. Pemograman Bahasa C untuk Mikrokontroler ATMEGA8535. 1st ed. C. V ANDI OFFSET. Yogyakarta. [7] http://depokinstruments.com/2011/07/27/teori-keypad-matriks-4x4-dan-carapenggunaannya/, Diakases tanggal 12 februari 2013 [8] http://depokinstruments.com/2010/02/08/teknik-pengendalian-lcd-karakter-i/, Diakses tanggal 11 Februari 2013 [9] ----. Datasheet DS1669 Dallastat Electronic Digital Rheostat. Dallas Semiconductor [10] Boylestad Robert, Louis Nashelsky. 1996. Electronic Devices and Circuit Theory sixth edition. New Jersey : Prentice Hall. [11] Widodo, Thomas Sri. 2002. Elektronika Dasar Dilengkapi dengan Contoh dan latihan serta Kunci Jawaban. Salemba Teknika. Jakarta. [12] ----. Datasheet LM317 3-Terminal Positive adjustable Regulator. FAIRCHILD Semiconductor. [13] http://elektronika-dasar.com/komponen/regulator-tegangan-variable-lm317/, diakses tangggal 18 april 13 [14] ----. 2013. 3-TERMINAL ADJUSTABLE REGULATOR. TEXAS INSTRUMEN [15] Andrianto, Heri. 2008. Pemrograman Mikrokontroler AVR menggunakan Bahasa C (CodeVision AVR). INFORMATIKA. Bandung 63 ATMEGA16

(81) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI LAMPIRAN L1

(82) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI L2 RANGKAIAN KESELURUHAN

(83) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI L3 LISTING PROGRAM /***************************************************** This program was produced by the CodeWizardAVR V2.05.0 Professional Automatic Program Generator © Copyright 1998-2010 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com Project : Version : Date : 2/4/2014 Author : Company : Comments: Chip type : ATmega8535 Program type : Application AVR Core Clock frequency: 12.000000 MHz Memory model : Small External RAM size :0 Data Stack size : 128 *****************************************************/ #include #include //library standart input output // Alphanumeric LCD Module functions #asm .equ __lcd_port=0x12 ;PORTC #endasm #include #include #define ADC_VREF_TYPE 0xC0 #define KEY_DIR DDRB //inisiasi port yang digunakan untuk membaca keypad #define KEY_IN PINB #define KEY_OUT PORTB #define BOUNCING 30 #define DelayPotensio 5 const char KEYTABLE[4][4] = {{1,4,7,'*'},{2,5,8,'0'},{3,6,9,'#'},{'A','B','C','D'}}; //digunakan sebagai nilai yang dipanggil dalam matrik keypad int timeLogicHighInt=0,timeLogicLowInt=0,i=0,PWMOn=0,sweepOn,step,voltmeter,manual Change,chargeCapacitor=1; //global variable unsigned int nilaiTeganganADC,nilaiTeganganADCTemp,aturTegangan=1,flipflop1; int depanKoma,belakangKoma;

(84) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI L4 float tegangan,teganganInput,teganganAwal,teganganAkhir,teganganStep,teganganADC,frekwe nsi,periodeUs,PWM,teganganProbe1,teganganProbe2; long timeLogicHigh,timeLogicLow; char karakter,teganganPuluhan,teganganSatuan,teganganBelakangKoma,temp[16],temp2[10],te mp3[5],satuan[3],menu,frekwensiRatusan,frekwensiPuluhan, frekwensiSatuan,frekwensiBelKoma,PWMRatusan,PWMPuluhan,PWMSatuan; eeprom unsigned int bacaTeganganKeluaranSweep[64],bacaTeganganMasukkanSweep[64]; void main(void); void konversiCharToLcd(char angka,int baris,int kolom) //digunakan untuk menampilkan karakter di lcd dari tipe data char { if(angka==1) { lcd_gotoxy(baris,kolom); lcd_putsf("1"); } if(angka==2) { lcd_gotoxy(baris,kolom); lcd_putsf("2"); } if(angka==3) { lcd_gotoxy(baris,kolom); lcd_putsf("3"); } if(angka==4) { lcd_gotoxy(baris,kolom); lcd_putsf("4"); } if(angka==5) { lcd_gotoxy(baris,kolom); lcd_putsf("5"); } if(angka==6) { lcd_gotoxy(baris,kolom); lcd_putsf("6"); } if(angka==7) { lcd_gotoxy(baris,kolom); lcd_putsf("7");

(85) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI L5 } if(angka==8) { lcd_gotoxy(baris,kolom); lcd_putsf("8"); } if(angka==9) { lcd_gotoxy(baris,kolom); lcd_putsf("9"); } if(angka==0) { lcd_gotoxy(baris,kolom); lcd_putsf("0"); } if(angka==10) { lcd_gotoxy(baris,kolom); lcd_putsf(" "); } } void initKeypad() //inisiasi bagian pin keypad yang akan dijadikan input dan output { KEY_DIR=0x0F; KEY_OUT=0xF0; } char kbhit() //digunakan untuk mendeteksi adanya tombol keypad yang ditekan { unsigned char row, col, row_val, output; unsigned char delaytime; output=0; for(col=0;col<4;col++) { KEY_OUT=~(1< 0; delaytime--) ; row_val=~((KEY_IN&0b11110000)>>4); for(row=0;row<4;row++) { if(row_val & (1<
(86) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI L6 } char getKeypadTampilLcd(int baris,int kolom) //digunakan untuk meminta data karakter dari masukan keypad yang telah diolah { unsigned char debcount; // debounce counter static unsigned char newkey=0; static unsigned char oldkey=0; int flipflop=0; do { if(flipflop==1) { konversiCharToLcd(0,baris,kolom); delay_ms(30); flipflop=0; } if(flipflop==0) { konversiCharToLcd(10,baris,kolom); delay_ms(30); flipflop=1; } newkey = kbhit(); } while(newkey == oldkey); for(debcount=0; debcount < BOUNCING; debcount++) { newkey = kbhit(); if(newkey == 0 || newkey != oldkey) { debcount=0; } oldkey = newkey; } if(newkey=='0') { newkey=0; } konversiCharToLcd(newkey,baris,kolom); return(newkey); } // Read the AD conversion result unsigned int read_adc(unsigned char adc_input) { ADMUX=adc_input | (ADC_VREF_TYPE & 0xff); // Delay needed for the stabilization of the ADC input voltage delay_us(10);

(87) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI L7 // Start the AD conversion ADCSRA|=0x40; // Wait for the AD conversion to complete while ((ADCSRA & 0x10)==0); ADCSRA|=0x10; return ADCW; } int angka(char nilai) { if(nilai!=1&&nilai!=2&&nilai!=3&&nilai!=4&&nilai!=5&&nilai!=6&&nilai!=7&&nilai! =8&&nilai!=9&&nilai!=0) {return 0;} else {return 1;} } void getMasukkanTegangan() { masukkanTeganganPuluhan: lcd_gotoxy(0,0);lcd_putsf("voltage:00.0volt"); teganganPuluhan=getKeypadTampilLcd(8,0); if(teganganPuluhan!=0&&teganganPuluhan!=1) { goto masukkanTeganganPuluhan; } masukkanTeganganSatuan: teganganSatuan=getKeypadTampilLcd(9,0); if(teganganPuluhan==0) { if(!angka(teganganSatuan)) { goto masukkanTeganganSatuan; } } else { if(teganganSatuan!=0&&teganganSatuan!=1&&teganganSatuan!=2) { goto masukkanTeganganSatuan; } } lcd_putsf("."); masukkanTeganganBelakangKoma: teganganBelakangKoma=getKeypadTampilLcd(11,0); if(teganganPuluhan==1&&teganganSatuan==2)

(88) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI L8 { teganganBelakangKoma=0; lcd_gotoxy(11,0); lcd_putsf("0"); goto teganganSelesai; } if(!angka(teganganBelakangKoma)) { goto masukkanTeganganBelakangKoma; } teganganSelesai: teganganInput=teganganPuluhan*10+teganganSatuan+teganganBelakangKoma*0.1; teganganADC=teganganInput*82.968; delay_ms(200); } void getMasukkanPulsa() { getMasukkanTegangan(); masukkanFrekwensiRatusan: frekwensiRatusan=getKeypadTampilLcd(5,1); if(!angka(frekwensiRatusan)) { goto masukkanFrekwensiRatusan; } masukkanFrekwensiPuluhan: frekwensiPuluhan=getKeypadTampilLcd(6,1); if(!angka(frekwensiPuluhan)) { goto masukkanFrekwensiPuluhan; } masukkanFrekwensiSatuan: frekwensiSatuan=getKeypadTampilLcd(7,1); if(!angka(frekwensiSatuan)) { goto masukkanFrekwensiSatuan; } masukkanFrekwensiBelKoma: frekwensiBelKoma=getKeypadTampilLcd(9,1); if(!angka(frekwensiBelKoma)) { goto masukkanFrekwensiBelKoma; } while(1) { if(kbhit()=='B') { lcd_gotoxy(10,1); satuan[0]=' ';

(89) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI L9 satuan[1]='H'; satuan[2]='z'; delay_ms(100); frekwensi=frekwensiRatusan*100+frekwensiPuluhan*10+frekwensiSatuan+frekwensiBel Koma*0.1; } if(kbhit()=='C') { lcd_gotoxy(10,1); satuan[0]='K'; satuan[1]='H'; satuan[2]='z'; delay_ms(100); frekwensi=frekwensiRatusan*100000+frekwensiPuluhan*10000+frekwensiSatuan*1000+f rekwensiBelKoma*100; } if(kbhit()=='A') { if(frekwensi>20000) { lcd_gotoxy(0,1);lcd_putsf("frek terlalu besar"); delay_ms(1000); lcd_gotoxy(0,1);lcd_putsf("freq:000.0 hz "); goto masukkanFrekwensiRatusan; } periodeUs=1/frekwensi*1000000; goto selesaiInputFrekwensi; } if(flipflop1==1) { lcd_gotoxy(10,1); lcd_puts(satuan); delay_ms(50); flipflop1=0; } if(flipflop1==0) { lcd_gotoxy(10,1); lcd_puts(" "); delay_ms(50); flipflop1=1; } } selesaiInputFrekwensi:

(90) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI L10 lcd_clear(); lcd_gotoxy(0,0); lcd_putsf("PWM:000 %"); inputPWMRatusan: PWMRatusan=getKeypadTampilLcd(4,0); if(!angka(PWMRatusan)) { goto inputPWMRatusan; } inputPWMPuluhan: PWMPuluhan=getKeypadTampilLcd(5,0); if(!angka(PWMPuluhan)) { goto inputPWMPuluhan; } inputPWMSatuan: PWMSatuan=getKeypadTampilLcd(6,0); if(!angka(PWMSatuan)) { goto inputPWMSatuan; } PWM=PWMRatusan*100+PWMPuluhan*10+PWMSatuan; if(PWM>100) { goto inputPWMRatusan; } timeLogicHigh=periodeUs*PWM*0.01; timeLogicLow=periodeUs-timeLogicHigh; timeLogicHighInt=timeLogicHigh; timeLogicLowInt=timeLogicLow; lcd_clear(); lcd_gotoxy(0,0); lcd_putsf("PLEASE WAIT"); PWMOn=1; } void getSweep() { lcd_gotoxy(0,1); lcd_putsf("Start"); getMasukkanTegangan(); teganganAwal=teganganADC; lcd_gotoxy(0,1); lcd_putsf("End "); getMasukkanTegangan(); teganganAkhir=teganganADC; lcd_gotoxy(0,1); lcd_putsf("Step ");

(91) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI L11 getMasukkanTegangan(); teganganStep=teganganADC; teganganADC=teganganAwal; } void MenuProgram() { int geser=0,tempGeser=4; char state=0; PORTA.0=1; PORTA.1=1; PORTA.2=0; lcd_clear(); lcd_gotoxy(0,1); lcd_putsf("*=<<,#=>>,A=ok!"); while(1) { state=kbhit(); if(state=='#') { geser++; delay_ms(300); } if(state=='*') { geser--; delay_ms(300); } if(state=='A') { delay_ms(300); if(geser==0) { lcd_clear(); getMasukkanTegangan(); aturTegangan=1; PWMOn=0; sweepOn=0; voltmeter=0; manualChange=0; goto endMenu; } if(geser==1) { lcd_clear(); lcd_gotoxy(0,1);lcd_putsf("freq:000.0 hz"); getMasukkanPulsa();

(92) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI L12 aturTegangan=1; PWMOn=1; sweepOn=0; voltmeter=0; manualChange=0; goto endMenu; } if(geser==2) { lcd_clear(); getSweep(); aturTegangan=1; PWMOn=0; sweepOn=1; voltmeter=0; manualChange=0; goto endMenu; } if(geser==3) { lcd_clear(); aturTegangan=0; PWMOn=0; sweepOn=0; voltmeter=1; manualChange=0; goto endMenu; } if(geser==4) { lcd_clear(); aturTegangan=0; PWMOn=0; sweepOn=0; voltmeter=0; manualChange=1; goto endMenu; } } if(geser>4) { geser=0; } if(geser<0) { geser=4; } if(geser==0&&tempGeser!=geser)

(93) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI L13 { lcd_gotoxy(0,0); lcd_putsf("tegangan DC "); tempGeser=geser; } if(geser==1&&tempGeser!=geser) { lcd_gotoxy(0,0); lcd_putsf("PWM 1Hz-10Khz "); tempGeser=geser; } if(geser==2&&tempGeser!=geser) { lcd_gotoxy(0,0); lcd_putsf("Sweep "); tempGeser=geser; } if(geser==3&&tempGeser!=geser) { lcd_gotoxy(0,0); lcd_putsf("Voltmeter0-12V"); tempGeser=geser; } if(geser==4&&tempGeser!=geser) { lcd_gotoxy(0,0); lcd_putsf("Manual Sweep "); tempGeser=geser; } } endMenu: } void tampilkanSweep() { float teganganMasukkanTampil[2],teganganKeluaranTampil[2]; int masukkanDepanKoma[2],masukkanBelakangKoma[2],keluaranDepanKoma[2],keluaranB elakangKoma[2],shift=0,tempShift=-1; char state,buffMasukkan[2][8],buffKeluaran[2][8]; while(1) { state=kbhit(); if(state=='C') { shift++; } if(state=='B')

(94) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI L14 { shift--; } if(state=='D') { MenuProgram(); } if(shift<0) { shift=0; } if(shift>=step-1) { shift=step-1; } if(shift!=tempShift) { teganganKeluaranTampil[0]=(bacaTeganganKeluaranSweep[shift]+1)*0.0120528; teganganKeluaranTampil[1]=(bacaTeganganKeluaranSweep[shift+1]+1)*0.0120528; keluaranDepanKoma[0]=teganganKeluaranTampil[0]; keluaranBelakangKoma[0]=(teganganKeluaranTampil[0]keluaranDepanKoma[0])*100; keluaranDepanKoma[1]=teganganKeluaranTampil[1]; keluaranBelakangKoma[1]=(teganganKeluaranTampil[1]keluaranDepanKoma[1])*100; teganganMasukkanTampil[0]=(bacaTeganganMasukkanSweep[shift]+1)*0.0120528; teganganMasukkanTampil[1]=(bacaTeganganMasukkanSweep[shift+1]+1)*0.0120528; masukkanDepanKoma[0]=teganganMasukkanTampil[0]; masukkanBelakangKoma[0]=(teganganMasukkanTampil[0]masukkanDepanKoma[0])*100; masukkanDepanKoma[1]=teganganMasukkanTampil[1]; masukkanBelakangKoma[1]=(teganganMasukkanTampil[1]masukkanDepanKoma[1])*100; lcd_clear(); sprintf(buffKeluaran[0],"%d ",shift); lcd_puts(buffKeluaran[0]); sprintf(buffKeluaran[0]," %d.",keluaranDepanKoma[0]); lcd_gotoxy(2,0); lcd_puts(buffKeluaran[0]); sprintf(buffKeluaran[0],"%dV|",keluaranBelakangKoma[0]); lcd_puts(buffKeluaran[0]); sprintf(buffMasukkan[0],"%d.",masukkanDepanKoma[0]); lcd_puts(buffMasukkan[0]); sprintf(buffMasukkan[0],"%dV",masukkanBelakangKoma[0]);

(95) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI L15 lcd_puts(buffMasukkan[0]); lcd_gotoxy(0,1); sprintf(buffKeluaran[1],"%d ",shift+1); lcd_puts(buffKeluaran[1]); sprintf(buffKeluaran[1]," %d.",keluaranDepanKoma[1]); lcd_gotoxy(2,1); lcd_puts(buffKeluaran[1]); sprintf(buffKeluaran[1],"%dV|",keluaranBelakangKoma[1]); lcd_puts(buffKeluaran[1]); sprintf(buffMasukkan[1],"%d.",masukkanDepanKoma[1]); lcd_puts(buffMasukkan[1]); sprintf(buffMasukkan[1],"%dV",masukkanBelakangKoma[1]); lcd_puts(buffMasukkan[1]); tempShift=shift; delay_ms(300); } } } void sweepProcess() { step=0; if(teganganAwal>=teganganAkhir) { lcd_gotoxy(0,1); lcd_putsf("turun"); while(nilaiTeganganADC>=teganganAkhir&&step<=63) { nilaiTeganganADC=read_adc(3); bacaTeganganKeluaranSweep[step]=nilaiTeganganADC; bacaTeganganMasukkanSweep[step]=read_adc(4); tegangan=(nilaiTeganganADC+1)*0.0120528; depanKoma=tegangan; belakangKoma=(tegangan-depanKoma)*10; lcd_clear(); lcd_gotoxy(0,0); sprintf(temp,"ADC:%d",nilaiTeganganADC); lcd_puts(temp); lcd_gotoxy(0,1); sprintf(temp2,"voltage=%d.",depanKoma); lcd_puts(temp2); sprintf(temp3,"%d",belakangKoma); lcd_puts(temp3); sprintf(temp2,"%d",step); lcd_gotoxy(14,1); lcd_puts(temp2);

(96) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI L16 PORTA.1=1; delay_ms(DelayPotensio); PORTA.1=0; delay_ms(DelayPotensio); PORTA.1=1; delay_ms(DelayPotensio); step++; } } if(teganganAwal
(97) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI L17 nilaiTeganganADC=0; for(a=0;a<64;a++) { nilaiTeganganADC+=read_adc(channel); } nilaiTeganganADC/=64; } void tampilTegangan() { if(nilaiTeganganADCTemp!=nilaiTeganganADC) { tegangan=(nilaiTeganganADC+1)*0.0120528; depanKoma=tegangan; belakangKoma=(tegangan-depanKoma)*10; lcd_clear(); lcd_gotoxy(0,0); sprintf(temp,"ADC:%d",nilaiTeganganADC); lcd_puts(temp); lcd_gotoxy(0,1); sprintf(temp2,"voltage=%d.",depanKoma); lcd_puts(temp2); if(belakangKoma<0) { belakangKoma*=-1; } sprintf(temp3,"%d",belakangKoma); lcd_puts(temp3); nilaiTeganganADCTemp=nilaiTeganganADC; } } void manual() { nilaiTeganganADCTemp=~nilaiTeganganADC; PORTA.2=1; while(1) { bacaTegangan(3); menu=kbhit(); switch(menu) //jika tombol 'D' ditekan maka akan memanggil subrutin Pilih_Menu()dan program akan menampilkan menu { case 'D': delay_ms(300);main();break; case 'B': lcd_gotoxy(10,0); lcd_putsf(">>");delay_ms(50);PORTA.0=0;delay_ms(DelayPotensio);PORTA.0=1;delay_ ms(DelayPotensio);lcd_gotoxy(10,0); lcd_putsf(" ");break;

(98) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI L18 case 'C': lcd_gotoxy(10,0); lcd_putsf("<<");delay_ms(50);PORTA.7=0;delay_ms(DelayPotensio);PORTA.7=1;delay_ ms(DelayPotensio);lcd_gotoxy(10,0); lcd_putsf(" ");break; case 6: lcd_gotoxy(10,0); lcd_putsf("> ");delay_ms(50);PORTC.0=0;delay_ms(DelayPotensio);PORTC.0=1;delay_ms(DelayPote nsio);lcd_gotoxy(10,0); lcd_putsf(" ");break; case 9: lcd_gotoxy(10,0); lcd_putsf("< ");delay_ms(50);PORTC.1=0;delay_ms(DelayPotensio);PORTC.1=1;delay_ms(DelayPote nsio);lcd_gotoxy(10,0); lcd_putsf(" ");break; } tampilTegangan(); } } void kembaliKeMenu() { menu=kbhit(); switch(menu) //jika tombol 'D' ditekan maka akan memanggil subrutin Pilih_Menu()dan program akan menampilkan menu { case 'D': delay_ms(300);main();break; } } void initPotensio() { int a; lcd_gotoxy(0,0); lcd_putsf(" adjust"); lcd_gotoxy(0,1); for(a=0;a<64;a++) { PORTA.0=0; PORTC.0=0; if(a%2==0) { lcd_putsf(">"); } delay_ms(DelayPotensio); PORTA.0=1; PORTC.0=1; delay_ms(DelayPotensio); } lcd_clear(); if(chargeCapacitor) { chargeCapacitor=0; lcd_gotoxy(0,0);

(99) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI L19 lcd_putsf("charge capacitor"); lcd_gotoxy(0,1); for(a=0;a<16;a++) { delay_ms(200); lcd_putsf("*"); } } lcd_clear(); lcd_gotoxy(0,0); lcd_putsf(" wait"); lcd_gotoxy(0,1); for(a=0;a<32;a++) { if(a%4==0) { lcd_putsf("<"); } PORTA.7=0; PORTC.1=0; delay_ms(DelayPotensio); PORTA.7=1; PORTC.1=1; delay_ms(DelayPotensio); } } void main(void) { // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: 12000.000 kHz // Mode: Normal top=0xFFFF // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: On // Input Capture on Falling Edge // Timer1 Overflow Interrupt: On // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off ACSR=0x80; TCCR1B=0x81; // ADC initialization // ADC Clock frequency: 750.000 kHz // ADC Voltage Reference: AREF pin // ADC High Speed Mode: Off // ADC Auto Trigger Source: ADC Stopped

(100) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI L20 ADMUX=ADC_VREF_TYPE & 0xff; ADCSRA=0x84; SFIOR&=0xEF; DDRA=0b10000111; PORTA=0b10000011; DDRC=0b11111111; PORTC=0b11111111; lcd_init(16); //inisiasi baris yang ada di dalam lcd initKeypad(); //menginisiasi keypad dengan memanggil library initPotensio(); MenuProgram(); while (1) { while(aturTegangan==1) { bacaTegangan(3); if(nilaiTeganganADC>"); delay_ms(50); PORTA.0=0; delay_ms(DelayPotensio); PORTA.0=1; delay_ms(DelayPotensio); } if(nilaiTeganganADC>teganganADC+8) { PORTA.2=0; PORTA.7=1;lcd_gotoxy(10,0); lcd_putsf("<<"); delay_ms(50); PORTA.7=0; delay_ms(DelayPotensio); PORTA.7=1; delay_ms(DelayPotensio); } else { PORTA.0=1; PORTA.1=1; PORTA.7=1; delay_ms(50); while(1) { bacaTegangan(3); kembaliKeMenu();

(101) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI L21 if(nilaiTeganganADC>teganganADC) { PORTA.2=1; PORTC.1=1;lcd_gotoxy(10,0); lcd_putsf("< "); delay_ms(50); PORTC.1=0; delay_ms(DelayPotensio); PORTC.1=1; delay_ms(DelayPotensio); } if(nilaiTeganganADC "); delay_ms(50); PORTC.0=0; delay_ms(DelayPotensio); PORTC.0=1; delay_ms(DelayPotensio); } if(nilaiTeganganADC==teganganADC) { PORTA.2=1; PORTC.1=1;lcd_gotoxy(10,0); lcd_putsf("ok!"); delay_ms(DelayPotensio); if(nilaiTeganganADC==teganganADC) { if(PWMOn==1||sweepOn==1) { aturTegangan=0; } } } tampilTegangan(); } } tampilTegangan(); } while(PWMOn==1) { PORTA.2=1; for(i=0;i<=timeLogicHighInt;i++) { kembaliKeMenu();

(102) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI L22 delay_us(1); } PORTA.2=0; for(i=0;i<=timeLogicLow;i++) { kembaliKeMenu(); delay_us(1); } } while(sweepOn==1) { lcd_clear(); lcd_putsf("Proses"); sweepProcess(); } while(voltmeter==1) { nilaiTeganganADC=read_adc(3); teganganProbe1=(nilaiTeganganADC+1)*0.0120528; depanKoma=teganganProbe1; belakangKoma=(teganganProbe1-depanKoma)*10; lcd_clear(); lcd_gotoxy(0,0); sprintf(temp2,"V-probe1=%d.",depanKoma); lcd_puts(temp2); sprintf(temp3,"%dV",belakangKoma); lcd_puts(temp3); nilaiTeganganADC=read_adc(4); teganganProbe2=(nilaiTeganganADC+1)*0.0120528; depanKoma=teganganProbe2; belakangKoma=(teganganProbe2-depanKoma)*10; lcd_gotoxy(0,1); sprintf(temp2,"V-probe2=%d.",depanKoma); lcd_puts(temp2); sprintf(temp3,"%dV",belakangKoma); lcd_puts(temp3); delay_ms(100); kembaliKeMenu(); } while(manualChange==1) { manual(); } } }

(103) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Daftar Riwayat Hidup IDENTITAS DIRI Nama : Maria Ratna Puspita Tempat dan Tanggal Lahir : Labuhan Batu (Sumatera Utara), 19 Juli 1989 Jenis Kelamin : Perempuan Agama : Katolik Alamat Rumah : Dsn. Kepuhsari, gang randu 22C, Maguwoharjo, Depok, Sleman, Yogyakarta. Telp./HP. : 085743559922 Alamat e-mail : maria_ratna_puspita@yahoo.com       LATARBELAKANG PENDIDIKAN 2008-2013, Universitas Sanata Dharma, Teknik Elektro di Yogyakarta dengan IPK 3,2 2005-2008, SMA Bruderan Purworejo di Purworejo 2002-2005, SMP Santa Theresia di Air Molek, Riau 1996-2002, SD Negeri di Bukit Lembah Subur, Riau PENGALAMAN KERJA Prakek kerja di PT. Yogya Presisi Tehnikatama Industri Periode : Januari – Februari 2012 Posisi : Staf Engineering Deskripsi pekerjaan : Mendisain Produk Asisten praktikum Mikrokontroler Dasar Periode : Februari – Juni 2011 Tahun 2009 2009 2009 2008 2008 PENGALAMAN ORGANISASI Jabatan Jenis/NamaOrganisasi Bendahara Himpunan Mahasiswa Jurusan Teknik Elektro USD periode 2009 Panitia - Seksi Alat Open House Paingan Universitas Sanata Dharma Peraga Panitia - Bendahara Pekan Inisiasi Sains dan Teknologi 2009 Peserta Pelatihan pendampingan Pengurus Baru HMJ dan UKF Fakultas Sains da Teknologi 2008 Panitia - Bendahara Open House Fakultas Sains dan Teknologi 2008

(104) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Daftar Riwayat Hidup      KEAHLIAN Menguasai Microsoft Office Word, Power Point Menguasai software pemrograman, CodeVisionAVR, Pinacle Menguasai bahasa pemrograman C, Assembly Menguasai software disain elektronika Eagle Menguasai software simulasi elektronika Microcap

(105)

Dokumen baru