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 ADC

  49

  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 Meja

  75

  DAFTAR TABEL

  Halaman Keterangan

Tabel 2.1. Konfigurasi Bit-bit ADMUX4:0

  9

  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 Select

  23

  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 dan

  39 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 Motor

  45

  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 Makanan

  57

  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 Mengantar

  60 Makanan

Tabel 4.5 Data Perbandingan Nilai Dutycycle Antara Perancangan dan

  61 Pengaplikasian

  62 Tabel 4.6 Data PWM dan Persentase Error

Tabel 4.7 Data Pengujian Beban

  63

  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 ADC

  Terdapat 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 ADMUX

  Dalam 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:0

c. 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 ADPS

  d. 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/L

  Isyarat 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 mode

  FPWM. 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 Modulation

  Dalam 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:0

  b. 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 ATMega8535

  Di 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 Pin

2.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 Program

  Memori 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 Select

2.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 seri

  memberikan 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 Fotodioda

2.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 SLED

  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 L293D

  Agar 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).