TUGAS AKHIR - Robot pengantar makanan di restoran berbasis mikrokontroler AVR ATMEGA8535 - USD Repository
TUGAS AKHIR
ROBOT PENGANTAR MAKANAN DI RESTORAN
BERBASIS MIKROKONTROLER AVR ATMEGA8535
Diajukan untuk memenuhi salah satu syarat memperoleh gelar Sarjana Teknik Program Studi Teknik Elektro
Jurusan Teknik Elektro Fakultas Sains dan Teknologi Universitas Sanata Dharma disusun oleh :
YUANSYAH
NIM : 055114011
PROGRAM STUDI TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
FINAL PROJECT
FOOD DELIVER ROBOT IN RESTAURANT BASED
ON ATMEGA8535 MICROCONTROLLER
In partial fulfillment of the requirements for the degree of Sarjana Teknik Electrical Engineering Study Program
Electrical Engineering Departement Science and Technology Faculty Sanata Dharma University
by :
YUANSYAH
055114011
ELECTRICAL ENGINEERING STUDY PROGRAM
ELECTRICAL ENGINEERING DEPARTMENT
SCIENCE AND TECHNOLOGY FACULTY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2009
MOTO DAN PERSEMBAHAN
“DO SOMETHING FROM YOUR HEART”
LAKUKAN SEGALA SESUATU DARI DALAM HATIMU
KAMU AKAN SELALU DIKENANG KARENA PERBUATANMU, BUKAN KARENA KATA-KATAMU “BETTER LATE, DON’T NEVER”Skripsi Ini ku persembahkan untuk : Tuhan yang Maha Mulia Ama, Papa dan Mama tercinta
Ie-ie dan Ku-ku yang selalu memberikan motivasi Saudara-saudaraku yang terbaik Dosen-dosen yang membimbingku Dan teman-teman yang selalu mendukungku
INTISARI
Sekarang ini teknologi elektronika dapat menghasilkan peralatan, baik besar maupun kecil untuk pemenuhan kebutuhan manusia hampir di setiap bidang dengan cepat, tepat dan efisien. Otomasi peralatan seringkali diperlukan untuk mempercepat proses pelaksanaan suatu pekerjaan sehingga dapat meningkatkan efisiensi kerja. Belum ada kepraktisan pelayanan dalam mengantar makanan di restoran khususnya kelas menengah ke atas. Pada penelitian ini, robot
linefollower diaplikasikan menjadi pelayan restoran yang bertugas memberikan
informasi menu makanan dan nomor meja yang tersedia dan mengantar makanan ke meja sesuai dengan pilihan pelanggan.
Dalam penelitian ini, robot mengikuti jalur dengan kecepatan yang diatur sesuai dengan track yang telah ditentukan (4 meja pelanggan, 1 meja reservasi dan 1 meja koki). Penggerak robot menggunakan motor DC dan mikrokontroler yang digunakan untuk mengendalikan sistem robot pengantar makanan adalah mikrokontroler AVR ATMega8535.
Kapasitas beban maksimal yang dapat dibawa robot 8 Ons. Keberhasilan robot mengantar makanan sampai ke meja tujuan sebesar 90%. Kata kunci: AVR ATMega8535, aplikasi linefollower, robot pengantar.
ABSTRACT
Nowdays, electronic technology can produce small or big device to fulfill human’s need in every department quikly, precisely, and efficiently. The device’s automatism is often needed to speed up a process of a certain activity in order to improve work efficiency. There has not been a service practice in food delivery in restaurant especially high class restaurant. In this study, the linefollower robot is applied as a restaurant waitress that duty is to give information of the food menu and available table in restaurant and to deliver food to the table that has been chosen by the customer.
This study is examining, the robot follows the line with the speed that has been adjusted to the certain track (four costumer tables, 1 reserved table and 1 chef’s table). Robot’s control is using motor DC and using the AVR ATMega8535 microcontroller to control food deliverer robot system.
The maximal weight’s capacity thet the robot can carry is 8 ounces. The success percentage of the robot to deliver the food to the table is about 90%. Keyword: AVR ATMega8535, linefollower application, deliver robot.
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa atas berkat dan rahmat-Nya sehingga penulis dapat menyelesaikan karya tulis berjudul “Robot Pengantar Makanan di Restoran Berbasis Mikrokontroler AVR ATMega8535 ”.
Karya tulis ini merupakan salah satu syarat untuk memperoleh gelar Sarjana Teknik pada Program Studi Teknik Elektro Universitas Sanata Dharma.
Penulisan skripsi ini didasarkan pada hasil-hasil yang penulis dapatkan selama tahap perancangan, pembuatan dan pengujian alat.
Penulisan skripsi ini tidak terlepas dari bantuan berbagai pihak. Untuk itu, penulis mengucapkan terima kasih kepada:
1. Orang tua saya Liem Khiok Kia dan Tio Hui Cin yang telah memberi dukungan moral, spiritual dan finansial dalam penyusunan skripsi.
2. Bapak Yosef Agung Cahyanta, S.T., M.T. selaku Dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta.
3. Ibu Bernadeta Wuri Harini, S.T., M.T., selaku kepala program studi teknik
elektro dan selaku dosen pembimbing karya tulis yang telah meluangkan waktu, tenaga, dan pikirannya untuk membimbing penulis.
4. Bapak Ir. Tjendro dan bapak Martanto, S.T., M.T. yang telah membantu
dan memberikan ide-idenya kepada penulis dalam mengerjakan karya tulis ini.
5. Ibu Ir. Th. Prima Ari Setiyani, M.T., selaku wakil kepala program studi
6. Kakak dan adikku, Merry, Martinus, Meryana, Heryanto, Siska, Leo,
Lenny dan Malisa yang tersayang yang terus mendukung dan memberi semangat kepada penulis.
7. Paman, bibi dan keluarga besar yang terus memberikan semangat dan
motivasi kepada penulis.
8. Rekan-rekan yang telah memberikan bantuan kepada penulis dalam
pengerjaan karya tulis ini: Hendri Paulus, Yohan Kuncoro, G.W.Mantri, Thomas Supriadi, Adi Saputra, Christian N, Jofines Wijaya, dan Livie.
9. Teman-teman Ketapang yang terus memberi semangat dan dukungan
kepada penulis: Andy, Urbanusius, Welly A, Edy S, Hendrik, Ari M, Boike J.A, Yanti C, Yanti, Cita, Lise, Merry P, Erni Y, Candra, Heriyanto, Agus E, Victor, Ferry S, dan Feriyanto.
10. Segenap dosen dan laboran Teknik Elektro Universitas Sanata Dharma.
11. Segenap karyawan sekretariat Fakultas Sains dan Teknologi.
12. Teman-teman kontrakan “Sun Rise” : Vicimus B, Roland, Y. Taufan S,
Hengky S dan Mantok terima kasih atas dukungan dan bantuannya selama ini.
13. Teman-teman Teknik Elektro angkatan 2005 : Albert, Sadiman, Abineri,
Pandu, Roy, Wayan dan teman-teman lain yang tidak dapat disebutkan satu-persatu. Terima kasih atas persahabatannya selama ini.
DAFTAR ISI
DAFTAR PUSTAKA LAMPIRAN
DAFTAR GAMBAR
29 Gambar 2.24 Diagram Pewaktuan Penulisan Data ke Register Perintah Mode 4-bit
48 Gambar 3.11 Diagram Alir Program Utama dari Robot Pengantar Makanan
47 Gambar 3.10 Ilustrasi Rangkaian Keseluruhan dan Fungsi-fungsi Tiap Port
45 Gambar 3.9 Interface LCD Mode 4 Bit
43 Gambar 3.8 Rangkaian driver L293D
42 Gambar3.7 Pussbutton Sebagai Masukan Mikrokontroler
42 Gambar 3.6 Bentuk Desain Jalur yang Akan Dilewati Oleh Robot dan Posisi Meja
41 Gambar 3.5 Posisi Sensor pada Robot dan Jarak Antar Tiap Sensor
38 Gambar 3.4 Rangkaian Utama Sensor Jalur
38 Gambar 3.3. Kondisi Kaki Anoda Photodioda Terhadap Permukaan Hitam dan Putih
36 Gambar 3.2. Desain Robot Pengantar Makanan
34 Gambar 3.1. Blok Rangkaian Robot Pengantar Makanan Di Restoran
34 Gambar 2.27 Diagram Pewaktuan Pembacaan Data dari Register Data Mode 4-bit
32 Gambar 2.26 Diagram Pewaktuan Penulisan Data ke Register Data Mode 4-bit
31 Gambar 2.25 Diagram Pewaktuan Pembacaan Data ke Register Perintah Mode 4-bit
28 Gambar 2.23 LCD 4 x 16
Keterangan Halaman
27 Gambar 2.22 Konstruksi LCD
26 Gambar 2.21. IC L293D
25 Gambar 2.11 kondisi limit switch NO dan kondisi limit switch NC
24 Gambar 2.10. Rangkaian LED
20 Gambar 2.10 Simbol Rangkaian Fotodioda
20 Gambar 2.9. Peta Memori Data
18 Gambar 2.8. Peta Memori Program
17 Gambar 2.7. Konfigurasi pin ATMega8535
13 Gambar 2.6. Arsitektur ATMega8535
12 Gambar 2.5. Fast Pulse Width Modulation
11 Gambar 2.4. Register ICR1H/L
8 Gambar 2.3. Register OCR1H/L dan OCR1H/L
7 Gambar 2.2. Gambar. Register ADMUX
Gambar 2.1. Koneksi dengan filter RC pada suplai ADC49
DAFTAR GAMBAR
66 Gambar 4.11 Tampilan Pemilihan Nomor Meja
75 Gambar 4.22 Instruksi Cuplik Sensor
74 Gambar 4.21 Instruksi Kembali Ke Meja Reservasi
74 Gambar 4.20 Proses Kembali Ke Meja Reservasi
73 Gambar 4.19 Instruksi Pengecekkan Pengambilan Makanan
73 Gambar 4.18 Instruksi Menentukan Meja yang Akan Dituju
72 Gambar 4.17 Proses Menentukan Meja Tujuan
71 Gambar 4.16 Instruksi Meletakan Makanan
70 Gambar 4.15 Instruksi Merekam Posisi Terakhir Sensor Saat Kehilangan Jalur
68 Gambar 4.14 Proses Menampilkan Posisi Sensor ke LCD
67 Gambar 4.13 Program Utama
66 Gambar 4.12 Proses Pemesanan Nomor Meja
65 Gambar 4.10 Tampilan Saat Tombol Kanan Ditekan
Keterangan Halaman
64 Gambar 4.9 Tampilan Awal
58 Gambar 4.8 Proses Pemesanan Meja
56 Gambar 4.7 Bentuk Lintasan
56 Gambar 4.6 Model Sistem Robot Pengantar Makanan di Restoran Berbasis ATMega8535
55 Gambar 4.5 Rangkaian Tombol-tombol (PushButton)
55 Gambar 4.4 Rangkaian LCD
55 Gambar 4.3 Rangkaian Driver
54 Gambar 4.2 Minimum Sistem ATMega8535
53 Gambar 4.1 Sensor Jalur
52 Gambar 3.14 Keadaan Posisi Sensor
51 Gambar 3.13 Diagram Alir Subrutin Cuplik Sensor
Gambar 3.12 Diagram Alir Proses Pemesanan Makanan dan Nomor Meja75
DAFTAR TABEL
Halaman Keterangan
Tabel 2.1. Konfigurasi Bit-bit ADMUX4:09
9 Tabel 2.2. Konfigurasi Bit-bit ADPS
14 Tabel 2.3. Konfigurasi Bit-bit CS12:0
19 Tabel 2.4. Deskripsi Pin
Tabel 2.5. Pengaturan Bit Clock Select23
30 Tabel 2.6 Konfigurasi Pin LCD
32 Tabel 2.7 Perintah-perintah LCD Jenis HD44780
Tabel 3.1. Kondisi Kaki Anoda Fotodioda Terhadap Permukaan Hitam dan39 Putih
40 Tabael 3.2 Karakteristik Fotodioda Hasil Pra Penelitian
40 Tabel 3.3 Level ADC Terhadap Tanggapan Fotodioda
Tabel 3.4. Tabel Arah Putaran Motor45
48 Tabel 3.5 Spesifikasi dan Kapasitas Catu Daya Untuk Rangkaian Utama
48 Tabel 3.6 Spesifikasi dan Kapasitas Catu Daya Untuk Motor
53 Tabel 3.7 Persentase Dutycycle dan Arah Putaran Motor
Tabel 4.1 Data Waktu Tempuh Robot Mengantar Makanan57
59 Tabel 4.2 Data Kecepatan Rata-rata
59 Tabel 4.3 Data Keberhasilan Robot Mengantar Makanan
Tabel 4.4 Data Total Persentase Keberhasilan dan Kegagalan Mengantar60 Makanan
Tabel 4.5 Data Perbandingan Nilai Dutycycle Antara Perancangan dan61 Pengaplikasian
62 Tabel 4.6 Data PWM dan Persentase Error
Tabel 4.7 Data Pengujian Beban63
70 Tabel 4.8 Nilai PWM Rspeed dan Lspeed
BAB I PENDAHULUAN
1.1 Judul
Robot Pengantar Makanan di Restoran Berbasis Mikrokontroler AVR ATMega8535.
1.2 Latar Belakang
Perkembangan ilmu pengetahuan dan teknologi untuk saat ini semakin pesat khususnya di bidang elektronika. Manusia menginginkan pemecahan masalah-masalah yang berkaitan dengan kebutuhan hidupnya dengan cepat, tepat dan efisien. Teknologi elektronika dapat menghasilkan peralatan, baik besar maupun kecil untuk pemenuhan kebutuhan manusia hampir di setiap bidang.
Pada berbagai bidang pekerjaan, otomasi peralatan seringkali diperlukan untuk mempercepat proses pelaksanaan suatu pekerjaan sehingga dapat meningkatkan efisiensi kerja. Berawal dari permasalahan tersebut, penulis melihat belum adanya kepraktisan pelayanan dalam mengantar makanan di restoran khususnya kelas menengah ke atas. Yang ada saat ini hanyalah restoran-restoran Jepang yang menyajikan segala jenis makanan pada meja konveyor yang berputar terus-menerus dan juga ada mesin penerima pesanan yang biasanya diaplikasikan atau dipakai pada tempat makan fastfood karena lebih praktis. Namun masih
Dari permasalahan tidak adanya kepraktisan dalam mengantarkan makanan, maka penulis mengangkat judul "Robot Pengantar Makanan di Restoran Berbasis Mikrokontroler AVR ATMega8535". Robot yang akan dibuat menggunakan mikrokontroler karena dengan mikrokontroler, memungkinkan untuk dibuat sebuah piranti elektronik yang dimensi fisiknya jauh lebih ringkas. Penerapan mikrokontroler saat ini pun sudah sangat luas dan telah memberi sumbangan yang besar bagi teknologi yang menunjang kehidupan manusia terbukti dari banyaknya berbagai temuan yang terus dikembangkan untuk menyelesaikan masalah kehidupan. Robot ini dapat memudahkan pelayanan pada restoran-restoran ataupun rumah makan, serta meningkatkan efisiensi karyawan. Robot ini dibuat untuk mengganti tenaga manusia yang dapat dipekerjakan terus- menerus tanpa mengenal rasa lelah dan letih.
1.3 Tujuan dan Manfaat
Dengan tujuan: menghasilkan robot yang dapat mengantar makanan dengan cepat, tepat dan efisien, diharapkan dapat memberikan manfaat sebagai berikut:
a. Sebagai acuan pengaplikasian mikrokontroler untuk membantu dan mempermudah kerja manusia.
b. Sebagai acuan perkembangan sistem pengantar makanan di restoran agar lebih efisien.
c. Sebagai acuan agar pemahaman fungsi dan karakteristik komponen -
komponen elektronik maupun mekanik yang digunakan dalam perancangan sehingga memperdalam ilmu pengetahuan.
1.4 Batasan Masalah
Agar perancangan sistem dan pembahasan laporan tentang ”Robot Pengantar Makanan di Restoran” berdasarkan line follower berbasis mikrokontroller ini menjadi lebih spesifik maka diberikan beberapa batasan sebagai berikut: a.
Menggunakan mikrokontroler AVR ATMega8535 untuk mengendalikan semua proses robot.
b. Untuk track/jalur, robot mendeteksi jalur warna putih di atas hitam, dengan
lebar 3 cm.
c. Robot mengantar makanan untuk satu meja dan satu jenis makanan (1 porsi)
dalam satu kali pemesanan.
d. Garis lintasan dibuat 4 percabangan, satu untuk reservasi dan satu meja koki
sehingga hanya ada 6 meja (4 meja yang dapat dipesan).
e. Untuk berat beban robot maksimal 8 Ons. Dengan spesifik mangkuk dan
piring yang digunakan : 1. Mangkuk dan piring dari bahan melamin.
2. Diameter mangkuk 19 cm dan tinggi 5,5 cm.
3. Diameter piring 23 cm dan tinggi 3 cm.
f.
Untuk jenis makanan berkuah, batas maksimal tinggi kuah kurang 2 cm dari tinggi maksimal mangkuk
g. Spesifik ukuran dan robot panjang 32 cm, lebar 25 cm dan tinggi 23 cm.
1.5 Metodologi Penelitian
Penulisan skripsi ini menggunakan metode : 1. Studi pustaka, menggunakan buku – buku referensi dan jurnal – jurnal.
2. Perhitungan dan analisa dalam menentukan tegangan referensi untuk kepekaan
sensor jalur berdasarkan program dan pengukuran, untuk menentukan kecepatan putar roda (motor DC) dengan PWM (Pulse Width Modulation), untuk menentukan ketepatan robot mengantar makanan dan kepresisian robot mengikuti jalur/track yang telah ditentukan.
3. Perancangan alat yang didasari oleh dasar teori.
4. Implementasi hasil perancangan ke bentuk perangkat keras (hardware).
5. Pengujian alat dan mengambil data hasil pengujian dengan menggunakan alat ukur.
6. Analisis data yang didapat dari pengujian alat.
BAB II DASAR TEORI
2.1 Mikrokontroller ATMega8535
Mikrokontroler merupakam chip cerdas yang menjadi tren dalam pengendalian dan otomatisasi, terutama dikalangan mahasiswa. Dengan banyak jenis keluarga, kapasitas memori, dan berbagai fitur, mikrokontroler menjadi pilihan dalam aplikasi prosesor mini untuk pengendaliaan skala kecil.
Mikrokontroler AVR (Alf and vegard’s Risc processor) dari Atmel ini menggunakan arsitektur RISC (Reduced Instruction Set Computer) yang artinya prosesor tersebut memiliki set instruksi program yang lebih sedikit dibandingkan dengan MCS-51 yang menerapkan arsitektur CISC (Complex Instruction Set
Computer).
Hampir semua instruksi prosesor RISC adalah instruksi dasar (belum tentu sederhana), sehinggga instruksi-instruksi ini umumnya hanya memerlukan 1 siklus mesin untuk menjalankannya. Kecuali instruksi percabangan membutuhkan 2 siklus mesin. RISC biasanya dibuat dengan arsitektur Harvard, karena arsitektur ini yang memungkinkan untuk membuat eksekusi instruksi selesai dikerjakan dalam satu atau dua siklus mesin, sehingga semakin cepat dan handal. Proses
downloading programnya relatif lebih mudah karena dapat dilakukan langsung
Sekarang ini, AVR dapat dikelompokkan menjadi 6 kelas, yaitu keluarga ATtiny, keluarga AT90Sxx, keluarga ATmega, keluarga AT90CAN, keluarga AT90PWM dan AT86RFxx. Pada dasarnya membedakan masing-masing kelas dala, peripheral, dan fungsinya, sedangkan dari segi arsitektur dan instruksi yang digunakan, mereka hampir sama. Sebagai pengendali utama dalam pembuatan robot ini digunakan salah satu produk ATMEL dari keluarga ATMega yaitu ATMega8535.[1]
2.1.1 Fitur Yang Dimiliki ATMEGA8535
2.1.1.1 Analog To Digital Converter (ADC)
ADC pada ATMega8535 merupakan ADC 10-bit tipe Successisve
Approximation, yang terhubung ke sebuah multiplekser analog yang akan
memilih satu dari delapan kanal. Untuk menjaga validasi data, terdapat untai
Sampel and Hold. Tegangan suplai ADC terpisah dari tegangan mikrokontroler,
tetapi selisihnya tidak boleh lebih dari 0,3 V. Untuk mengatasinya, digunakan untai filter LC seperti ditunjukkan Gambar 2.1.
Terdapat 8 kanal ADC masing-masing selebar 10 bit, ADC dapat digunakan dengan memberikan masukkan tegangan pada port ADC, yaitu portA.0 sampai portA.7.
Ada dua mode ADC yang dapat digunakan, yaitu single conversion dan kali ADC akan digunakan. Sedangkan pada mode free running, pengguna cukup sekali mengaktifkan, sehingga ADC akan terus mengkonversi tanpa henti.
Dalam kemasan TQFP (Thin Quad Flat Package) terdapat fasilitas tambahan, yaitu kanal diferensial dan kanal diferensial dengan penguatan, yang memungkinkan dua kanal ADC digunakan sekaligus. Kemasan PDIP tidak menyediakan fasilitas ini.
Gambar 2.1 . Koneksi dengan filter RC pada suplai ADCTerdapat beberapa register I/Oyang terlibat dalam proses konversi ADC, antara lain: ADMUX (ADC Multiplexer Selection Register). Register ADMUX berisi bit-bit yang mengatur pilihan kanal (MUX4:0), bit pengatur penyajian data (ADLAR), dan bit-bit pemilih tegangan referensi (REFS1:0). Gambar register ADMUX dapat dilihat pada gambar 2.2.
Gambar 2.2. Gambar. Register ADMUXDalam akses ADC, terdapat proses pengaturan register-register I/O yang terlibat dalam ADC. Proses pengaturan tersebut meliputi: a. Menetukan sumber tegangan referensi
Referensi pada ADC merupakan batas rentang representasi nilai digital hasil konversi. Hasil konversi pada mode single ended cenversion dirumuskan sebagai berikut:
V 1024
⋅
IN ADC .......................................................................
= (2.1)
V REF
dengan V = tegangan masukkan analog pada kanal ADC yang
IN
aktif V = tegangan referansi yang dipilih
REF
b. Memilih kanal yang aktif (satu dari delapan)
Kanal yang aktif ditentukan oleh bit-bit MUX4:0 (Analog Channel
and Gain Selection Bits) pada register ADMUX. Tabel 2.1 menunjukkan konfigurasi bit-bit tersebut.
Tabel 2.1. Konfigurasi Bit-bit ADMUX4:0c. Menetukan prescaler (clock ADC)
Prescaler merupakan factor pembagi yang diterapkan pada clock
mikrokontroler menerima clock yang cukup sehingga data hasil konversi cukup valid. Untuk ketelitian ADC 10 bit, rentang frekuensi
clock yang diperbolehkan adalah 50kHz hingga 200kHz. Frekuensi clock yang lebih tinggi dapat digunakan jika resolusi lebih rendah dari
10bit. Nilai prescaler ditentukan oleh bi-bit ADPS2:0 (ADC Prescaler
Select Bits2:0). Tabel 2.2 menunjukan konfigurasi bit-bit tersebut.
Tabel 2.2. Konfigurasi Bit-bit ADPSd. Inisialisasi ADC Untuk mengaktifkan ADC, bit ADEN (ADC Enable) harus diberi logika ‘1’ (set). Dan untuk memulai ADC, logika ‘1’ juga harus terletak pada register ADCSRA. Waktu yang diperlukan untuk satu konversi adalah 25 siklus clock ADC pada konversi pertama, dan 13 siklus clock ADC untuk konversi berikutnya. Idealnya, ADC dapat melakukan konversi secara linear antara GND dan
n
V dalam 2 langkah. Sehingga factor pengali hasil konversi terndah adalah 0,
REF n
dan tertinggi 2 -1. indeks n menunjukkan resolusi ADC (8,9, atau 10 bit). Tetapi terdapat beberapa hal yang menyebabkan ADC tidak mencapai kondisi ideal, yaitu galat yang terjadi saat konversi, antara lain:
a. Offset error b.
Gain error
c. Integral non-linearity
d. Differential non- linearity e.
Quantization error
Dengan adanya galat-galat tersebut, pada akhirnya fasilitas ADC memiliki akurasi LSB. [1]
absolute sebesar ±
2
2.1.1.2 Pulse Width Modulation (PWM)
Mikrokontroler ATMega8535 menyediakan fitur Timer/Counter1 yang dapat diatur sebagai timer, pencacah (counter), perekam waktu kejadian (even
occurance time capture), pembangkit isyarat PWM (Pulse Width Modulation),
Timer/Counter1 dapat digunakan secara fleksibel untuk berbagai tujuan yang
berkaitan dengan waktu dan pembangkit gelombang.a.
OCR1AH/L (Output Compare Register 1 A High-byte/Low-byte) dan OCR1BH/L (Output Compare Register 1 B High-byte/Low-byte) Register OCR1AH/L dan register OCR1BH/L berisi data yang terus- menerus dibandingkan dengan isi register TCNT1H/L. Hasilnya dapat digunakan untuk membangkitkan gelombang pada pin OC1A/B. Gambar 2.3 menunjukan isi register-register tersebut.
Gambar 2.3. Register OCR1H/L dan OCR1H/L b.ICR1H/L (Input Capture Register 1 High-byte/Low-byte) Register ICR1H/L selalu diperbarui nilainya dengan nilai register TCNT1H/L setiap kali terjadi kejadian yang terdeteksi. Register ini dapat digunakan untuk menentukan nilai puncak (TOP Value). Gambar 2.4 menunjukan isi register ICR1K/L.
Gambar 2.4 . Register ICR1H/LIsyarat PWM merupakan hasil modulasi isyarat segitiga oleh isyarat konstan. Pengubahan amplitudo isyarat konstan akan mengubah lebar pulsa hasil modulasi. Sementara pengubahan amplitudo isyarat segitiga (dengan bentuk segitiga sebangun dengan segitiga awal) akan mengubah frekuensi PWM.
Terjadi dua register OCR1A/B (Output Compare Register1A/B) yang isinya secara kontinyu dibandingkan dengan isi register Timer/Counter1.
Register-register ini dapat diisi oleh pengguna, selebar masing-masing bit. Dalam mode PWM, nilai register OCR1A/B ini menjadi isyarat pemodulasi.
Lebar register data Timer/Counter1 adalah 16 bit, sehingga dapat mencacah nilai dari $0000 hingga $FFFF. Dalam operasi PWM, nilai
Timer/Counter1 ini yang menjadi isyarat segitiga. Sebagai catatan, istilah segitiga
disini tidak berarti segitiga dalam bidang geometri, tetapi isyarat yang meningkat amplitudonya secara berlangkah sehingga bentuknya menyerupai segitiga.
Fasilitas PWM yang disediakan memiliki resolusi 8 hingga 10 bit. Mode operasinya meliputi Fast PWM (FPWM), Phase Correct PWM(PCPWM), dan
Phase and Frequency Correct PWM (PFCPWM). Pada mode Fast PWM, Timer/
Counter1 akan mencacah ulang dari nol (BOTTOM) setiap kali terjadi limpahan (overflow). Segitiga yang terjadi adalah segitiga siku-siku. Sedangkan pada dua sehingga segitiga berbentuk sama kaki dengan puncak pada nilai TOP. Perbedaan utama pada mode PCPWM da PFCPWM adalah waktu perbaruan nilai OCR1A/B. Mode PCPWM memperbarui OCR1A/B saat nilai TOP, sedangkan pada PFCPWM saat nilai BOTTOM.
Gambar 2.5 menunjukkan modulasi nilai TCNT1 oleh OCR1A pada modeFPWM. Perubahan nilai OCR1A menjadi lebih kecil menunjukkan pulsa yang menyempit pula. Durasi pulsa saat nilai OCR1A lebih besar daripada nilai TCNT1 disebut waktu ON (t ON ). Sebaliknya, ketika nilai OCR1A lebih kecil, disebut waktu OFF (t ). Perbandingan t erhadap periode PWM disebut duty cycle,
OFF ON yang nilainya maksimal 100%.
Gambar 2.5. Fast Pulse Width ModulationDalam mengakses PWM, terdapat prose pengaturan register-register I/O yang terlibat. Proses pengaturan tersebut meliputi:
a. Menetukan sumber dan frekuensi clock yang digunakkan Timer/Counter1
Frekuensi getar Timer/Counter1 dapat diperoleh dari osilator yang untuk sumber clock eksternal. Sumber dan frekuensi clock ini ditentukan oleh bit-bit CS12:0 (Clock Select) pada register TCCR1B. Tabel 2.3 menunjukkan pilihan frekuensi yang tersedia dan bit-bit yang menentukkannya.
Tabel 2.3. Konfigurasi Bit-bit CS12:0b. Menentukan nilai OCR1A/B sebagai pemodulasi Untuk memperoleh duty cycle yang diinginkan, penggunaan harus menentukkan nila OCR1A/B. Dalam mode non-inverting, semakin besar nilai OCR1A/B, semakin besar lebar waktu nyala (t ), sehingga semakin
ON
besar duty cycle. Dan sebaliknya. Sebagai contoh, untuk memperoleh duty
cycle sebesar 50%, maka OCR1A/B harus diisi dengan nilai setengah dari nilai maksimum Timer/Counter1.
Pengguna dapat menentukan nilai OCR1A/B dengan memasukkan langsung nilai yang diinginkan ke dalam register tersebut, karena register OCR1A/B mempunyai kemampuan operasi tulis (write).
c. Menentukan nilai prescaler
Nilai prescaler merupakan pembagi langsung frekuensi sistem, yang bersama-sama dengan nilai TOP akan menentukan frekuensi PWM.
Persamaan (2.2) menunjukkan perhitungan untuk menentukan frekuensi PWM pada mode FPWM.[1]
f
XTAL f ………………………………………..(2.2)
=
N TOP ( ( 1 ))
- FPWM
2.1.2 Asitektur ATmega8535 Mikrokontroler ATmega8535 memiliki fitur-fitur utama, seperti berikut.
1. Saluran I/O sebanyak 32 buah yaitu PortA, PortB, PortC dan PortD.
2. ADC 10 bit sebanyak 8 saluran.
3. Tiga unit Timer/Counter dengan kemampuan pembandingan.
4. CPU yang terdiri atas 32 buah register.
5. Watchdog Timer dengan osilator internal.
6. SRAM sebesar 512 byte.
7. Memori Flash sebesar 8 kbyte dengan kemampuan Read While
8. Unit interupsi internal dan eksternal.
9. Port antarmuka ISP.
10. EEPROM sebesar 512 byte yang dapat diprogram saat operasi,
11. Antarmuka komparator analog.12. Port USART untuk komunikasi serial Mikrokontroler AVR ATMega8535 merupakan mikrokontroler produksi Atmel dengan 8 Kbyte In-System Programmable-Flash, 512 Byte EEPROM dan 512 Byte Internal SRAM. AVR ATMega8535 memiliki seluruh fitur yang dimiliki oleh AT90S8535. Selain itu, konfigurasi pin AVR ATMega8535 juga kompatibel dengan AT90S8535.
Diagram blok arsitektur ATMega8535 ditunjukkan oleh gambar
2.6. Terdapat sebuah inti prosesor (processor core) yaitu Central
Processing Unit, di mana terjadi proses pengumpanan instruksi (fetching)
dan komputasi data. Seluruh register umum sebanyak 32 buah terhubung langsung dengan unit ALU (Arithmatic and Logic Unit). Terdapat empat buah port masing-masing delapan bit dapat difungsikan sebagai masukkan maupun keluaran.
Media penyimpanan program berupa Flash Memory, sedangkan penyimpanan data berupa SRAM (Static Random ACCess Memory) dan EEPROM (Electrical Erasable Programmable Read Only Memory). USART (Universal Synchronous and Asychronous Serial Receiver and Transmitter), serta TWI (Two-wire Serial Interface).
Gambar 2.6. Arsitektur ATMega8535Di samping itu terdapat fitur tambahan, antara lain AC (Analog
Comparator), 8 kanal 10-bit ADC (Analog to Digital Converter), 3 buah
(Sleep Mode), serta osilator internal 8 MHz. seluruh fitur terhubung ke bus 8 bit. Unit interupsi menyediakan sumber interupsi hingga 21 macam.
Sebuah stack pointer selebar 16 bit dapat digunakan untuk menyimpan data sementara saat interupsi. Mikrokontroler ATMega8535 dapat dipasang pada frekuensi kerja hingga 16 MHz (maksimal 8 MHz untuk versi ATMega8535L). Sumber frekuensi bias dari luar berupa osilator kristal, atau menggunakan osilator internal.
Keluarga AVR dapat mengakses instruksi dengan cepat karena menggunakan teknik ”memegang sambil mengerjakan” (fecth during
execution). Dalam satu siklus clock, terdapat dua register independen yang
dapat diakses oleh satu instruksi.[1]
2.1.3 Konfigurasi Pin
ATMega8535 terdiri atas 40 pin dengan konfigurasi dapat dilihat pada
table 2.4. [1]Tabel 2.4. Deskripsi Pin2.1.4 Peta Memori
Arsitektur AVR terdiri atas dua memori utama, yaitu Data Memori dan Program Memori. Sebagai tambahan fitur dari ATMega8535, terdapat EEPROM 512 byte sebagai memori data dan dapat diprogram saat operasi.
ATMega8535 terdiri atas 8 Kbyte On-chip In-System Reprogrammable
Flash Memory untuk menyimpan program. Karena seluruh instruksi AVR dalam mendukung keamanan software atau program, Flash Program memori dibagi menjadi dua bagian yaitu bagian Boot Program dan bagian Application Program.
Gambar 2.8 mengilustrasikan susunan Memori Program Flash ATMega8535Gambar 2.8. Peta Memori ProgramMemori data terbagi menjadi 3 bagian, yaitu 32 buah register umum, 64 buah register I/O, dan 512 byte SRAM Internal. Konfigurasi memori data ditunjukkan oleh gambar 2.9. [1]
2.1.5 Stack Pointer Stack pointer merupakan suatu bagian dari AVR yang berguna untuk
menyimpan data sementara, variabel lokal, dan alamat kembali dari suatu interupsi ataupun subrutin. Stack pointer diwujudkan sebagai dua unit register, yaitu SPH dan SPL.
Saat awal, SPH dan SPL akan bernilai 0, sehingga perlu diinisialisasi terlebih dahulu. SPH merupakan byte atas (MSB), sedangkan SPL merupakan
byte bawah (LSB). Hal ini hanya berlaku untuk AVR dengan kapasitas SRAM
lebih dari 256 byte. Bila tidak, maka SPH tidak didefinisikan dan tidak dapat digunakan.[1]
2.1.6 Timer ATMega8535
AVR ATMega8535 memiliki 3 buah timer, yaitu Timer/Counter0 (8 bit),
Timer/Counter1 (16 bit), dan Timer/Counter2 (8 bit).[1]
2.1.6.1 Timer/Counter0
Timer/Counter0 adalah Timer/Counter 8 bit yang multifungsi. Fitur-fitur dari Timer/Counter0 pada ATMega8535 adalah sebagai berikut.
a.
Counter 1 kanal.
b.
Timer di-nol-kan saat proses pembanding tercapai (compare match). d. Sebagai pembangkit frekuensi.
e. Clock prescaler 10 bit.
f. Sumber interupsi dari compare match (OCF0) dan overflow (TOV0). [1]
2.1.6.2 Timer/Counter1
Timer/Counter1 adalah Timer/Counter 16 bit yang memungkinkan program pewaktu lebih akurat. Fitur-fitur dari Timer/Counter1 ini adalah sebagai berikut.
a. Desain 16 bit, sehingga memungkinkan untuk menghasilkan PWM 16 bit.
b. Dua buah unit pembanding.
c. Dua buah register pembanding.
d. Satu buah input capture unit.
e.
Timer di-nol-kan saat proses pembanding tercapai (match compare).
f. Dapat menghasilkan gelombang PWM.
g. Periode PWM yang dapat diubah-ubah.
h. Sebagai pembangkit frekuensi. i. Empat buah sumber interupsi (TOV1, OCF1A, OCF1B, dan ICF1). [1]
2.1.6.3 Timer/Counter2
Timer/Counter2 adalah Timer/Counter 8 bit yang fungsi. Fitur-fitur untuk Timer/Counter2 pada ATMega8535 adalah sebagai berikut.
a. Sebagai counter 1 kanal.
b. Timer di-nol-kan saat proses pembandingan tercapai (match compare).
c. Dapat menghasilkan gelombang PWM.
d. Sebagai pembangkit frekuensi.
e.
Clock prescaler 10 bit.
f. Sumber interupsi dari compare match (OCF0) dan overflow (TOV0).
Untuk memilih sumber clock yang akan digunakan oleh Timer/Counter2 dengan mengatur Bit 2,1,0-CS22, CS21, CS20: Clock Select. Pengaturan dari bit- bit ini dapat dilihat pada Tabel 2.5. [1]
Tabel 2.5. Pengaturan Bit Clock Select2.2 Fotodioda (Photodiode)
Fotodioda adalah salah satu alat yang dibuat untuk berfungsi paling baik berdasarkan kepekaannya terhadap cahaya. Pada dioda ini, sebuah jendela memungkinkan cahaya masuk melalui pembungkus dan mengenai persambungan
pn. Silikon, yaitu bahan material di mana transistor dan rangkaian terintegrasi
dibuat, akan mengalami perubahan resistansi listrik saat dikenai cahaya.Fotodioda sebenarnya tidak berbeda dari dioda biasa yang ditempatkan di dalam material transparan, sehingga memungkinkan cahaya mengenainya (sedangkan pada dioda biasa, kotaknya berupa logam atau plastik). Pada saat dihubungkan dengan rangkaian listrik, fotodioda dapat digunakan untuk menghasilkan sinyal listrik yang besarnya tergantung pada jumlah cahaya yang mengenainya. [2]
Gambar 2.10 menunjukan lambang skematis fotodioda. Panah yang mengarah ke dalam melambangkan cahaya yang datang. Sumber dan tahanan serimemberikan prategangan balik pada fotodioda. Bila cahaya makin cerah, arus balik naik. Dalam fotodioda yang lazim, arus balik tersebut besarnya sedikit puluhan mikroamper.[2]
Gambar 2.10 Simbol Rangkaian Fotodioda2.3 Light Emiting Diode (LED)
Pada LED dengan bias tegangan maju, electron bebas melintasi sambungan dan jatuh ke dalam hole. Ketika electron jatuh dari tingkat energi tinggi ke rendah, electron akan mengeluarkan energi. Pada dioda biasa, energi dikeluarkan dalam bentuk panas. Tetapi pada LED, energi dikeluarkan dalam bentuk sinar. Dengan menggunakan elemen seperti gallium, arsenik, dan fosfor, pabrik dapat memproduksi LED berwarna merah, hijau, kuning, biru, orange / jingga, dan inframerah / infrared (tak terlihat).[2]
2.3.1 Tegangan dan Arus LED
LED mempunyai penurunan tegangan lazimnya dari 1,5 V sampai 2,5 V untuk arus di antara 10 dan 50 mA. Penurunan tegangan yang tepat tergantung dari arus LED, warna, kelonggaran, dan sebagainya. Kecermelangan LED tergantung dari arusnya. Idealnya, cara terbaik untuk mengendalikan kecermelangan ialah dengan menjalankan LED dengan sumber arus. Berikut rangkaian LED [2][3]
Gambar 2.10. Rangkaian LED( )
V S − LED
V I …………………………………………………………………………………………….
= (2.3)
R Dimana : V = penurunan tegangan LED (Volt)
LED
V = Tegangan sumber (volt)
s
R s = Resistor yang tersusun seri dengan LED (Ohm) I = Arus (Ampere)
Makin besar tegangan sumber, makin kecil pengaruh V . Dengan kata lain V
LED s
yang besar menghilangkan pengaruh perubahan tegangan V . Biasanya, arus
LED
LED ada diantara 10 mA sampai 50 mA karena daerah ini memberikan cahaya yang cukup untuk banyak pemakai.[2][3]
2.4 Saklar Batas (Limit Switch)
Saklar batas atau lebih dikenal dengan Limit switch merupakan salah satu jenis kontak yaitu komponen yang berfungsi untuk menghubungkan dan memutuskan arus. Sifat dari limit switch ini yaitu kontak yang terputus atau tersambung saat ditekan dan akan kembali ke keadaan semula saat tidak ditekan (momentary contact). Pada limit switch terdapat tiga terminal yaitu common (COM), terminal normally open (NO) dan terminal normally closed (NC).
Terminal NO merupakan terminal yang pada kondisi normal berupa kontak terputus atau tidak tersambung dengan COM sedangkan terminal NC berupa kontak pada kondisi normal tersambung dengan COM. Setiap titik sambungan pada limit switch terbuat dari bahan yang tahan busur api (arc) yang disebabkan saat arus terputus atau tersambung. Simbol keadaan limit switch ada pada gambar 2.11. [6]
2.5 IC Driver L293D
IC ini merupakan IC tegangan tinggi (high voltage), keempat saluran driver berarus tinggi (600mA per-saluran dan 1,2A puncak arus keluaran (non repetitive) persaluran) dirancang untuk level logika TTL atau DTL dan men-drive beban induktif (seperti relay, solenoid, motor DC dan motor stepper) dan switching transistor daya.
Gambar 2.21. IC L293DAgar mudah digunakan sebagai dua jembatan (bridge), setiap pasang saluran (channel) dilengkapi dengan masukan enable. Didalam IC ini juga sudah terdapat dioda pengaman yang terdiri dari 4 buah. Alat ini bisa digunakan untuk aplikasi
switching pada frekuensi sampai 5kHz. Masukan untuk supply terpisah agar
mudah digunakan untuk bekerja pada tegangan yang rendah. Gambar 2.21 merupakan gambar blok diagram dan pin connections dari IC L293D.[8]
2.6 LCD (Liquid Crystal Display) 2.6.1 Gambaran Umum.
Banyak sekali kegunaan LCD dalam perancangan suatu sistem yang menggunakan mikrokontroler. LCD (Liquid Crystal Display) adalah komponen yang berfungsi untuk menampilkan suatu karakter pada suatu tampilan (display) dengan bahan utama yang digunakan berupa Liquid Crystal. Apabila diberi arus listrik sesuai dengan jalur yang telah dirancang pada konstruksi LCD, Liquid
Crystal akan berpendar menghasilkan suatu cahaya dan cahaya tersebut akan
membentuk suatu karakter tertentu. Gambar konstruksi LCD[9] dapat dilihat pada gambar 2.22.
Untuk LCD [11] 016M002A merupakan modul LCD dengan tampilan 4 x 16 (4 baris, 16 kolom) dengan konsumsi daya rendah. Modul tersebut dilengkapi dengan mikrokontroler yang didesain khusus untuk mengendalikan LCD.
Mikrokontroler HD44780 buatan Hitachi yang berfungsi sebagai pengendali LCD memiliki CGROM (Character General Read Only Memory), CGRAM (Character General Random Access Memory) , dan DDRAM (Display Data Random Access Memory).