APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani,...

74
i APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI PENGATUR PADA ROBOT PENYELEKSI DAN PEMINDAH BARANG TUGAS AKHIR Disusun Sebagai Syarat Akhir Menyelesaikan Pendidikan Program Sarjana Pada Jurusan Teknik Elektro Fakultas Teknik Universitas Diponegoro Disusun oleh : ANDES INDRAYANTO L2F099572 JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS DIPONEGORO SEMARANG 2006

Transcript of APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani,...

Page 1: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

i

APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI

PENGATUR PADA ROBOT PENYELEKSI DAN PEMINDAH

BARANG

TUGAS AKHIR

Disusun Sebagai Syarat Akhir Menyelesaikan Pendidikan Program Sarjana Pada

Jurusan Teknik Elektro Fakultas Teknik Universitas Diponegoro

Disusun oleh :

ANDES INDRAYANTO

L2F099572

JURUSAN TEKNIK ELEKTRO

FAKULTAS TEKNIK UNIVERSITAS DIPONEGORO

SEMARANG

2006

Page 2: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

ii

HALAMAN PENGESAHAN

Laporan Tugas Akhir dengan judul “APLIKASI MIKROKONTROLER ATMEL

90S8515 SEBAGAI PENGATUR PADA ROBOT PENYELEKSI DAN

PEMINDAH BARANG“ yang disusun oleh:

Nama : ANDES INDRAYANTO

NIM : L2F 099 572

Konsentrasi : Kontrol

Telah disetujui dan disahkan untuk dijadikan laporan Tugas Akhir sebagai salah satu

syarat menyelesaikan pendidikan program Strata Satu Jurusan Teknik Elektro

Fakultas Teknik Universitas Diponegoro Semarang.

Menyetujui dan mengesahkan

Pembimbing I,

Sumardi, ST, MT

NIP. 132 125 670

Pembimbing II,

Iwan Setiawan ST, MT

NIP.132 283 183

Mengetahui,

Ketua Jurusan Teknik Elektro

Fakultas Teknik Universitas Diponegoro

Ir. Sudjadi, MT

NIP. 131 558 567

Page 3: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

iii

Tugas Akhir

APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI PENGATUR PADA ROBOT PENYELEKSI DAN PEMINDAH BARANG

yang dipersiapkan dan disusun oleh

Andes Indrayanto L2F 099 572

telah dipertahankan di depan para Dosen Penguji

pada tanggal 20 Juli 2006

dan dinyatakan telah memenuhi syarat

Susunan Dosen Penguji

Tanda tangan

Ketua / Anggota Ir. Sudjadi, MT

Tanggal :

...................................

...................................

Sekretaris / Anggota Aghus Sofwan, ST, MT

Tanggal :

...................................

...................................

Anggota Budi Setiyono, ST, MT

Tanggal :

...................................

...................................

Page 4: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

iv

ABSTRAK Pada era teknologi sekarang ini perkembangan disegala bidang dengan basis teknologi sangatlah pesat. Berbagai penemuan dan perkembangan teknologi telah menjadikan banyak sekali perubahan – perubahan bagi berbagai macam tatanan kehidupan yang berkembang dimasyarakat. Kemajuan ini membantu memudahkan manusia dalam menyelesaikan pekerjaan yang dulu dianggap sulit bahkan hamper mustahil untuk dilakukan.Salah satunya adalah dibidang kontrol dengan ditemukannya mikrokontroler sebagai alat bantu pengendali yang otomatis.

Melalui tugas akhir ini penulis akan menggunakan mikrokontroler ATMEL 90S8515 sebagai salah satu dari beberapa produk keluaran ATMEL untuk mengatur dan menjalankan gerak mekanis dari tangan robot dengan metode on/off kontroler. Penulis menggunakan bahasa pemrograman C sebagai bahasa pemrograman untuk mikrokontroler ATMEL 90S8515.

Lengan robot ini dirancang untuk menyeleksi dan memindahkan barang berdasarkan ukuran tinggi. Dimana barang yang diangkat berupa logam yang memiliki sifat magnetis. Dari hasil pengujian secara keseluruhan maka dapat disimpulkan bahwa sistem dapat bekerja dengan baik, hal ini terlihat dari hasil pengujian yang meliputi proses penyeleksian dan pemindahan barang berhasil dilakukan dengan baik.

Page 5: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

v

ABSTRAK

The development of technology is growing rapidly in this era. Inventions and development of technology create many changes in the society’s way of life. Those products help human being to handle and finish any difficult job, even some impossible task. One of them is microcontroler as an automatic control tool. This research used ATMEL 90S8515 microcontroler as one of ATMEL product that is used to control and manage mechanical movement of robotic hand by using on/off control method. C language program as a program language for microcontroler ATMEL 90S8515 was using in this research.

Robotic hand was made to select and move equipment based on the level of the object. Where equipment lifted in the form of metal having the nature of magnetic. The result of this research was the system worked well by seeing the experiment of selection and movement process of equipment that was successfully done.

Page 6: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

vi

KATA PENGANTAR

بسم اهللا الرحمن الرحیم

Puji syukur kehadirat Allah SWT yang telah melimpahkan segala Rahmat,

Taufik serta Hidayah-Nya kepada penulis sehingga penulis dapat menyelesaikan

penyusunan laporan Tugas Akhir (TA) yang berjudul “APLIKASI

MIKROKONTROLER ATMEL AT90S8515 SEBAGAI PENGATUR PADA

ROBOT PENYELEKSI DAN PEMINDAH BARANG”

Dalam penyusunan laporan tugas akhir ini, penulis banyak mendapatkan

bantuan dari berbagai pihak, oleh karena itu pada kesempatan kali ini penulis ingin

menyampaikan ucapan terima kasih kepada :

1. Bapak Ir. Sudjadi, MT selaku Ketua Jurusan Teknik Elektro FT. UNDIP.

2. Bapak Sumardi, ST, MT selaku Dosen Pembimbing I.

3. Bapak Iwan Setiawan, ST, MT selaku Dosen Pembimbing II.

4. Segenap Staf Dosen, Laboratorium dan Tata Usaha Jurusan Teknik Elektro

FT. UNDIP.

5. Bpk R. Rizal Isnanto, ST, MM, MT selaku koordinator Tugas Akhir (TA)

6. Ibu Ir. Juningtyastuti selaku Dosen Wali

7. Ibundaku tercinta, Bapakku yang sangat kuhormati“Ya allah ampunilah

dosanya dan terimalah amalnya”, dan semua saudara-saudaraku Mbak Lilis,

Mbak Rita, Mbak Feri dan Mbak Ike yang telah memberikan doa, nasehat

serta dorongan semangat kepada penulis.

8. Adindaku “Herlina R.E”. Kamu yang mengisi hari-hariku selama ini.

9. Teman-teman Kosku. Adi, Radit, Oki, Agung dan semuanya terima kasih atas

kebersamaannya selama ini. Jauh dimata tetap dekat dihati.

10. Semua teman-teman Teknik Elektro angkatan ’99.

11. Teman-teman Akrabku Kadiq, Argo, Arief B, Budiono, Nasrul, Agusti,

Syahid, Handoko, Boim, Mustofa, Riyo terima kasih atas segala bantuan dan

semangatnya.

12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso

terima kasih atas segala dorongan dan canda tawanya.

13. Semua pihak-pihak yang telah banyak membantu penulis, yang penulis tidak

dapat sebutkan disini satu-per-satu

Page 7: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

vii

Penulis menyadari bahwa laporan Tugas Akhir ini masih jauh dari sempuma,

baik dari segi isi maupun cara penyusunannya. Oleh karena itu, penulis sangat

mengharapkan saran dan kritik yang bersifat membangun dari pembaca demi

kesempurnaan laporan ini dimasa mendatang. Penulis berharap, semoga laporan

Tugas Akhir ini dapat memberikan manfaat kepada para pembaca pada umumnya

dan bagi penulis pada khususnya.

Akhirnya penulis berharap semoga laporan Tugas Akhir ini dapat

memberikan manfaat bagi kita semua.

Semarang, Mei 2006

Penulis

Page 8: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

viii

DAFTAR ISI

HALAMAN JUDUL ........................................................................................... i

HALAMAN PENGESAHAN ............................................................................. ii

ABSTRAKSI ....................................................................................................... iv

KATA PENGANTAR ......................................................................................... vi

DAFTAR ISI ....................................................................................................... viii

DAFTAR GAMBAR ........................................................................................... xi

DAFTAR TABEL ............................................................................................... xii

BAB I PENDAHULUAN ................................................................. 1

1.1. Latar Belakang ......................................................................................... 1

1.2. Maksud dan Tujuan .................................................................................. 2

1.3. Pembatasan Masalah ................................................................................ 2

1.4. Sistematika Penulisan ............................................................................... 2

BAB II DASAR TEORI ................................................................... 4

2.1. Robot ....................................................................................................... 4

2.2. Mikrokontroler AT90S8515 ..................................................................... 5

2.2.1. Susunan Kaki Mikrokontroler AT90S8515 .................................... 7

2.2.2. Blok Diagram dan Arsitektur AT90S8515 ..................................... 8

2.2.3. Organisasi Memori ........................................................................ 9

2.2.3.1.Memori Program ...................................................................... 10

2.2.3.2.Memori Data ............................................................................ 11

2.2.3.3.32 Register Serbaguna ............................................................. 12

2.2.3.4.Ruang Memory I/O .................................................................. 13

2.2.4. Pewaktuan CPU ............................................................................. 15

Page 9: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

ix

2.3. Transistor Sebagai Saklar ......................................................................... 16

2.4. Infrared .................................................................................................... 18

2.5. Motor DC ................................................................................................. 19

2.6. Sistem Kontrol On-Off ............................................................................. 20

2.7. Perangkat Lunak (Software) ..................................................................... 21

BAB III PERANCANGAN HARDWARE & SOFTWARE ............................... 22 3.1. Blok Sistem .............................................................................................. 22

3.2. Perancangan Perangkat Keras ................................................................... 23

3.2.1. Perancangan Rangkaian Mikrokontroler AT90S8515 ..................... 23

3.2.2. Perancangan Rangkaian Penggerak Motor DC Satu Arah .............. 26

3.2.3. Perancangan Rangkaian Penggerak Motor DC Dua Arah ............... 27

3.2.4. Perancangan Rangkaian Sensor Infrared ........................................ 28

3.2.5. Perancangan Rangkaian Sensor Limit Switch sebagai Sensor Batas 30

3.3. Perancangan Perangkat Lunak .................................................................. 31

3.3.1. Deklarasi Variabel, Fungsi, dan File Judul (Header File) Program . 31

3.3.2. Program Utama .............................................................................. 32

3.3.3. Fungsi Untuk Barang Jenis Rendah ................................................ 36

3.3.4. Fungsi Untuk Barang Jenis Tinggi ................................................. 41

BAB IV PENGUJIAN DAN ANALISA ALAT ................................................ 48 4.1. Pengujian Hardware ................................................................................. 48

4.1.1. Pengujian Sistem Minimum AT90S8515 - LCD ............................ 48

4.1.2. Pengujian Rangkaian Penggerak Motor DC Satu Arah ................... 49

4.1.3. Pengujian Rangkaian Penggerak Motor DC Dua Arah ................... 50

4.1.4. Pengujian Rangkaian Sensor infrared ............................................. 51

4.1.5. Pengujian Rangkaian Sensor Limit Switch ...................................... 53

4.2. Pengujian Software .................................................................................. 54

4.2.1. Pengujian Program Pada Konveyor Penyedia Barang ..................... 54

4.2.2. Pengujian Program Konveyor Penerima Barang Untuk Gerakan

Kekanan, Ketengah, Kekiri Dan Turun-Naik ................................ 57

BAB V PENUTUP ............................................................................................. 61 5.1. Kesimpulan .............................................................................................. 61

Page 10: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

1

x

5.2. Saran ........................................................................................................ 61

DAFTAR PUSTAKA .......................................................................................... 62

LAMPIRAN A : DIAGRAM ALIR PROGRAM

LAMPIRAN B : SENARAI PROGRAM

LAMPIRAN C : DIAGRAM SKEMATIK RANGKAIAN

LAMPIRAN D : FOTO ALAT

LAMPIRAN E : DATA SHEET

Page 11: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

1

xi

DAFTAR GAMBAR

Gambar 2.1 Gambar bagian lengan robot ......................................................... 5

Gambar 2.2 Susunan kaki AT90S8515 ............................................................ 7

Gambar 2.3 Blok diagram Mikrokontroler AT90S8515 .................................. 9

Gambar 2.4 Memori program .......................................................................... 10

Gambar 2.5 Bagian bawah memori program .................................................... 11

Gambar 2.6 Memori Data ............................................................................... 11

Gambar 2.7 32 Register Serbaguna .................................................................. 12

Gambar 2.8 Register X, Y dan Z ..................................................................... 13

Gambar 2.9 Menggunakan osilator internal ..................................................... 15

Gambar 2.10 Menggunakan sumber detak eksternal .......................................... 15

Gambar 2.11 (a) Rangkaian transistor bias basis ............................................... 16

(b) Kurva karakteristik dan garis beban dc transistor Susunan kaki

..................................................................................................... 16

Gambar 2.12 (a) Dasar konstruksi motor DC .................................................... 19

(b) Penghantar beraliran listrik dalam medan magnet

mendapat gaya tolak .............................................................. 19

Gambar 2.13 Diagram blok kontroler on-off ..................................................... 20

Gambar 3.1 Diagram blok sistem .................................................................... 22

Gambar 3.2 Rangkaian Pengontrol Mikrokontroler AT90S8515 ..................... 24

Gambar 3.3 Rangkaian penggerak motor dc satu arah ................................... 26

Gambar 3.4 Rangkaian penggerak motor dc dua arah ..................................... 27

Gambar 3.5 Rangkaian Pemancar dan Penerima infrared ................................ 30

Gambar 3.6 Rangkaian sensor limit switch ...................................................... 31

Gambar 3.7 Diagram alir program utama ........................................................ 32

Gambar 3.8 Diagram alir proses penyeleksian dan pemindahan barang rendah

..................................................................................................... 35

Gambar 3.9 Diagram alir proses penyeleksian dan pemindahan barang tinggi ..

..................................................................................................... 41

Gambar 4.1 Rangkaian untuk menguji sistem minimum AT90S8515-LCD ..... 47

Gambar 4.2 Rangkaian uji penggerak motor DC dua arah ............................... 49

Gambar 4.3. Rangkaian uji limit switch ............................................................ 52

Page 12: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

xii

DAFTAR TABEL

Tabel 2.1 Ruang I/O AT90S8515 .................................................................. 13

Tabel 3.1 Penggunaan port-port pada AT90S8515 ......................................... 24

Tabel 3.2 Logika untuk motor dc satu arah .................................................... 26

Tabel 3.3 Logika untuk motor dc dua arah naik – turun ................................. 28

Tabel 3.4 Logika untuk motor dc dua arah kanan – kiri ................................. 28

Tabel 3.5 Logika untuk sensor infrared ......................................................... 30

Tabel 3.6 Logika untuk sensor limit switch .................................................... 31

Tabel 4.1 Hasil pengujian rangkaian penggerak motor dc satu arah ............... 49

Tabel 4.2 Hasil pengujian rangkaian penggerak motor dc dua arah ................ 51

Tabel 4.3 Hasil pengujian rangkaian sensor infrared ...................................... 53

Tabel 4.4 Hasil pengujian sensor limit switch ................................................ 54

Tabel 4.5 Hasil pengujian pada konveyor penyedia barang ............................ 56

Tabel 4.6 Hasil pengujian pada konveyor penerima barang ............................ 60

Page 13: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

1

BAB I

PENDAHULUAN

1.1 Latar Belakang

Pada era globalisasi seperti saat ini, dimana persaingan pasar sudah sangat

terbuka, hanyalah yang mampu bersaing yang dapat bertahan. Faktor kualitas menjadi

jawaban. Industri yang lebih berkualitas dialah yang akan memenangkan persaingan.

Sehingga suatu industri harus mampu menekan biaya produksi dan mengoptimalkan

produksi.

Dalam industri yang berskala besar kegiatan produksinya sudah dilakukan

secara automatis yaitu dengan menggunakan robot yang bergerak otonom. Sebagai

salah satu elemen dari proses manufaktur, kita dapat menggunakan robot sebagai

bagian integral dari lingkungan industri modern. Apa yang mencirikan robot adalah

kecanggihannya dan kemampuan adaptasinya. Bersamaan dengan kemunculan robot

pintar, menjadikan robot menempati posisi sentral dalam evolusi sistem manufaktur

yang fleksibel dan maju. Selain menambah biaya produksi, pemakaian tenaga

manusia juga banyak menimbulkan kerugian terutama dari segi keakuratan

pemeriksaan. Kecanggihan dan kepintaran robot yang komplek terdiri dari

kemampuan untuk mengolah informasi dari indera (sensor) dan kemampuan untuk

melakukan aksi/tindakan juga kecerdasan untuk mengambil keputusan.

Salah satu bentuk robot bergerak otonom yang dirancang untuk industri

adalah robot pengikut garis seperti dalam penelitian yang dilakukan Raharjo dan

Sutopo (2004). Robot ini dirancang dan diimplementasikan menggunakan

mikrokontroler AT89C51 dan sensor berupa infrared.

Dalam tugas akhir ini penulis juga mencoba untuk merancang sebuah lengan

robot bergerak yang dapat menyeleksi dan memindah barang yang dapat dikendalikan

dengan mikrokontroler AT90S8515 dengan sensor berupa infrared dan limit switch.

Lengan robot ini juga dirancang sebagai salah satu aplikasi teknologi yang dapat

digunakan dalam dunia industri.

Page 14: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

2

1.2 Maksud dan Tujuan

Tujuan yang hendak dicapai pada pembuatan Tugas Akhir ini adalah membuat

lengan robot penyeleksi dan pemindah barang berdasarkan ukuran tinggi

menggunakan mikrokontroler ATMEL 90S8515.

1.3 Pembatasan Masalah

Dalam Tugas Akhir ini, sistem yang akan dibuat dibatasi pada hal-hal sebagai

berikut :

a. Perangkat keras yang digunakan menggunakan mikrokontroler ATMEL

90S8515 dan tidak membahas arsitektur dan kinerja mikrokontroler ATMEL

90S8515.

b. Sistem kontrol yang digunakan adalah sistem kontrol on-off dengan ikal

tertutup.

c. Lengan robot ini hanya dapat mendeteksi dua jenis barang yang berbeda tinggi

rendahnya dengan ukuran yang telah ditentukan.

d. Lengan robot ini memiliki batas kemampuan dalam memindahkan benda

(tidak dapat memindahkan benda yang terlalu berat).

e. Proses pemindahan barang dilakukan satu-persatu dari konveyor penyedia ke

konveyor penerima kemudian ke kotak pengumpul.

f. Perangkat lunak menggunakan bahasa pemrograman C.

g. Lengan robot ini hanya bekerja untuk memindahkan barang dari satu konveyor

penyedia ke konveyor penerima yang telah ditentukan.

1.4 Sistematika Penulisan

Laporan Tugas Akhir ini disusun dengan sistematika penulisan sebagai

berikut:

BAB I : PENDAHULUAN

Bab ini berisi tentang latar belakang masalah, maksud dan tujuan, pembatasan

masalah, metoda pengumpulan data dan analisa, dan sistematika penulisan.

Page 15: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

3

BAB II : DASAR TEORI

Bab ini membahas perangkat keras dari AT90S8515. Pembahasan mengenai

perangkat keras didahulukan sebelum perangkat lunak karena perangkat lunak yang

digunakan akan menyesuaikan dengan perangkat keras. Pembahasan mengenai

perangkat keras ini antara lain mengenai blok diagram, register kontrol, register flag,

bagaimana pengoperasian divais pendukung seperti port, maupun alokasi memori,

transistor, sensor infrared, dan motor dc.

BAB III : PERANCANGAN HARDWARE & SOFTWARE

Bab ini berisi proses perancangan hardware dan software. Untuk perancangan

hardware membahas tentang mikrokontroler AT90S8515, rangkaian sensor dan

rangkaian penggerak motor. Sedangkan perancangan software meliputi flowchart

program dan listing program.

BAB IV : PENGUJIAN DAN ANALISA ALAT

Bab ini berisi laporan hasil pengujian dan analisa terhadap hardware dan software.

BAB V : PENUTUP

Bab ini berisi kesimpulan dari hasil Tugas Akhir yang telah dilakukan dan saran yang

diperlukan untuk perbaikan Tugas Akhir.

Page 16: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

48

BAB II DASAR TEORI

2.1 Robot[5]

Perkembangan teknologi saat ini mulai bergeser kearah otomatisasi robot yang

memiliki kecerdasan tinggi dengan campur tangan manusia yang semakin kecil.

Untuk dapat bekerja secara otomatis maka suatu robot harus mempunyai 3 buah

komponen yaitu input (data masukan yang akan diolah), kecerdasan (suatu algoritma

yang menangani pengambilan keputusan yang didasarkan pada masukan) dan output

(keputusan yang yang diambil ).

Istilah robot berasal dari kata robota (bahasa Czech) yang berarti bekerja.

Kamus Webster mendefinisikan robot sebagai “perangkat automatik yang

menunjukkan fungsi yang dapat dilakukan manusia”. Robot Institute of America

mendeskripsikan istilah robot sebagai berikut : “Suatu robot adalah manipulator multi

fungsi yang dirancang untuk memindahkan benda, peralatan atau perangkat khusus

dengan pergerakan yang dapat diprogram secara variabel untuk menunjukkan

berbagai macam tugas”.

Salah satu jenis robot yang sangat populer dan paling sederhana adalah sistem

lengan robot (robot arm system). Sistem ini mengadopsi pergerakan lengan manusia,

yang terdiri dari pangkal bahu, lengan, sendi dan telapak tangan. Pada dunia industri

sistem ini banyak dipakai untuk memindahkan benda dari satu tempat ke tempat lain.

Suatu lengan robot (arm robot) terdiri dari rangkaian benda tegar, yaitu :

1. Bagian dasar (base).

2. Batang lengan (link).

3. Sendi (joint).

4. Piranti yang dipasang pada lengan robot (end-effector), yang dapat berupa

pencengkeram (gripper) dan peralatan (tool).

Page 17: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

5

Gambar 2.1 Gambar bagian lengan robot.

Derajat kebebasan adalah banyaknya arah independen yang menyebabkan

end-effector dari sebuah lengan robot dapat bergerak. Setiap pasangan joint dan link

menyatakan 1 derajat kebebasan. Jika ada N pasangan joint dan link maka ada N

derajat kebebasan dengan link ke-0 yang melekat pada base tidak dipertimbangkan

sebagai bagian dari lengan robot.

2.2 Mikrokontroler AT90S8515[15]

Sebuah mikrokontroler adalah suatu kombinasi dari mikroprosesor, piranti I/O

(Input/Output) dan memori yang terdiri atas ROM (Read Only Memory) dan RAM

(Random Access Memory) dalam bentuk keping tunggal (single chip). Mikrokontroler

AT90S8515 adalah mikrokontroler 8 bit buatan Atmel dengan 8 K Byte System

Programable Flash dengan teknologi memori tak sumirna (nonvolatile), dengan

kepadatan tinggi, dan kompatibel dengan pin out dan set intruksi standar industri

MCS51 INTEL. Selain itu AT90S8515 mempunyai banyak fitur. Fitur tersebut antara

lain adalah Flash memory sebesar 4 Kwords mempunyai EEPROM internal sebesar

512 bytes, RAM sebesar 512 bytes, kecepatan clock sampai dengan 8 MHz dengan

frekuensi kerja sama dengan frekuensi kristal osilator, 11 interupsi, analog

komparator, 32 register yang langsung terhubung dengan ALU sehingga menyerupai

akumulator, serta dirancang dengan mempertimbangkan sifat-sifat pengkodean bahasa

C.

Page 18: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

6

Latar belakang pemilihan mikrokontroler AT90S8515 dalam Tugas Akhir

(TA) ini adalah karena kemiripan sifatnya dengan AT89C51/52 dalam hal perangkat

keras, kemudahannya diperoleh di pasaran, harganya yang murah, sehingga

terjangkau oleh mahasiswa yang ingin bereksperimen dan juga karena kemampuan

AT90S8515 dalam pemrograman dalam sistem (In System Programming/ ISP) yaitu

pemrograman ketika sistem dijalankan (masih dalam sistem).

Adapun secara lengkapnya mikrokontroler Atmel AT90S8515 ini memiliki

karakteristik sebagai berikut :

1. Arsitektur RISC,

2. 118 instruksi sebagian besar satu siklus instruksi,

3. 32x8 register kerja serbaguna,

4. 8 MIPS (Mega Instructions per Second) pada 8 MHZ

5. Dapat digunakannya bahasa C sebagai bahasa pemrogramannya,

6. Programmable Flash Memory sebesar 8 K Byte (1000 kali siklus hapus/tulis),

7. 512 bytes SRAM,

8. 512 Bytes Programable EEPROM (100.000 siklus hapus/tulis),

9. Pemrograman terkunci untuk program Flash dan keamanan data pada

EEPROM,

10. Jangkauan operasi : 2,7 – 6 Volt,

11. Fully Static Operation : 0 Hz – 8 MHz untuk AT90S8515-8,

12. Dua level Program Memory Lock yaitu flash program dan EEPROM data

security,

13. 32 jalur I/O yang dapat diprogram,

14. Satu Timer/Counter 8 bit dengan sparate prescaler,

15. Satu Timer/Counter 16 bit dengan sparate prescaler,

16. Sumber interupsi (interrupt source) external dan internal,

17. Analog Comparator dalam chip,

18. Pewaktu Watchdog terprogram dengan Osilator dalam chip,

19. Antarmuka serial SPI master/slave,

20. Mode power down dan catu rendah senggang,

21. Kanal pengirim-penerima tak serempak universal (UART-Universal

Asynchronous Receiver-Transmitter) yang dapat diprogram.

Page 19: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

7

2.2.1 Susunan Kaki Mikrokontroler AT90S8515

Bentuk kemasan dan susunan kaki-kaki mikrokontroler dari AT90S8515

diperlihatkan seperti pada Gambar 2.1.

Gambar 2.2 Susunan kaki AT90S8515.

Penjelasan dari masing-masing kaki adalah sebagai berikut:

1. VCC (kaki 40) dihubungkan ke Vcc

2. GND (kaki 20) dihubungkan ke ground.

3. PortA (PA7..PA0) (kaki 32-39) merupakan port 8 bit dua arah (bidirectional)

I/O. Port ini berfungsi sebagai port data/alamat I/O ketika menggunakan

SRAM eksternal.

4. Port B (PB7-PB0) (kaki 1-8) merupakan port 8 bit dua arah (bidirectional) I/O,

untuk berbagai keperluan (multi purpose).

5. Port C(PC7..PC0) (kaki 21-28) adalah port 8 bit dua arah I/O, dengan internal

pull-up resistor. Port C ini juga berfungsi sebagai port alamat ketika

menggunakan SRAM eksternal.

6. Port D (PD7...P0)(kaki 10-17) adalah port 8 bit dua arah I/O dengan resistor

pull-up internal. Port D juga dapat berfungsi sebagai terminal khusus.

7. Reset (kaki 9) ketika kondisi rendah rendah yang lebih lama dari 50 nS akan

mereset mikrokontroler walaupun detak tidak berjalan.

8. XTAL1 (kaki 19) masukan bagi penguat osilator terbalik dan masukan bagi

rangkaian operasi detak internal.

Page 20: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

8

9. XTAL2 (kaki 18) keluaran dari penguat osilator terbalik.

10. ICP (kaki 31) adalah masukan bagi masukan fungsi Capture Timer/counter1

11. OC1B (kaki 29) adalah kaki keluaran bagi fungsi Output CompareB keluaran

Timer/Counter1.

12. ALE (Address Latch Enable) (kaki 30) digunakan ketika menggunakan

SRAM eksternal. Kaki ini digunakan untuk mengunci 8 bit alamat bawah pada

saat siklus akses pertama, dan berfungsi sebagai port data pada siklus akses

kedua.

2.2.2 Blok Diagram dan Arsitektur AT90S8515

AT90S8515 mempunyai 32 general purpose register (R0..R31) yang

terhubung langsung dengan Arithmetic Logic Unit (ALU) sehingga register dapat

diakses dan dieksekusi hanya dalam waktu satu siklus clock. ALU merupakan tempat

dilakukannya operasi fungsi aritmetik, logika dan operasi bit. R30 disebut juga

sebagai Z-Register, yang digunakan sebagai register penunjuk pada pengalamatan tak

langsung. Didalam ALU terjadi operasi aritmetik dan logika antar register, antara

register dan suatu konstanta, maupun operasi untuk register tunggal (single register).

Berikut arsitekturnya yang ditunjukkan blok diagram pada Gambar 2.2 dibawah ini.

Page 21: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

9

Gambar 2.3 Blok diagram Mikrokontroler AT90S8515.

2.2.3 Organisasi Memori

AVR menggunakan arsitektur Harvard sehingga memisahkan memori serta

bus data dengan program. Program ditempatkan Flash Memory sedangkan memori

data terdiri dari 32 buah register serbaguna, 64 register serbaguna, 512 bytes internal

SRAM dan 64 Kbytes SRAM eksternal yang dapat ditambahkan.

Page 22: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

10

2.2.3.1 Memori Program

Memori program pada AT90S8515 diperlihatkan pada Gambar 2.3

Gambar 2.4 Memori program.

AT90S8515 mempunyai kapasitas memori program sebesar 8 Kbytes. Karena

semua format instruksi berupa kata (word), Format word yang biasa digunakan adalah

16 atau 32 bit. Pada AT90S8515 ini format memori program yang digunakan adalah

16 bit sehingga format memori program yang digunakan adalah 4Kx16bit. Memori

Flash ini dirancang untuk dapat di hapus dan tulis sebanyak seribu kali. Program

Counter (PC)-nya sepanjang 12 bit sehingga mampu mengakses hingga 4096 alamat

program memori.

Gambar 2.4 memperlihatkan bagian bawah dari memori program. Setelah

reset CPU memulai eksekusi dari lokasi 0000h. Setiap interupsi mempunyai lokasi

tetap dalam memori program. Interupsi menyebabkan CPU melompat ke lokasi

tersebut dimana pada lokasi tersebut terdapat subrutin yang harus dilaksanakan.

Page 23: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

11

Gambar 2.5 Bagian bawah memori program.

2.2.3.2 Memori Data

Memori data pada AT90S8515 diperlihatkan pada Gambar 2.5.

Gambar 2.6 Memori Data.

Memori data pada AT90S8515 tersebut terdiri atas memori data internal dan

eksternal. Kapasitas dari SRAM internal adalah sebesar 512 bytes. Ini menempati

ruang alamat setelah 32 lokasi register serbaguna, dan setelah 64 register I/O. Jika

SRAM eksternal digunakan, ia akan mengikuti besar SRAM external sampai dengan

maksimum 64K tergantung ukuran SRAM eksternal.

RE S E T

LO K A S IINTE RUP S I

000H001H002H003H004H005H006H007H008H009H00A H00B H00CH

Page 24: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

12

Ketika alamat yang digunakan untuk mengakses melebihi alamat dari ruang

memori internal SRAM, maka SRAM eksternal akan terakses dengan instruksi yang

sama dengan instruksi pada SRAM internal. Jalur pengontrolan SRAM untuk baca

dan tulis masing-masing menggunakan kaki RD dan WR . Ketika masih mengakses

SRAM internal, fungsi RD dan WR tidak akan aktif dan kaki tersebut berfungsi

seperti biasa. Operasi SRAM eksternal dienable oleh seting bit SRE di register

MCUCR.

Mode pengalamatan untuk mengakses memori data meliputi pengalamatan

langsung (Direct Addressing), pengalamatan tak langsung (Indirect Addressing),

Indirect dengan Pre-Decrement, Indirect dengan Post-Decrement, dan Indirect dengan

Displacement.

2.2.3.3 32 Register Serbaguna

Pada 32 bytes general purpose working register atau register umum serbaguna

mendukung adanya konsep register akses cepat. Ini berarti bahwa waktu akses dari

register adalah satu detak dan berarti pula satu operasi ALU (Arithmetics Logic Unit)

dilaksanakan. Agar lebih jelas maka 32 register itu ditunjukkan pada Gambar 2.6.

Gambar 2.7 32 Register Serbaguna.

Semua instruksi operasi register mempunyai akses langsung dan siklus tunggal

terhadap semua register. Perkecualiannya adalah pada perintah SBCI, SUBI, CPI,

Page 25: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

13

ANDI dan ORI. Instruksi ini digunakan pada R16 sampai dengan R31. Enam dari 32

register dapat digunakan sebagai tiga penunjuk alamat tak langsung 16 bit untuk

pengalamatan ruang data. Tiga register fungsi tambahan ini disebut register 16 bit

X,Y, dan Z.

Register di atas juga bisa dianggap sebagai alamat memori data. Register X,Y,

dan Z dapat diset sebagai index pada berbagai register. Register X, Y dan Z tersebut

ditunjukkan pada Gambar 2.7.

Gambar 2.8 Register X, Y dan Z.

2.2.3.4 Ruang Memory I/O

Ruang memori I/O pada AT90S8515 berisi 64 alamat untuk fungsi periferal

CPU seperti register kontrol, Timer/Counter, dan fungsi I/O yang lain. Semua I/O

dan periferal AT90S8515 ditempatkan dalam ruang I/O

Tabel 2.1 Ruang I/O AT90S8515.

Alamat dalam hexadesimal

Nama Fungsi

$3F($5F) SREG Status Register

$3E($5E) SPH Stack Ponter high

$3D($5D) SPL Stack Pointer Low

$3B($5B) GIMSK General Interrupt Mask Regsiter

$3A($5A) GIFR General Interrupt Flag Register

$39($59) TIMSK Timer/Counter Interrupt Mask Register

$38($58) TIFR Timer/Counter Flag Mask Register

$35($55) MCUCR MCU General Control Register

Page 26: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

14

$33($53) TCCR0 Timer/Counter0 Control Register

$32($52) TCNT0 Timer/Counter0 (8 bit)

$2F($4F) TCCRR1A Timer/Counter1 Control Regster A

$2E($4E) TCCR1B Timer/Counter1 Control Regster B

$2D($4D) TCNT1H Timer/Counter1 High Byte

$2C($4C) TCNT1L Timer/Counter1 Low Byte

$2B($4B) OCR1AH Timer/Counter1 Output Compare Register A High Byte

$2A($4A) OCR1AL Timer/Counter1 Output Compare Register A Low Byte

$29($49) OCR1BH Timer/Counter1 Output Compare Register B High Byte

$28($48) OCR1BL Timer/Counter1 Output Compare Register B Low Byte

$25($45) ICR1H T/C 1 Input Capture Register High Byte

$24($44) ICR1L T/C 1 Input Capture Register Low Byte

$21($41) WDTCR Watchdog Timer Control Register

$1F($3E) EEARH EEPROM Address Register high Byte

$1E($3E) EEARL EEPROM Address Register Low Byte

$1D($3D) EEDR EEPROM Data Register

$1C($3C) EECR EEPROM Control Regsiter

$1B($3B) PORTA Data Register, Port A

$1A($3A) DDRA Data Direction Register, Port A

$19($39) PINA Input PIN, Port A

$18($38) PORT B Data Register, Port B

$17($37) DDRB Data Direction Register, Port B

$16($36) PINB Input PIN, Port B

$15($35) PORTC Data Register, Port C

$14($34) DDRC Data Direction Register, Port C

$13($33) PINC Imput PIN, Port C

$12($32) PORTD Data Register, Port D

$11($31) DDRD Data Direction Register, Port D

$10($30) PIND Input PIN, Port D

$0F($2F) SPDR SPI I/O data Register

$0E($2E) SPSR SPI Status Register

Page 27: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

15

$0D($2D) SPCR SPI Control Register

$0C($2C) UDR UART I/O Data register

$0B($2B) USR UART Status register

$0A($2A) UCR UART Control Register

$09($29) UBRR UART Baud Rate Register

$08($28) ACSR Analog Comparator Status Register

2.2.4 Pewaktuan CPU Mikrokontroler AT90S8515 memiliki osilator internal (on chip osilator) yang

dapat digunakan sebagai sumber detak bagi CPU. Untuk menggunakan osilator

internal diperlukan sebuah kristal atau resonator keramik antara kaki Xtal1 dan kaki

Xtal2 dan sebuah kapasitor ke ground seperti terlihat pada Gambar 2.8.

Gambar 2.9 Menggunakan osilator internal.

Bila menggunakan detak eksternal rangkaiannya adalah seperti pada Gambar 2.9.

Gambar 2.10 Menggunakan sumber detak eksternal.

Page 28: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

16

2.3 Transistor Sebagai Saklar[8]

Transistor merupakan salah satu komponen aktif yang terbuat dari bahan

semikonduktor dan memiliki tiga buah terminal yaitu: Basis (B), Emitor (E) dan

Kolektor (C). Garis beban dapat digambarkan pada kurva kolektor untuk memberikan

pandangan yang lebih banyak bagaimana transistor bekerja dan di daerah mana

beroperasi. Pada rangkaian dari Gambar 2.10a tegangan sumber VCC membias balik

dioda kolektor melalui RC. Tegangan pada tahanan ini adalah VCC – VCE. Karena itu,

arus yang melaluinya sama dengan

C

CECCC R

VVI ………………......................................................…………….(2.1)

Suatu alternatif untuk mendapatkan ujung atas dari garis beban adalah dengan

membayangkan bahwa terminal kolektor-emitor terhubung singkat dan arus kolektor

besarnya C

CC

RV . Untuk mendapatkan ujung bawah dari garis beban adalah dengan

membayangkan terminal kolektor-emitor terbuka dan tegangan kolektor-emitor yang

dihasilkan adalah VCC.

C

CC

RV

Gambar 2.11 (a) Rangkaian transistor bias basis.

(b) Kurva karakteristik dan garis beban dc transistor.

(b)

(a)

Page 29: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

17

Pada Gambar 2.10b terdapat titik dimana garis beban memotong kurva IB = 0,

titik ini disebut sebagai titik sumbat (cut off). Pada titik ini, arus basis nol dan arus

kolektor sangat kecil, sehingga dapat diabaikan (hanya ada arus bocor ICEO). Pada titik

sumbat, dioda emitor tidak lagi dibias maju, dan transistor kehilangan kerja

normalnya. Dan digunakan suatu pendekatan, bahwa tegangan kolektor-emitor sama

dengan ujung bawah dari garis beban :

VCE(cut off) VCC ………………………..................………………(2.2)

Perpotongan dari garis beban dan kurva IB = IB(sat) disebut titik saturasi. Pada

titik ini, arus basis sama dengan IB(sat) dan arus kolektor adalah maksimum. Pada

saturasi, dioda kolektor tidak lagi dibias balik, dan transistor kehilangan kerja

normalnya. Digunakan suatu pendekatan, arus kolektor pada saturasi sama dengan

ujung atas dari garis beban:

IC(sat) C

CC

RV

…………………………....................………………(2.3)

Cara yang termudah menggunakan sebuah transistor adalah sebagai saklar,

artinya mengoperasikan transistor pada salah satu dari saturasi atau titik sumbat dan

tidak di tempat-tempat sepanjang garis beban dc. Jika sebuah transistor berada dalam

keadaan saturasi, transistor tersebut seperti sebuah saklar yang tertutup dari kolektor

ke emitor. Jika transistor tersumbat (cut off), transistor seperti sebuah saklar yang

terbuka.

IBRB + VBE – VBB = 0 …………….……............…………………(2.4)

IB = B

BEBB

RVV …………………..………………............………..(2.5)

Jika arus basis lebih besar atau sama dengan IB(sat), titik kerja Q berada pada

ujung atas dari garis beban seperti pada gambar 2.2b. Dalam hal ini, transistor

kelihatan seperti sebuah saklar yang tertutup. Sebaliknya, jika arus basis nol,

transistor bekerja pada ujung bawah dari garis beban, dan transistor kelihatan seperti

sebuah saklar yang terbuka.

Page 30: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

18

2.4 Infrared

Sensor berguna untuk mendeteksi suatu keadaan tertentu. Sensor yang

digunakan di sini menggunakan prinsip kerja dari photodioda. Photodioda dapat

berfungsi sebagai sakelar dengan memanfaatkan infrared yang mengenainya.Terdapat

dua bagian penting dari sensor infrared ini yaitu bagian pemancar dan bagian

penerima dari infrared.

Pemancar infrared merupakan komponen yang dapat memancarkan infrared.

Infrared dapat digunakan baik untuk memancarkan data maupun sinyal suara.

Keduanya membutuhkan sinyal carrier untuk membawa sinyal data maupun sinyal

suara tersebut hingga sampai pada penerima. LED infrared dapat digunakan sebagai

komponen pemancar.

Penerima infrared merupakan komponen yang dapat menerima infrared.

Komponen ini peka terhadap cahaya dan berupa dioda (photodioda) atau transistor

(phototransistor).

Sebuah photodioda biasanya dikemas dengan plastik transparan yang juga

berfungsi sebagai lensa fresnel. Lensa ini merupakan lensa cembung yang

mempunyai sifat mengumpulkan cahaya. Lensa tersebut juga merupakan filter

cahaya, lebih dikenal sebagai ‘optical filter’, yang hanya melewatkan cahaya infrared

saja.

Pada pembuatan komponen yang dikhususkan untuk penerima infrared,

lubang untuk menerima cahaya (window) sudah dibuat khusus sehingga dapat

mengurangi interferensi dari cahaya non-infrared. Oleh sebab itu sensor infrared

yang baik biasanya jendelanya (pelapis yang terbuat dari silikon) berwarna biru tua

keungu-unguan. Sensor ini biasanya digunakan untuk aplikasi infrared yang

digunakan diluar rumah (outdoor).

Komponen ini akan merubah energi cahaya, dalam hal ini energi cahaya

infrared, menjadi pulsa-pulsa sinyal listrik. Komponen ini harus mampu

mengumpulkan sinyal infrared sebanyak mungkin sehingga pulsa-pulsa sinyal listrik

yang dihasilkan kualitasnya cukup baik.

Semakin besar intensitas infrared yang diterima maka sinyal pulsa listrik

yang dihasilkan akan baik jika sinyal infrared yang diterima intensitasnya lemah

maka infrared tersebut harus mempunyai pengumpul cahaya (light collector) yang

cukup baik dan sinyal pulsa yang dihasilkan oleh sensor infrared ini harus dikuatkan.

Page 31: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

19

Pada prakteknya sinyal infrared yang diterima intensitasnya sangat kecil sehingga

perlu dikuatkan.

LED infrared dengan detektornya memang sangat banyak gunanya terutama

untuk alat-alat kontrol di beberapa tempat tanpa mengganggu dan terganggu oleh

sinar tampak. Misalnya saja dalam remote control untuk mematikan atau

menghidupkan Televisi, CD, DVD bahkan Air Conditioning menggunakan

gelombang infrared. Ternyata temperatur yang kita rasakan ada juga hubungannya

dengan gelombang infrared. Adapun penggunaan infrared antara lain sebagai berikut:

teropong malam, mouse komputer.

Seperti halnya sifat cahaya, infrared dapat dipantulkan. Intensitas sinar pantul

infrared bergantung pada permukaan pemantul, untuk permukaan pemantul putih

akan memantulkan sempurna, sedangkan untuk permukaan pemantul hitam tidak

memantulkan sama sekali.

2.5 Motor DC[14]

Motor merupakan suatu alat yang merubah energi listrik menjadi energi

mekanik (putaran). Motor bekerja berdasarkan prinsip induksi elektromagnetik. Pada

Gambar 2.11a lilitan kawat a-b berada dalam medan magnet, lilitan kawat ini dapat

berputar dengan bebas. Lilitan ini disebut jangkar atau armatur. Pada jangkar dialiri

arus listrik yang berasal dari sumber arus (E).

(a) (b)

Gambar 2.12 (a) Dasar konstruksi motor DC.

(b) Penghantar beraliran listrik dalam medan magnet mendapat gaya tolak.

Motor DC dalam pengoperasiannya menggunakan catu daya DC. Prinsip kerja

dari motor DC yaitu arus listrik searah dialirkan melalui suatu penghantar berupa

kumparan. Kumparan tersebut diletakkan pada suatu medan magnet tetap, seperti

Page 32: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

20

terlihat pada Gambar 2.11b. Pada tiap – tiap sisi kumparan tersebut akan timbul gaya,

karena arah gaya pada tiap – tiap sisi kumparan berlawanan arah maka kumparan

akan berputar pada porosnya. Besarnya gaya yang ditimbulkan adalah:

F = BIl ..................................................................................................................(2. 6)

Arah gaya ditentukan oleh aturan tangan kiri, dengan jempol, telunjuk, dan jari

tengah yang saling tegak lurus menunjukan masing – masing arah, F, B, dan I, l

pada rumus 2.6 adalah panjang kumparan.

2.6 Sistem Kontrol On-Off[9]

Pada sistem kontrol on-off, elemen pembangkit hanya memiliki dua posisi

tertentu yaitu on dan off. Kontrol on-off memiliki karakteristik sinyal keluaran dari

kontroler u(t) tetap pada salah satu nilai maksimum atau minimum tergatung dari

sinyal pembangkit kesalahan positif atau negatif. Diagram blok kontroler on-off yang

memiliki masukan e(t) dan keluaran u(t), ditunjukkan pada Gambar 2.12.

U1

U2

e(t) u(t)

Gambar 2.13 Diagram blok kontroler on-off.

Aksi kontrol on-off ditunjukkan pada persamaan di bawah ini.

0)(,0)(,

21

)(tete

UU

tu .................................................................. (2.7)

Pada persamaan (2.7) U1 dan U2 adalah konstanta. Nilai minimum U2 dapat

sebesar nol atau –U1. Pada sistem kontrol ikal tertutup (close loop), sinyal e(t)

merupakan sinyal kesalahan (error) dari selisih antara sinyal input dengan sinyal

umpan balik.

Page 33: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

21

2.7 Perangkat Lunak (Software)

Perangkat lunak adalah bagian dari sistem komputer yang berfungsi untuk

mendukung perangkat keras (hardware). Perangkat lunak yang digunakan dalam

Tugas Akhir ini merupakan bahasa pemrograman yang terdiri dari :

a. Bahasa C

Bahasa ini digunakan untuk mengatur kerja dari Mikrokontroler AT90S8515,

yaitu menerima/mengirim data input.

b. CVAVR

Sebagai pemrogram mikrokontroler dengan bahasa pemrograman C untuk

mengatur kerja dari AT90S8515.

Page 34: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

48

BAB III

PERANCANGAN HARDWARE & SOFTWARE

3.1 Blok Sistem

Lengan robot penyeleksi dan pemindah barang yang dikendalikan oleh

komputer ini diharapkan mampu bekerja sebagai penyeleksi dan pemindah barang

berdasarkan ukuran tinggi barang. Diagram blok sistem lengan robot penyeleksi dan

pemindah barang berbasis AT90S8515 terlihat pada Gambar 3.1.

Gambar 3.1 Diagram blok sistem.

Serangkaian keadaan on dan off dari pin-pin penghubung yang membentuk

kode biner pada port AT90S8515 digunakan sebagai pengontrol dalam menjalankan

motor dc dan pembacaan sensor infrared dan limit switch.

Fungsi masing-masing blok dalam diagram blok :

1. Komputer

Berfungsi sebagai pusat pemroses sinyal digital untuk menjalankan program

aplikasi C dengan memberikan tampilan pada lcd sebagai indikator dan

pengoperasian alat. Program dibuat pada komputer dan setelah program di

download kedalam AT90S8515 maka komputer tidak perlu dipakai lagi.

Page 35: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

23

2. Downloader AT90S8515

Digunakan sebagai antarmuka paralel dari komputer yang mengeluarkan data

biner ke AT90S8515.

3. Penggerak motor dc satu arah

Digunakan untuk menggerakkan motor dc yang berputar satu arah, yaitu : motor

konveyor penyedia, motor konveyor penerima tinggi dan rendah.

4. Penggerak motor dc dua arah

Digunakan untuk menggerakkan motor dc yang berputar dua arah, yaitu: motor

putar kekanan dan kekiri.

5. Sensor infrared

Digunakan untuk mendeteksi ada atau tidaknya barang serta penentuan jenis

barang apakah termasuk ukuran tinggi atau rendah.

6. Sensor batas

Digunakan untuk mendeteksi gerak lengan robot apakah sudah mencapai batas sisi

kiri, sisi tengah atau sisi kanan ataupun batas atas. Sensor yang digunakan adalah

limit switch.

3.2 Perancangan Perangkat Keras

3.2.1 Perancangan Rangkaian Mikrokontroler AT90S8515

Mikrokontroler AT90S8515 yang digunakan sebagai pengatur operasional alat

dan tampilan pada layar lcd ini menyediakan sebanyak 40 port yang masing – masing

dapat digunakan sesuai dengan fungsinya. AT90S8515 ini mempunyai kapasitas

memori program sebesar 8 Kbytes dengan semua format instruksi berupa kata (word).

Format word yang biasa digunakan adalah 16 atau 32 bit. Pada AT90S8515 ini format

memori program yang digunakan adalah 16 bit sehingga format memori program

yang digunakan adalah 4Kx16bit. Memori Flash ini dirancang untuk dapat di hapus

dan tulis sebanyak seribu kali. Program Counter (PC)-nya sepanjang 12 bit sehingga

mampu mengakses hingga 4096 alamat program memori.

Mikrokontroler ini dirancang sebagai single chip (Gambar 3.2), sehingga

dalam perancangannya cukup dibutuhkan rangkaian pembangkit clock (crystal dan

kapasitor), rangkaian power supply. Mikrokontroler diberi oscilator kristal eksternal

sebagai pembangkit frekuensi internal.

Page 36: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

24

Gambars 3.2 Rangkaian Pengontrol Mikrokontroler AT90S8515.

Pada rangkaian minimum diatas oscillator Kristal yang digunakan sebesar 8

Mhz. Masukan catu daya untuk menjalankan rangkaian sistem minimum AT90S8515

adalah sebesar 5 Volt yang terdapat pada pin 40. Sedangkan untuk ground terletak

pada kaki ke 19. Terdapat 4 buah port yaitu port A, port B, port C dan port D yang

akan digunakan pada tugas akhir ini. Pada port A semua pin yang ada digunakan

khusu untuk alokasi dari LCD. Penjelasan selanjutnya secara detail dari fungsi masing

– masing port adalah pada Tabel 3.1 yang merupakan tabel dari penggunaan port-port

pada rangkaian AT 90S8515 dalam tugas akhir ini sebagai berikut :

Tabel 3.1 Penggunaan port-port pada AT90S8515.

NO PORT/PIN FUNGSI INPUT FUNGSI OUTPUT

1 PA0-PA7 - Output LCD

2 PINB.0 Input sensor pendeteksian barang pada konveyer penyedia

-

3 PINB.1 Input sensor rendah pada konveyer penyedia barang

-

4 PINB.2 Input sensor tinggi pada konveyer penyedia barang

-

5 PINB.3 Input sensor pada konveyer penerima barang rendah

-

6 PINB.4 Input sensor pada konveyer penerima barang tinggi

-

7 PINB.5 Input sensor batas pada sisi kiri (barang rendah)

-

5V

Page 37: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

25

8 PINB.6 Input sensor batas pada sisi tengah (barang rendah/tinggi)

-

9 PINB.7 Input sensor batas pada sisi kanan (barang tinggi)

-

10 PIND.0 Input sensor delay barang pada konveyor kiri (barang rendah)

11 PIND.1 Input sensor delay barang pada konveyor kanan (barang tinggi) -

12 PIND.2 Input sensor pada magnetic clutch -

13 PORTD.3 - Output motor dc bawah untuk penentuan arah

14 PORTD.4 - Output motor dc bawah untuk on/off gerakan

15 PORTC.0 - Output motor dc turun-naik untuk penentuan arah

16 PORTC.1 - Output motor dc turun-naik untuk on/off gerakan

17 PINC.2 Input sensor batas atas pada lenagan robot

-

18 PORTC.4 - Output motor dc pada konveyer penerima kiri (berjenis rendah)

20 PORTC.5 - Output motor dc pada konveyer penyedia tengah

21 PORTC.6 - Output motor dc pada konveyer penerima kanan (berjenis tinggi)

22 PORTC.7 - Output magnetic clutch pada lengan robot

Rangkaian mikrokontroler AT90S8515 ini menggunakan oscilator kristal

eksternal sebagai pembangkit frekuensi internal (on chip osilator) sebesar 8 MHz

yang dapat digunakan sebagai sumber detak bagi CPU. Untuk menggunakan osilator

internal diperlukan sebuah kristal atau resonator keramik antara kaki Xtal1 dan kaki

Xtal2 dan sebuah kapasitor ke ground. Pada port A pin 0-7 diperuntukkan untuk

tampilan LCD. Port B pin 0-7, Port C pin 2 dan Port D pin 0-2 mikrokontroler

AT90S8515 digunakan untuk sensor – sensor sebagai input dari mikrokontroler AT

90S8515 yang terdiri dari sensor infrared dan sensor batas (limit switch). Port C pin

0-1, Port C pin 3-7 dan Port D pin 3-4 digunakan untuk output yang berupa

penggerak dari motor dc gerak turun-naik dan kiri-kanan serta penggerak motor DC

pada konveyor yang terdiri dari 2 konveyor penerima dan 1 konveyor penyedia

barang.

Page 38: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

26

3.2.2 Perancangan Rangkaian Penggerak Motor DC Satu Arah

Rangkaian penggerak motor dc satu arah digunakan untuk mengendalikan

motor konveyor penyedia dan konveyor penerima. Masukan dari rangkaian penggerak

motor dc satu arah ini adalah Mikrokontroler AT90S8515. Tegangan masukan ini

akan memberikan arus yang cukup untuk membuat transistor saturasi dan

mengaktifkan relai.

1N4002

12V

LOAD

12

+ 100uF RELAY SPDT

BD 139

4K7

PORTC.4

PORTC.5

PORTC.6

Gambar 3.3 Rangkaian penggerak motor dc satu arah.

Rangkaian penggerak motor ini berfungsi untuk menghubungkan dan

memutuskan motor dengan sumber tegangannya melalui sebuah relai. Rangkaian

penggerak motor dc yang digunakan untuk menggerakkan konveyor ini ditunjukkan

seperti pada Gambar 3.3. Dioda berfungsi untuk melindungi transistor dari tegangan

induksi yang timbul pada koil relai saat relai bergerak ke off, yaitu dengan

menghubung singkat tegangan induksi yang timbul. Pergerakan on dan off dari relai

inilah yang mengatur hidup dan matinya motor dc.

Tabel logika untuk motor dc satu arah adalah sebagai berikut: Tabel 3.2 Logika untuk motor dc satu arah.

Nama Port Keluaran Motor dc PORTC.4 0 Mati (off) PORTC.4 1 Hidup (on) PORTC.5 0 Mati (off) PORTC.5 1 Hidup (on) PORTC.6 0 Mati (off) PORTC.6 1 Hidup (on)

Page 39: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

27

3.2.3 Perancangan Rangkaian Penggerak Motor DC Dua Arah

Untuk mengendalikan motor dua arah (motor naik-turun, motor putar kanan-

kiri) maka digunakan rangkaian penggerak motor dc dua arah. Gambar 3.4

menunjukkan rangkaian penggerak motor dc dua arah.

Rangkaian ini membutuhkan dua masukan dari ATMEL 90S8515, masukan

pertama sebagai pengatur hidup mati motor (on/off). Sedangkan yang ke dua sebagai

pengatur arah putaran motor. Tegangan masukan ini akan memberikan arus yang

cukup untuk membuat transistor saturasi dan mengaktifkan relai.

PORTC.1

PORTD.3

PORTD.4

PORTC.0

Gambar 3.4 Rangkaian penggerak motor dc dua arah.

1

2

Page 40: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

28

Tabel logika untuk motor dc dua arah naik – turun adalah sebagai berikut : Tabel 3.3 Logika untuk motor dc dua arah naik - turun. PORTC.0 (sebagai arah) PORTC.1 (sebagai on/off) Motor dc

0 1 Turun 0 0 Off 1 1 Naik 1 0 Off

Tabel logika untuk motor dc dua arah kanan – kiri adalah sebagai berikut :

Tabel 3.4 Logika untuk motor dc dua arah kanan - kiri. PORTD.4 (sebagai arah) PORTD.3 (sebagai on/off) Motor dc

0 1 Kiri 0 0 Off 1 1 Kanan 1 0 Off

3.2.4 Perancangan Rangkaian Sensor Infrared

Sensor berguna untuk mendeteksi suatu keadaan tertentu. Sensor yang

digunakan di sini menggunakan prinsip kerja dari photodioda. Photodioda dapat

berfungsi sebagai sakelar dengan memanfaatkan infrared yang mengenainya.

Pemancar Infrared

Pemancar infrared merupakan komponen yang dapat memancarkan infrared.

Infrared dapat digunakan baik untuk memancarkan data maupun sinyal suara.

Keduanya membutuhkan sinyal carrier untuk membawa sinyal data maupun sinyal

suara tersebut hingga sampai pada penerima. LED infrared dapat digunakan sebagai

komponen pemancar.

Penerima Infrared

Penerima infrared merupakan komponen yang dapat menerima infrared.

Komponen ini peka terhadap cahaya dan berupa dioda (photodioda) atau transistor

(phototransistor).

Sebuah photodioda biasanya dikemas dengan plastik transparan yang juga

berfungsi sebagai lensa fresnel. Lensa ini merupakan lensa cembung yang

mempunyai sifat mengumpulkan cahaya. Lensa tersebut juga merupakan filter

cahaya, lebih dikenal sebagai ‘optical filter’, yang hanya melewatkan cahaya infrared

saja.

Page 41: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

29

Pada pembuatan komponen yang dikhususkan untuk penerima infrared,

lubang untuk menerima cahaya (window) sudah dibuat khusus sehingga dapat

mengurangi interferensi dari cahaya non-infrared. Oleh sebab itu sensor infrared

yang baik biasanya jendelanya (pelapis yang terbuat dari silikon) berwarna biru tua

keungu-unguan. Sensor ini biasanya digunakan untuk aplikasi infrared yang

digunakan diluar rumah (outdoor).

Komponen ini akan merubah energi cahaya, dalam hal ini energi cahaya

infrared, menjadi pulsa-pulsa sinyal listrik. Komponen ini harus mampu

mengumpulkan sinyal infrared sebanyak mungkin sehingga pulsa-pulsa sinyal listrik

yang dihasilkan kualitasnya cukup baik.

Semakin besar intensitas infrared yang diterima maka sinyal pulsa listrik

yang dihasilkan akan baik jika sinyal infrared yang diterima intensitasnya lemah

maka infrared tersebut harus mempunyai pengumpul cahaya (light collector) yang

cukup baik dan sinyal pulsa yang dihasilkan oleh sensor infrared ini harus dikuatkan.

Pada prakteknya sinyal infrared yang diterima intensitasnya sangat kecil sehingga

perlu dikuatkan.

LED infrared dengan detektornya memang sangat banyak gunanya terutama

untuk alat-alat kontrol di beberapa tempat tanpa mengganggu dan terganggu oleh

sinar tampak. Misalnya saja dalam remote control untuk mematikan atau

menghidupkan Televisi, CD, DVD bahkan Air Conditioning menggunakan

gelombang infrared. Ternyata temperatur yang kita rasakan ada juga hubungannya

dengan gelombang infrared. Adapun penggunaan infrared antara lain sebagai berikut:

teropong malam, mouse komputer.

Seperti halnya sifat cahaya, infrared dapat dipantulkan. Intensitas sinar pantul

infrared bergantung pada permukaan pemantul, untuk permukaan pemantul putih

akan memantulkan sempurna, sedangkan untuk permukaan pemantul hitam tidak

memantulkan sama sekali.

Pemancar dan penerima infrared inilah yang digunakan sebagai indera untuk

mendeteksi keadaan tertentu, seperti sebagai sensor dimensi dan sebagainya.

Rangkaian sensor (pemancar dan penerima) yang digunakan seperti terlihat pada

Gambar 3.5.

Page 42: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

30

Vcc +6V

-

+

1/4 LM324

1K10K

2K2

INFRALED

PHOTODIODA

BC547

10K 3V9

10

LED

Ke pin AT90S8515

Gambar 3.5 Rangkaian Pemancar dan Penerima infrared.

Dari Gambar 3.5, pada saat photodioda (RX) mendapat cahaya infrared dari

TX infrared, maka photodioda akan dalam keadaan saturasi (jenuh) demikian pula

dengan transistor BC547, sehingga kolektor secara ideal ditanahkan, dan pada

datasheet, VCE(Sat) sekitar 50 mV, maka tegangan pada masukan tak membalik lebih

kecil dari tegangan pada masukan membalik dan output dari Op-Amp sama dengan 0

Volt. Saat photodioda tidak mendapat sinar dari LED infrared maka photodioda mati

(cutoff), demikian pula transistor BC547, sehingga kolektor ter-pull up oleh Vcc,

maka tegangan pada masukan tak membalik lebih tinggi dari tegangan pada masukan

membalik dan tegangan output Op-Amp mendekati Vcc (6 V). Setelah dibatasi oleh

dioda Zener maka akan turun menjadi 3,9 Volt. Tegangan ini mampu dikenali sebagai

logika 1 pada rangkaian AT90S8515 melalui pin-pin masukan. Sedangkan LED yang

terpasang seri dengan resistor 10Ω pada keluaran Op-Amp hanya sebagai indikator

apakah keluaran Op-Amp berlogika 1 (LED nyala) atau 0 (LED padam).

Tabel logika untuk sensor infrared ini adalah sebagai berikut:

Tabel 3.5 Logika untuk sensor infrared. Sensor Infrared Logika

Terhalang 1 Tidak terhalang 0

3.2.5 Perancangan Rangkaian Sensor Limit Switch sebagai Sensor Batas

Sensor yang digunakan pada alat ini adalah limit switch push off / normally

closed (terputus jika ditekan). Prinsip kerja dari sensor ini adalah sebagai berikut;

saat saklar dalam kondisi tertutup (belum ditekan) keluaran rangkaian terhubung

langsung dengan ground dan akan diproses oleh PC dalam logika rendah. Saat saklar

Page 43: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

31

tertekan akan membuat saklar terbuka dan keluaran rangkaian mendekati +5V yang

berarti dalam logika tinggi. Pada saat penekanan saklar akan timbul getaran mekanis

yang disebut efek bouncing sehingga timbul tegangan tak stabil pada keluaran. Untuk

menstabilkan tegangan tersebut dipasang kapasitor sebagai peredam (debouncing).

Resistor digunakan sebagai pembatas arus.

Ke Mikrokontroler

+ 5V

R10k

Limit Switch10 F

Gambar 3.6 Rangkaian sensor limit switch.

Limit switch ini digunakan untuk membatasi posisi lengan robot saat bergerak

kekanan, kekiri maupun ketengah serta batas atas posisi lengan robot pada saat naik.

Tabel logika untuk sensor limit switch ini adalah sebagai berikut : Tabel 3.6 Logika untuk sensor limit switch.

Sensor Limit Switch Logika Open (terbuka) 1 Close (tertutup) 0

3.3 Perancangan Perangkat Lunak

Pada Tugas Akhir ini bahasa pemrograman yang digunakan adalah bahasa C

yang sesuai dengan standar ANSI. Perancangan perangkat lunak pada mikrokontroler

ini mempunyai beberapa bagian dimana masing-masing bagian akan dijelaskan

sebagai berikut :

3.3.1 Deklarasi Variabel, Fungsi, dan File Judul (Header File) Program

Pada bagian ini berisi pendeklarasian fungsi, file judul (Header) dan juga definisi

tipe variabel yang digunakan dalam pemrograman. Berikut ini alur programnya : 1. #include <stdio.h>

2. #include <90s8515.h>

3. #include <delay.h>

Page 44: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

32

4. #asm

5. .equ __lcd_port=0x1B

6. #endasm

7. #include <lcd.h>

8. void fungsi_rendah(void);

9. void fungsi_tinggi(void);

Pada pendeklarasian #include <90s8515.h> berfungsi untuk memanggil header

file 90s8515.h. Header file atau dengan nama lain file judul adalah suatu file yang

didalamnya berisi deklarasi fungsi dan definisi konstanta. Header file ini mempunyai

ciri-ciri khusus yaitu pada akhir nama filenya diakhiri dengan extensi .h. Pada

CodeVisionAVR versi 1.23.8c terdapat berbagai header file untuk keperluan

pemrograman AVR. Pengarah #include merupakan suatu jenis pengarah yang

digunakan untuk membaca suatu header file.

Pada pendeklarasian #asm adalah suatu awal dari pengarah program assembly

yang berfungsi untuk mengikut sertakan bahasa assembly dalam program C. Baris 4

- 6 berfungsi memberitahukan bahwa PORTA digunakan untuk tampilan LCD.

Setelah menginisialisasi PORT yang digunakan untuk LCD maka header file lcd.h

dipanggil. Baris 8-9 merupakan pendeklarasi awal fungsi.

3.3.2 Program Utama

Bagian ini merupakan bagian utama dimana compiler akan melakukan

inisialisasi. Seperti pada Bahasa C yang biasa digunakan, fungsi void main (void)

merupakan fungsi istimewa. Hal ini karena fungsi ini merupakan titik awal dan titik

akhir eksekusi program. Tanda { diawal fungsi merupakan awal tubuh fungsi.dan

sekaligus awal eksekusi program. Tanda } merupakan akhir tubuh fungsi dan juga

akhir dari eksekusi program. Diagram alir (flowchart) program utama ditunjukkan

pada Gambar 3.7.

Page 45: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

33

Gambar 3.7 Diagram alir program utama.

Page 46: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

34

Berikut ini program utamanya :

10. void main(void)

{

11. DDRB=0x00;

12. DDRC=0b11111011;

13. DDRD=0b11111000;

14. lcd_init(16);

15. lcd_gotoxy(0,0);

16. lcd_putsf(" TUGAS AKHIR ");

17. lcd_gotoxy(0,1);

18. lcd_putsf("ANDES INDRAYANTO");

19. delay_ms(2000);

20. while (1)

{

12. lcd_gotoxy(0,0);

13. lcd_putsf("SILAHKAN LETAKAN");

14. lcd_gotoxy(0,1);

15. lcd_putsf(" BARANG ");

16. delay_ms(500);

17. if (PINB.0==1)

{

18. lcd_gotoxy(0,0);

19. lcd_putsf(" ADA BARANG ");

20. lcd_gotoxy(0,1);

21. lcd_putsf(" PROSES DIMULAI ");

22. delay_ms(100);

23. while (PINB.2==0)

{

24. PORTC.5=1;

25. delay_ms(100);

}

26. PORTC.5=0;

27. if (PINB.1==1)

{

28. lcd_gotoxy(0,0);

29. lcd_putsf(" TINGGI BARANG ");

30. lcd_gotoxy(0,1);

Page 47: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

35

31. lcd_putsf(" TINGGI ");

32. delay_ms(1000);

33. fungsi_tinggi();

}

34. else

{

35. lcd_gotoxy(0,0);

36. lcd_putsf(" TINGGI BARANG ");

37. lcd_gotoxy(0,1);

38. lcd_putsf(" RENDAH ");

39. delay_ms(1000);

40. fungsi_rendah();

}

41. delay_ms(1000);

}

42. else

{

;

}

}

}

Perintah DDRB=0x00; adalah perintah agar PORTB Semuanya sebagai input.

DDRC=0b11111011; menandakan PORTC.2 sebagai input, Selain itu sebagai output

dimana tanda b adalah sebagai bilangan biner. DDRD=0b11111000; menandakan

bahwa PORTD.0, PORTD.1, PORTD.2 sebagai input, Selain itu sebagai output.

Setelah itu program utama ini akan menginisialisasi LCD yang ditempatkan

pada port A agar pada saat mulai dijalankan muncul tampilan pada LCD berupa

“TUGAS AKHIR ANDES INDRAYANTO”. Kemudian proses selanjutnya akan

dimulai setelah mengalami tundaan 2000 ms. Pada bagian sebelum ini, program telah

mengikutkan file header yang bernama lcd.h. Setelah itu LCD akan menampilkan

tulisan “SILAHKAN LETAKAN BARANG” dengan tundaan sebesar 500 ms. Pada

baris 17 merupakan suatu syarat kondisi dimana ketika ada suatu input yaitu

IF (PINB.0==1) maka LCD akan menampilkan “ADA BARANG PROSES

DIMULAI”. Pada saat kondisi PINB.2=0 maka motor pada konveyor penyedia akan

hidup seperti pada baris 24. Jadi apabila PINB.2=1 maka akan membuat motor

Page 48: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

36

konveyor penyedia mati. Selanjutnya pendeteksian barang dilakukan pada baris 27

– 41. Pada baris ke 27 dimana PINB.1=1 maka pada LCD akan ditampilkan

“TINGGI BARANG TINGGI”. Kemudian setelah terdeteksi jenis barang tinggi maka

akan memanggil fungsi tinggi seperti pada baris 33. Pada kondisi yang lain yaitu

PINB.1=0 maka LCD akan menampilkan ”TINGGI BARANG RENDAH”.

Kemudian setelah barang terdeteksi rendah maka akan dipanggil fungsi rendah seperti

pada baris 40.

3.3.3 Fungsi Untuk Barang Jenis Rendah

Gambar 3.8 Diagram alir proses penyeleksian dan pemindahan barang rendah.

Bagian ini merupakan bagian program dimana setelah terjadi proses

pendeteksian barang rendah yang telah dibahas pada bagian sebelumnya kemudian

akan diproses sesuai dengan masukan dan keluaran sampai akhirnya kembali lagi

Page 49: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

37

pada posisi awal. Berikut diagram alir (flowchart) program fungsi untuk jenis barang

rendah yang ditunjukkan oleh Gambar 3.8.

Berikut ini program untuk fungsi barang jenis rendah:

43. void fungsi_rendah(void)

{

44. while (PIND.2==0)

{

45. lcd_gotoxy(0,0);

46. lcd_putsf(" LENGAN ROBOT ");

47. lcd_gotoxy(0,1);

48. lcd_putsf(" TURUN ");

49. delay_ms(300);

50. PORTC.0=0;

51. delay_ms(100);

52. PORTC.1=1;

}

53. PORTC.1=0;

54. lcd_gotoxy(0,0);

55. lcd_putsf(" BARANG DIAMBIL ");

56. lcd_gotoxy(0,1);

57. lcd_putsf(" LENGAN ROBOT ");

58. delay_ms(1000);

59. PORTC.7=1;

60. while (PINC.2==1)

{

61. lcd_gotoxy(0,0);

62. lcd_putsf(" LENGAN ROBOT ");

63. lcd_gotoxy(0,1);

64. lcd_putsf(" NAIK ");

65. delay_ms(300);

66. PORTC.0=1;

67. delay_ms(100);

68. PORTC.1=1;

Page 50: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

38

}

69. delay_ms(100);

70. PORTC.1=0;

71. while (PINB.5==1)

{

72. lcd_gotoxy(0,0);

73. lcd_putsf(" LENGAN ROBOT ");

74. lcd_gotoxy(0,1);

75. lcd_putsf(" KEKIRI ");

76. delay_ms(100);

77. PORTD.4=0;

78. delay_ms(100);

79. PORTD.3=1;

}

80. delay_ms(150);

81. PORTD.3=0;

82. while (PINB.3==0)

{

83. lcd_putsf(" LENGAN ROBOT ");

84. lcd_gotoxy(0,1);

85. lcd_putsf(" TURUN ");

86. delay_ms(300);

87. PORTC.0=0;

88. delay_ms(100);

89. PORTC.1=1;

}

90. PORTC.1=0;

91. lcd_gotoxy(0,0);

92. lcd_putsf(" BARANG DILEPAS ");

93. lcd_gotoxy(0,1);

94. lcd_putsf(" LENGAN ROBOT ");

95. delay_ms(1500);

96. PORTC.7=0;

Page 51: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

39

97. while (PINC.2==1)

{

98. lcd_putsf(" LENGAN ROBOT ");

99. lcd_gotoxy(0,1);

100. lcd_putsf(" NAIK ");

101. delay_ms(300);

102. PORTC.0=1;

103. delay_ms(100);

104. PORTC.1=1;

}

105. delay_ms(100);

106. PORTC.1=0;

107. while (PINB.6==1)

{

108. lcd_putsf(" LENGAN ROBOT ");

109. lcd_gotoxy(0,1);

110. lcd_putsf(" KETENGAH ");

111. delay_ms(100);

112. PORTD.4=1;

113. delay_ms(100);

114. PORTD.3=1;

}

115. delay_ms(0);

116. PORTD.3=0;

117. while (PIND.0==0)

{

118. PORTC.4=1;

}

119. delay_ms(2000);

120. PORTC.4=0;

121. lcd_putsf(" BARANG TELAH ");

122. lcd_gotoxy(0,1);

123. lcd_putsf(" SIAP ");

124. delay_ms(1500);

}

Page 52: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

40

Setelah terdeteksi barang adalah jenis rendah maka langkah selanjutnya adalah

mengecek apakah sensor yang terdapat pada magnetic clutch (PIND.2) terhalang atau

tidak seperti terdapat pada baris 44. LCD akan menampilkan tulisan”LENGAN

ROBOT TURUN” seperti pada baris 45 - 49. Apabila kondisi PIND.2==0 atau tidak

terhalang maka PORTC.0 sebagai arah untuk motor dc akan turun (PORTC.0=0)dan

PORTC.1 sebagai penentu on/off motor dc akan hidup (PORTC.1=1) seperti pada

baris 50 dan 52. Proses ini akan terus berlanjut sampai kondisi dimana PIND.2

terhalang. Apabila PIND.2==1 maka gerak turun motor dc akan berhenti seperti pada

baris 53. LCD akan menampilkan pesan “BARANG DIAMBIL LENGAN ROBOT”

seperti pada baris 54 – 58. Setelah itu PORTC.7 sebagai keluaran dari magnetic clutch

akan hidup sehingga menimbulkan gaya magnetik yang akan menempelkan barang

seperti pada baris 59. Kondisi selanjutnya adalah pengecekan terhadap sensor letak

lengan yaitu PINC.2 dimana diberi kondisi awal PINC.2==1 yaitu posisi dimana limit

switch dalam posisi terbuka (open) seperti pada baris 60. Apabila memang bernilai 1

maka LCD akan menampilkan “LENGAN ROBOT NAIK” Seperti pada baris 61 –

65. Selanjutnya setelah mengalami penundaan 300ms maka motor dc akan naik sesuai

dengan perintah pada baris 66 - 68. Ketika PINC.2 sudah bernilai 0 yaitu pada saat

tertekan maka perintah selanjutnya adalah mematikan gerak naik dari motor dc yaitu

pada baris 70. Kondisi selanjutnya adalah pengecekan terhadap limit switch kiri yaitu

PINB.5 dimana kondisi awalnya adalah PINB.5==1 yang berarti dalam keadaan

terbuka seperti pada baris 71. Apabila bernilai 1 maka LCD akan

menampilkan”LENGAN ROBOT KEKIRI” seperti pada baris 72 – 76. Selanjutnya

setelah ada tundaan 100 ms maka motor dc akan bergerak kekiri seperti pada baris 77

– 79. Apabila kondisi telah bernilai 0 maka motor dc akan mati seperti pada baris 81

yaitu PORTD.3=0. Kondisi selanjutnya adalah pengecekan pada sensor infrared pada

sisi penerima jenis rendah yaitu PINB.3 dimana kondisi awalnya adalah 0 yaitu tidak

terhalang seperti pada baris 82. Apabila kondisi terpenuhi maka LCD menampilkan

“LENGAN ROBOT TURUN”. Kemudian setelah ada tundaan 300ms maka motor dc

akan bergerak turun seperti pada baris 87 – 89. Setelah kondisi PINB.3 bernilai 1

yaitu pada saat terhalang maka gerak turun motor dc terhenti yaitu pada perintah

PORTC.1=0 baris 90. Setelah itu LCD akan menampilkan “BARANG DILEPAS

LENGAN ROBOT” seperti baris 91 - 95. Setelah ada tundaan 1500ms kemudian

Page 53: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

41

gaya magnetik akan hilang dengan perintah PORTC.7=0 pada baris 96 yang akan

melepas barang. Kondisi selanjutnya adalah pengecekan terhadap sensor letak lengan

PINC.2 dimana kondisi awalnya adalah 1. Apabila bernilai 1 maka LCD

menampilkan”LENGAN ROBOT NAIK” seperti pada baris 98 – 101. Setelah

mengalami penundaan sebesar 300ms maka motor dc akan naik sesuai dengan

perintah pada baris 102 – 104. Ketika kondisi awal PINC.2 tidak terpenuhi maka

proses selanjutnya adalah gerak motor dc naik akan berhenti yaitu pada saat limit

switch tertekan seperti pada baris 106. Kondisi selanjutnya adalah pengecekan

terhadap sensor limit switch tengah yaitu PINB.6 dengan kondisi awal adalah 1 seperti

pada baris 107. Apabila memang terpenuhi kondisi 1 maka LCD akan

menampilkan”LENGAN ROBOT KETENGAH” seperti pada baris 108 – 111.

Kemudian setelah ada tundaan 100ms maka motor dc akan bergerak kekanan seperti

pada perintah 112 – 114. Ketika kondisi awal PINB.6 tidak terpenuhi yaitu pada saat

bernilai 0 maka gerak kekanan ini akan berhenti seperti pada baris 116 yaitu

PORTD.3=0. Pengecekan selanjutnya adalah pada sensor infrared untuk delay barang

yaitu PIND.0 dimana kondisi awalnya adalah 0 yang artinya tidak terhalang. Apabila

kondisi ini terpenuhi maka motor dc pada konveyor penerima jenis barang rendah ini

akan hidup seperti pada baris 118 yaitu PORTC.4=1. Ketika kondisi awal sudah tidak

terpenuhi yaitu pada saat PIND.0 terhalang atau bernilai 1 maka gerak motor dc pada

PORTC.4 ini akan berhenti seperti pada baris 120. Selanjutnya LCD akan

menampilkan”BARANG TELAH SIAP” yang artinya proses akan dimulai lagi dari

awal yaitu proses peletakan barang pada konveyor penyedia seperti pada baris 121 –

124.

3.3.4 Fungsi Untuk Barang Jenis Tinggi Bagian ini merupakan bagian program dimana setelah terjadi proses

pendeteksian barang tinggi yang telah dibahas pada bagian sebelumnya kemudian

akan diproses sesuai dengan masukan dan keluaran sampai akhirnya kembali lagi

pada posisi awal. Berikut diagram alir (flowchart) program fungsi untuk jenis barang

tinggi yang ditunjukkan oleh Gambar 3.9.

Page 54: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

42

Gambar 3.9 Diagram alir proses penyeleksian dan pemindahan barang tinggi.

Berikut ini program untuk fungsi barang jenis tinggi: 124. void fungsi_tinggi(void)

{

125. while (PIND.2==0)

{

126. lcd_gotoxy(0,0);

127. lcd_putsf(" LENGAN ROBOT ");

128. lcd_gotoxy(0,1);

129. lcd_putsf(" TURUN ");

130. delay_ms(300);

131. PORTC.0=0;

132. delay_ms(100);

133. PORTC.1=1;

}

Page 55: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

43

134. PORTC.1=0;

135. lcd_gotoxy(0,0);

136. lcd_putsf(" BARANG DIAMBIL ");

137. lcd_gotoxy(0,1);

138. lcd_putsf(" LENGAN ROBOT ");

139. delay_ms(1500);

140. PORTC.7=1;

141. while (PINC.2==1)

{

142. lcd_gotoxy(0,0);

143. lcd_putsf(" LENGAN ROBOT ");

144. lcd_gotoxy(0,1);

145. lcd_putsf(" NAIK ");

146. delay_ms(300);

147. PORTC.0=1;

148. delay_ms(100);

149. PORTC.1=1;

}

150. delay_ms(100);

151. PORTC.1=0;

152. while (PINB.7==1)

{

153. lcd_putsf(" LENGAN ROBOT ");

154. lcd_gotoxy(0,1);

155. lcd_putsf(" KEKANAN ");

156. delay_ms(100);

157. PORTD.4=1;

158. delay_ms(100);

159. PORTD.3=1;

}

160. delay_ms(100);

161. PORTD.3=0;

162. while (PINB.4==0)

Page 56: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

44

{

163. lcd_gotoxy(0,0);

164. lcd_putsf(" LENGAN ROBOT ");

165. lcd_gotoxy(0,1);

166. lcd_putsf(" TURUN ");

167. delay_ms(300);

168. PORTC.0=0;

169. delay_ms(100);

170. PORTC.1=1;

}

171. PORTC.1=0;

172. lcd_gotoxy(0,0);

173. lcd_putsf(" BARANG DILEPAS ");

174. lcd_gotoxy(0,1);

175. lcd_putsf(" LENGAN ROBOT ");

176. delay_ms(1500);

177. PORTC.7=0;

178. while (PINC.2==1)

{

179. lcd_gotoxy(0,0);

180. lcd_putsf(" LENGAN ROBOT ");

181. lcd_gotoxy(0,1);

182. lcd_putsf(" NAIK ");

183. delay_ms(300);

184. PORTC.0=1;

185. delay_ms(100);

186. PORTC.1=1;

}

187. delay_ms(100);

188. PORTC.1=0;

189. while (PINB.6==1)

{

190. lcd_putsf(" LENGAN ROBOT ");

191. lcd_gotoxy(0,1);

Page 57: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

45

192. lcd_putsf(" KETENGAH ");

193. delay_ms(100);

194. PORTD.4=0;

195. delay_ms(100);

196. PORTD.3=1;

}

197. delay_ms(700);

198. PORTD.3=0;

199. while (PIND.1==0)

{

200. delay_ms(100);

201. PORTC.6=1;

}

202. delay_ms(2000);

203. PORTC.6=0;

204. lcd_putsf(" BARANG TELAH ");

205. lcd_gotoxy(0,1);

206. lcd_putsf(" SIAP ");

207. delay_ms(1500);

}

Setelah terdeteksi barang adalah jenis tinggi maka langkah selanjutnya adalah

mengecek apakah sensor yang terdapat pada magnetic clutch (PIND.2) terhalang atau

tidak seperti terdapat pada baris 125. LCD akan menampilkan tulisan”LENGAN

ROBOT TURUN”. Apabila kondisi PIND.2==0 atau tidak terhalang maka PORTC.0

sebagai arah untuk motor dc akan turun (PORTC.0=0)dan PORTC.1 sebagai penentu

on/off motor dc akan hidup (PORTC.1=1) seperti pada baris 131 dan 133. Proses ini

akan terus berlanjut sampai kondisi dimana PIND.2 terhalang. Apabila PIND.2==1

maka gerak turun motor dc akan berhenti seperti pada baris 134. LCD akan

menampilkan pesan “BARANG DIAMBIL LENGAN ROBOT” seperti pada baris

135 – 139. Setelah itu PORTC.7 sebagai keluaran dari magnetic clutch akan hidup

sehingga menimbulkan gaya magnetik yang akan menempelkan barang seperti pada

baris 140. Kondisi selanjutnya adalah pengecekan terhadap sensor letak lengan yaitu

PINC.2 dimana diberi kondisi awal PINC.2==1 yaitu posisi dimana limit switch

dalam posisi terbuka (open) seperti pada baris 141. Apabila memang bernilai 1 maka

LCD akan menampilkan “LENGAN ROBOT NAIK” Seperti pada baris 142 – 146.

Page 58: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

46

Selanjutnya setelah mengalami penundaan 300ms maka motor dc akan naik sesuai

dengan perintah pada baris 147 - 149. Ketika PINC.2 sudah bernilai 0 yaitu pada saat

tertekan maka perintah selanjutnya adalah mematikan gerak naik dari motor dc yaitu

pada baris 151. Kondisi selanjutnya adalah pengecekan terhadap limit switch kanan

yaitu PINB.7 dimana kondisi awalnya adalah PINB.7==1 yang berarti dalam keadaan

terbuka seperti pada baris 152. Apabila bernilai 1 maka LCD akan

menampilkan”LENGAN ROBOT KEKANAN” seperti pada baris 153 – 156.

Selanjutnya setelah ada tundaan 100 ms maka motor dc akan bergerak kekiri seperti

pada baris 157 – 159. Apabila kondisi telah bernilai 0 maka motor dc akan mati

seperti pada baris 161 yaitu PORTD.3=0. Kondisi selanjutnya adalah pengecekan

pada sensor infrared pada sisi penerima jenis tinggi yaitu PINB.4 dimana kondisi

awalnya adalah 0 yaitu tidak terhalang seperti pada baris 162. Apabila kondisi

terpenuhi maka LCD menampilkan “LENGAN ROBOT TURUN” seperti pada baris

163 – 167. Kemudian setelah ada tundaan 300ms maka motor dc akan bergerak turun

seperti pada baris 168 – 170. Setelah kondisi PINB.4 bernilai 1 yaitu pada saat

terhalang maka gerak turun motor dc terhenti yaitu pada perintah PORTC.1=0 baris

171. Setelah itu LCD akan menampilkan “BARANG DILEPAS LENGAN ROBOT”

seperti baris 172 - 176. Setelah ada tundaan 1500ms kemudian gaya magnetik akan

hilang dengan perintah PORTC.7=0 pada baris 177 yang akan melepas barang.

Kondisi selanjutnya adalah pengecekan terhadap sensor letak lengan PINC.2 dimana

kondisi awalnya adalah 1. Apabila bernilai 1 maka LCD menampilkan”LENGAN

ROBOT NAIK” seperti pada baris 179 – 183. Setelah mengalami penundaan sebesar

300ms maka motor dc akan naik sesuai dengan perintah pada baris 184 – 187. Ketika

kondisi awal PINC.2 tidak terpenuhi maka proses selanjutnya adalah gerak motor dc

naik akan berhenti yaitu pada saat limit switch tertekan seperti pada baris 188. Kondisi

selanjutnya adalah pengecekan terhadap sensor limit switch tengah yaitu PINB.6

dengan kondisi awal adalah 1 seperti pada baris 189. Apabila memang terpenuhi

kondisi 1 maka LCD akan menampilkan”LENGAN ROBOT KETENGAH” seperti

pada baris 190 – 193. Kemudian setelah ada tundaan 100ms maka motor dc akan

bergerak kekanan seperti pada perintah 194 – 196. Ketika kondisi awal PINB.6 tidak

terpenuhi yaitu pada saat bernilai 0 maka gerak kekiri ini akan berhenti seperti pada

baris 198 yaitu PORTD.3=0. Pengecekan selanjutnya adalah pada sensor infrared

untuk delay barang yaitu PIND.1 dimana kondisi awalnya adalah 0 yang artinya tidak

terhalang. Apabila kondisi ini terpenuhi maka motor dc pada konveyor penerima jenis

Page 59: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

47

barang tinggi ini akan hidup seperti pada baris 201 yaitu PORTC.6=1. Ketika kondisi

awal sudah tidak terpenuhi yaitu pada saat PIND.1 terhalang atau bernilai 1 maka

gerak motor dc pada PORTC.6 ini akan berhenti seperti pada baris 203. Selanjutnya

LCD akan menampilkan”BARANG TELAH SIAP” yang artinya proses akan dimulai

lagi dari awal yaitu proses peletakan barang pada konveyor penyedia seperti pada

baris 204 – 207.

Page 60: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

61

BAB IV

PENGUJIAN DAN ANALISA ALAT

4. 1 Pengujian Hardware

Beberapa pengujian yang dilakukan terhadap hardware, diantaranya adalah

pengujian sistem minimum AT90S8515 untuk Lcd, pengujian rangkaian penggerak

motor dc satu arah, pengujian rangkaian penggerak motor dc dua arah, pengujian

sensor infrared, pengujian limit switch.

4.1.1 Pengujian Sistem Minimum AT90S8515 - LCD

Pengujian sistem minimum AT90S8515-LCD dilakukan untuk mengetahui

apakah AT90S8515 telah berfungsi dengan baik. Port yang digunakan untuk LCD ini

adalah port A. Pengujian dilakukan dengan cara menuliskan karakter “Andes

Indrayanto” pada LCD. Program ini diisikan pada memori internal mikrokontroller

AT90S8515. Rangkaian untuk menguji sistem minimum dapat dilihat pada Gambar

4.1.

Gambar 4.1 Rangkaian untuk menguji sistem minimum AT90S8515-LCD.

Page 61: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

49

Berikut program yang digunakan untuk menguji Sistem minimum AT90S8515. /* Uji Mikro-LCD */ #include <90s8515.h> #asm .equ __lcd_port=0x1B #endasm #include <lcd.h> #include <stdio.h> #include <delay.h> void main(void) { lcd_init(16); while (1) { DDRB=0xff; DDRC=0xff; DDRD=0xff; PORTB=0xff; PORTC=0xff; PORTD=0xff; lcd_gotoxy(0,0); lcd_putsf("Andes"); lcd_gotoxy(0,1); lcd_putsf(" Indrayanto "); delay_ms(500); } }

Dari hasil pengujian pada LCD yang dihubungkan ke port A, terdapat tulisan

“Andes” pada baris pertama dan “Indrayanto” pada baris kedua dengan ini sistem

mikrokontroler-LCD dapat berfungsi dengan baik.

4.2.1. Pengujian Rangkaian Penggerak Motor DC Satu Arah

Untuk mengetahui apakah rangkaian penggerak motor dc satu arah telah

bekerja dengan baik maka dilakukan pengujian dengan memberikan logika input pada

rangkaian penggerak motor dc satu arah dan hasilnya dapat dilihat pada kondisi motor

dan LED indikator .

Hasil pengujian rangkaian penggerak motor dc satu arah terlihat pada Tabel 4.1. Tabel 4.1 Hasil pengujian rangkaian penggerak motor dc satu arah.

Logika masukan Motor LED

0 Diam Padam

1 Berputar Menyala

Dari hasil pengujian dapat diketahui bahwa pada saat rangkaian penggerak

motor dc satu arah mendapat masukan logika tinggi (1), motor berputar dan LED

Page 62: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

50

menyala, sedangkan ketika mendapat masukan logika rendah (0), motor diam tidak

berputar dan LED padam. Hal ini disebabkan karena pada saat masukan dari

AT90S8515 berlogika tinggi menyebabkan transistor BD 139 on. Karena transistor on

maka relaipun akan on dan akan menghidupkan motor, sedangkan ketika rangkaian

ini mendapatkan masukan logika rendah (0), menyebabkan transistor off sehingga

relaipun off dan mematikan motor yang dihubungkan dengan relai ini. Jadi pergerakan

on dan off dari relai inilah yang mengatur hidup dan matinya motor.

4.1.3 Pengujian Rangkaian Penggerak Motor DC Dua Arah

Untuk mengetahui apakah rangkaian penggerak motor dc dua arah telah

bekerja dengan baik maka dilakukan pengujian dengan memberikan logika pada kaki

1 dan 2 pada rangkaian penggerak motor dc dua arah. Adapun rangkaian uji motor

DC dua arah ditunjukkan pada Gambar 4.2.

Gambar 4.2 Rangkaian uji penggerak motor DC dua arah.

Adapun hasil pengujian dari rangkaian penggerak motor dc dua arah terlihat

pada Tabel 4.2.

1

2

Page 63: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

51

Tabel 4.2 Hasil pengujian rangkaian penggerak motor dc dua arah.

Dari hasil pengujian dapat diketahui bahwa pada saat kaki 1 mendapat logika

0 maka pergerakan motor akan bergerak ke kiri, sedangkan ketika kaki ini mendapat

logika 1 maka pergerakan motor akan bergerak kearah kanan hal ini karena kaki 1

digunakan untuk mengatur arah pergerakan motor. Ketika kaki 1 mendapat masukan

logika 1 transistor BD 139 on dan relai pertama pun akan on. Pergerakan on dan off

dari relai pertama inilah yang mengatur putaran motor ke kanan atau ke kiri.

Sedangkan ketika kaki 2 mendapat logika 0 maka motor tetap diam, dan ketika

mendapat logika 1 maka motor berputar. Hal ini disebabkan karena ketika kaki 1 yang

berfungsi sebagai saklar mendapat logika 1 yang akan menyebabkan transistor BD

139 on sehingga menyebabkan relai on. Dengan aktifnya transistor mengakibatkan

kolektor seolah–olah terhubung singkat terhadap ground dan membuat motor

mendapat catu 12 V yang menjadikan motor berputar.

Dan dari hasil pengujian dapat disimpulkan bahwa rangkaian penggerak motor

DC dua arah telah dapat berfungsi dengan baik. Hal ini karena ketika kaki 1 dan kaki

0 diberi logika sesuai dengan arah yang ditentukan maka pergerakan motor telah

sesuai dengan arah yang diinginkan

4.1.4 Pengujian Rangkaian Sensor infrared

Untuk mengetahui apakah rangkaian sensor infrared tersebut telah bekerja

sesuai dengan yang diinginkan maka dilakukan pengujian dengan menggunakan LCD

sebagai tampilannya apakah sensor infrared telah bekerja dengan baik pada saat

kondisi terhalang oleh barang. Sensor yang diambil sebagai contoh adalah pada

PINB.0, PINB.1 dan PINB.2

1 2 Motor

0 0 Berhenti

0 1 Berputar ke kiri

1 0 Berhenti

1 1 Berputar ke kanan

Page 64: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

52

Program yang digunakan untuk pengujian sensor infrared adalah sebagai

berikut #include <stdio.h> #include <90s8515.h> #include <delay.h> #asm .equ __lcd_port=0x1B #endasm #include <lcd.h> void main(void) {

DDRB=0x00; DDRC=0b11111011; DDRD=0b11111000;

lcd_init(16); while (1) {

lcd_gotoxy(0,0); lcd_putsf(" ANDES "); lcd_gotoxy(0,1); lcd_putsf(" INDRAYANTO "); delay_ms(500);

if (PINB.0==1) {

lcd_gotoxy(0,0); lcd_putsf(" ADA BARANG "); lcd_gotoxy(0,1); lcd_putsf(" B0 "); delay_ms(500); } if (PINB.1==1) {

lcd_gotoxy(0,0); lcd_putsf(" ADA BARANG "); lcd_gotoxy(0,1); lcd_putsf(" B1 "); delay_ms(500); } if (PINB.2==1) {

lcd_gotoxy(0,0); lcd_putsf(" ADA BARANG "); lcd_gotoxy(0,1); lcd_putsf(" B2 "); delay_ms(500); } } }

Page 65: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

53

Hasil pengujian rangkaian sensor infrared seperti terlihat pada Tabel 4.3.

Tabel 4.3 Hasil pengujian rangkaian sensor infrared.

Tampilan Lcd Kondisi infrared

PINB.0 PINB.1 PINB.2 Logika

Tidak terhalang barang - - - 0

Terhalang barang

“ADA BARANG

B0”

“ADA BARANG

B1”

“ADA BARANG

B2” 1

Dari hasil pengujian dapat diketahui bahwa pada saat sensor infrared tidak

terhalang barang maka PINB.0=0, PINB.1=0 dan PINB.2=0 pada Lcd tidak

ditampilkan tulisan apapun. Ketika terhalang barang yaitu pada saat PINB.0=1 maka

ditampilkan tulisan “ADA BARANG B0”, PINB.1=1 maka ditampilkan tulisan ”

ADA BARANG B1”, dan PINB.2=1 maka ditampilkan tulisan pada Lcd “ADA

BARANG B2”.

4.1.5 Pengujian Rangkaian Sensor Limit Switch

Untuk mengetahui apakah rangkaian sensor limit switch telah bekerja sesuai

dengan yang diinginkan maka dilakukan pengujian rangkaian sensor limit switch.

Pengujian dilakukan dengan menekan limit switch dan pada saat yang sama tegangan

keluaran yang akan menuju mikrokontroler diukur. Adapun rangkaian dari pengujian

limit switch ditunjukkan pada Gambar 4.3.

Gambar 4.3. Rangkaian uji limit switch.

Page 66: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

54

Dari pengujian yang telah dilakukan, didapat hasil pengujian rangkaian sensor

limit switch seperti terlihat pada Tabel 4.4.

Tabel 4.4 Hasil pengujian sensor limit switch.

Dari hasil pengujian limit switch dapat diketahui bahwa pada saat limit switch

ketika tidak ditekan, tegangan keluarannya sebesar 5,02 volt. Hal ini disebabkan

karena masukan dari kaki mikrokontroler langsung terhubung Vcc sehingga logika

yang dideteksi mikrokontroler akan high. Sedangkan pada saat limit switch ditekan

maka tegangan keluaran rangkaian sensor limit switch sebesar 0,0974V, hal ini

disebabkan karena keluaran rangkaian sensor limit switch terhubung dengan ground,

sehingga logika keluaran yang dideteksi mikrokontroler adalah logika low. Dengan

hasil pengujian di atas dapat disimpulkan bahwa rangkaian limit switch telah bekerja

dengan baik.

4. 2 Pengujian Software

4.2.1 Pengujian Program Pada Konveyor Penyedia Barang #include <stdio.h> #include <90s8515.h> #include <delay.h> #asm .equ __lcd_port=0x1B #endasm #include <lcd.h> void turunnaik(void); void main(void) { DDRB=0x00; DDRC=0b11111011; DDRD=0b11111000; lcd_init(16); lcd_gotoxy(0,0); lcd_putsf(" TUGAS AKHIR "); lcd_gotoxy(0,1); lcd_putsf("ANDES INDRAYANTO"); delay_ms(2000); while (1) { lcd_gotoxy(0,0);

Tegangan keluaran (volt)

Limit Switch 1 2 3 4 5 6 7 8 Rata-

rata

Logika

Ditekan 0,104 0,095 0,094 0,097 0,099 0,099 0,096 0,095 0,097 Low

Tidak Ditekan 5,02 5,02 5,02 5,02 5,02 5,02 5,02 5,02 5,02 High

Page 67: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

55

lcd_putsf("SILAHKAN LETAKAN"); lcd_gotoxy(0,1); lcd_putsf(" BARANG "); delay_ms(500); if (PINB.0==1) { lcd_gotoxy(0,0); lcd_putsf(" ADA BARANG "); lcd_gotoxy(0,1); lcd_putsf(" PROSES DIMULAI "); delay_ms(100); while (PINB.2==0) { PORTC.5=1; delay_ms(100); } PORTC.5=0; if (PINB.1==1) { lcd_gotoxy(0,0); lcd_putsf(" TINGGI BARANG "); lcd_gotoxy(0,1); lcd_putsf(" TINGGI "); delay_ms(1250); turunnaik(); } else { lcd_gotoxy(0,0); lcd_putsf(" TINGGI BARANG "); lcd_gotoxy(0,1); lcd_putsf(" RENDAH "); delay_ms(1250); turunnaik(); } delay_ms(1000); } else { ; } } } void turunnaik(void) { while (PIND.2==0) { lcd_gotoxy(0,0); lcd_putsf(" LENGAN ROBOT "); lcd_gotoxy(0,1); lcd_putsf(" TURUN "); delay_ms(300); PORTC.0=0; delay_ms(100); PORTC.1=1; } PORTC.1=0; while (PINC.2==1) { lcd_gotoxy(0,0);

Page 68: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

56

lcd_putsf(" LENGAN ROBOT "); lcd_gotoxy(0,1); lcd_putsf(" NAIK "); delay_ms(300); PORTC.0=1; delay_ms(100); PORTC.1=1; } delay_ms(100); PORTC.1=0; }

Pengujian pada konveyor penyedia ini meliputi proses hidup matinya

motor dc pada konveyor penyedia, seleksi barang untuk menentukan jenis

barang dan proses naik turunnya lengan robot. Berdasarkan program pengujian

diatas maka pada saat PINB.0=1 dan PINB.2=0 maka motor dc pada konveyor

penyedia akan hidup. Kemudian pada saat PINB.2=1 yaitu ketika terhalang

oleh barang akan membuat motor dc menjadi mati. Setelah itu akan dimulai

proses pengambilan barang oleh lengan robot yang diawali dengan turunnya

lengan robot. Pada saat PIND.2=1 karena terhalang barang maka proses

turunnya lengan robot ini akan terhenti. Setelah itu naik lagi sampai PINC.2

=1 sebagai sensor batas atas akan membuat proses naiknya lengan robot ini

akan terhenti.

Hasil dari pengujian tampak seprti dalam tabel dibawah ini : Tabel 4.5 Hasil pengujian pada konveyor penyedia barang.

Percobaan Jenis Barang Proses

Pengujian

1 Tinggi Berhasil

2 Tinggi Berhasil

3 Tinggi Berhasil

4 Tinggi Berhasil

5 Rendah Berhasil

6 Rendah Berhasil

7 Rendah Berhasil

8 Rendah Berhasil

Page 69: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

57

4.2.2 Pengujian Program Konveyor Penerima Barang Untuk Gerakan Kekanan,

Ketengah, Kekiri Dan Turun-Naik

#include <stdio.h> #include <90s8515.h> #include <delay.h> #asm .equ __lcd_port=0x1B #endasm #include <lcd.h> void kanan(void); void tengah1(void); void kiri(void); void tengah2(void); void turunnaik(void); void main(void) { DDRB=0x00; DDRC=0b11111011; DDRD=0b11111000; lcd_init(16); lcd_gotoxy(0,0); lcd_putsf(" TUGAS AKHIR "); lcd_gotoxy(0,1); lcd_putsf("ANDES INDRAYANTO"); delay_ms(2000); while (1) { lcd_gotoxy(0,0); lcd_putsf("SILAHKAN LETAKAN"); lcd_gotoxy(0,1); lcd_putsf(" BARANG "); delay_ms(500); if (PINB.0==1) { lcd_gotoxy(0,0); lcd_putsf(" ADA BARANG "); lcd_gotoxy(0,1); lcd_putsf(" PROSES DIMULAI "); delay_ms(100); while (PINB.2==0) { PORTC.5=1; delay_ms(100); } PORTC.5=0; if (PINB.1==1) { lcd_gotoxy(0,0); lcd_putsf(" TINGGI BARANG "); lcd_gotoxy(0,1); lcd_putsf(" TINGGI "); delay_ms(1000); turunnaik(); delay_ms(1000); kanan(); delay_ms(1000); tengah1();

Page 70: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

58

} else { lcd_gotoxy(0,0); lcd_putsf(" TINGGI BARANG "); lcd_gotoxy(0,1); lcd_putsf(" RENDAH "); delay_ms(1000); turunnaik(); delay_ms(1000); kiri(); tengah2(); } delay_ms(1000); } else { ; } } } void turunnaik(void) { while (PIND.2==0) { lcd_gotoxy(0,0); lcd_putsf(" LENGAN ROBOT "); lcd_gotoxy(0,1); lcd_putsf(" TURUN "); delay_ms(300); PORTC.0=0; delay_ms(100); PORTC.1=1; } PORTC.1=0; while (PINC.2==1) { lcd_gotoxy(0,0); lcd_putsf(" LENGAN ROBOT "); lcd_gotoxy(0,1); lcd_putsf(" NAIK "); delay_ms(300); PORTC.0=1; delay_ms(100); PORTC.1=1; } delay_ms(100); PORTC.1=0; } void kanan(void) { while (PINB.7==1)

Page 71: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

59

{ lcd_putsf(" LENGAN ROBOT "); lcd_gotoxy(0,1); lcd_putsf(" KEKANAN "); delay_ms(100); PORTD.4=1; delay_ms(100); PORTD.3=1; } delay_ms(200); PORTD.3=0; } void tengah1(void) { while (PINB.6==1 { lcd_putsf(" LENGAN ROBOT "); lcd_gotoxy(0,1); lcd_putsf(" KETENGAH "); delay_ms(100); PORTD.4=0; delay_ms(100); PORTD.3=1; } delay_ms(50); PORTD.3=0; } void kiri(void) { while (PINB.5==1) { lcd_putsf(" LENGAN ROBOT "); lcd_gotoxy(0,1); lcd_putsf(" KEKIRI "); delay_ms(100); PORTD.4=0; delay_ms(100); PORTD.3=1; } delay_ms(100); PORTD.3=0; } void tengah2(void) { while (PINB.6==1) { lcd_putsf(" LENGAN ROBOT "); lcd_gotoxy(0,1); lcd_putsf(" KETENGAH "); delay_ms(100); PORTD.4=1; delay_ms(100); PORTD.3=1; } delay_ms(50);

Page 72: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

60

PORTD.3=0; }

Hasil dari pengujian jenis barang pada konveyor penerima dapat dilihat pada

tabel dibawah ini:

Tabel 4.6 Hasil pengujian pada konveyor penerima barang.

Jenis Barang

Uji Turun Naik

Uji Gerak Kekanan

Uji Gerak Ketengah1

Uji Gerak Kekiri

Uji Gerak Ketengah2

Tinggi Berhasil Berhasil Tidak Berhasil Berhasil Tidak Berhasil

Tinggi Berhasil Berhasil Tidak Berhasil Berhasil Tidak Berhasil

Tinggi Berhasil Berhasil Tidak Berhasil Berhasil Tidak Berhasil

Tinggi Berhasil Berhasil Tidak Berhasil Berhasil Tidak Berhasil

Rendah Berhasil Berhasil Tidak Berhasil Berhasil Tidak Berhasil

Rendah Berhasil Berhasil Tidak Berhasil Berhasil Tidak Berhasil

Rendah Berhasil Berhasil Tidak Berhasil Berhasil Tidak Berhasil

Rendah Berhasil Berhasil Tidak Berhasil Berhasil Tidak Berhasil

Dari hasil pengujian tampak bahwa semua proses berlangsung secara berurutan.

Proses pada konveyor penerima ini dimulai dengan pendeteksian jenis barang lalu

gerakan turun naik lengan robot, penempelan barang oleh magnetic clutch kemudian

perpindahan lengan robot kekanan atau kekiri sesuai jenis barang dimana jika barang

jenis tinggi lengan bergerak kekanan dan jika barang jenis rendah lengan kekiri.

Digunakan limit switch sebagai sensor batasnya. PINB.5 sebagai batas kiri, PINB.6

sebagai batas tengah, PINB.7 sebagai batas kanan dan PINC.2 sebagai batas atas pada

gerakan naiknya lengan robot.

Proses perpindahan kekanan, kekiri, dan naik serta turun telah berhasil dilakukan

dengan baik sementara pada saat gerak kembali ketengah untuk jenis barang tinggi

dan barang rendah tidak bisa dilakukan dengan sempurna sehingga gerak ketengah ini

tidak berhasil dilakukan hal ini dikarenakan tidak akuratnya posisi lengan robot pada

saat berhenti di tengah

Page 73: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

61

BAB V

PENUTUP

5.1 Kesimpulan

Berdasarkan hasil pengujian dan analisa Tugas Akhir yang telah

dilakukan, dapat diambil kesimpulan sebagai berikut :

1. Lengan robot penyeleksi dan pemindah barang berdasarkan ukuran tinggi

menggunakan mikrokontroler AT90S8515 dapat berfungsi dengan baik.

2. Tegangan keluaran sensor limit switch ketika ditekan adalah 0,097V karena

keluaran rangkaian langsung terhubung ground dan pada saat tidak ditekan

sebesar 5,02V.

3. Proses penyeleksian barang pada konveyor penyedia berhasil dilakukan dengan

tidak ada kesalahan.

4. Proses pemindahan barang pada gerak turun-naik, gerak kekanan dan gerak

kekiri oleh Lengan robot berhasil dilakukan dengan tidak ada kesalahan.

5. Proses pemindahan barang pada gerak ketengah tidak berhasil dilakukan

dilakukan dengan baik akibat kurang akuratnya posisi lengan robot pada saat

kembali ketengah.

5.2 Saran

Agar sistem yang didapat lebih baik, maka penulis memberikan saran-saran

sebagai berikut :

1. Untuk pengembangan lebih lanjut penggunaan komputer dapat digantikan

dengan sistem mikrokontroler.

2. Perbaikan pada sistem mekanik yang kurang presisi dan kurang sempurna

sehingga pengambilan dan penempatan barang semakin akurat.

3. Perbaikan pada sensor infrared yang rentan terhadap gangguan berupa

pergeseran yang mempengaruhi penerima dan pemancar infrared sehingga

diharapkan gangguan dapat ditekan seminimal mungkin.

Page 74: APLIKASI MIKROKONTROLER ATMEL 90S8515 SEBAGAI … · 12. Rekan-rekan kampong halamanku, Awi, Hani, Enjis, Amin, Slamet, Warso terima kasih atas segala dorongan dan canda tawanya.

62

DAFTAR PUSTAKA

[1]. Jogiyanto, H., Konsep Dasar Pemrograman Bahasa C, Edisi Kedua, ANDI,

Yogyakarta, 2000.

[2]. Khadiq, A., Aplikasi Mikrokontroler Atmel AT90S8515 Sebagai Pengatur Pada

Mesin Tetas Ayam, Tugas Akhir , Teknik Elektro Undip, Semarang, 2005.

[3]. Kadir, A., Pemrograman Dasar Turbo C untuk IBM PC, ANDI, Yogyakarta,

1997.

[4]. Kernighan, B.W. & Ritchie, D.M., The C Programming Language, Second

Edition, Prentice Hall, New Jersey, 1988.

[5]. K.S. Fu, R.C. Gonzalez & G.S.G. Lee, Robotics : Control, Sensing, Vision, and

Intelligence, McGraw-Hill Book Co., Singapore, 1988.

[6]. Mahadmadi, F., Embeded C Pada Mikrokontroler AVR AT90S8515, Tugas

Akhir, Teknik Elektro Undip, Semarang, 2003.

[7]. Malvino, P.A., Aproksimasi Rangkaian Semikonduktor, Edisi Keempat, Penerbit

Erlangga, Jakarta, 1986.

[8]. Malvino, P.A., Prinsip-prinsip Elektronika, Edisi Kedua, Penerbit Erlangga,

Jakarta, 1984.

[9]. Ogata, Katsuhiko, Teknik Kontrol Automatik, Jilid I, Edisi Kedua, Erlangga,

Jakarta, 1997.

[10]. Raharjo, S.B., Sutopo, B., Robot Pengikut Garis Berbasis Mikrokontroler

AT89C51 Menggunakan Sensor Infra Merah, Teknik Elektro UGM,

Yogyakarta, 2004.

[11]. Rusmadi, D., Digital & Rangkaian, PIONIR JAYA, Bandung, 2004.

[12]. Sutisna, U., Aplikasi Mikrokontroler AT89C51 Untuk Keamanan Ruangan Pada

Rumah Cerdas, Tugas Akhir , Teknik Elektro Undip, Semarang, 2004.

[13]. Wardoyo, R., Lengan Robot Penyeleksi dan Pemindah Barang Berdasarkan

Ukuran Panjang Berbasis PC, Tugas Akhir , Teknik Elektro Undip, Semarang,

2004.

[14]. Zuhal, Dasar Tenaga Listrik, ITB, Bandung, 1991.

[15]. _ _ _ _ _ _, 8-bit AVR Instruction Set, http://www.atmel.com, Februari 2003.

[16]. _ _ _ _ _ _, CodeVisionAVR Version1.0.1.7 User Manuat,

http://www.hpinfotech.ru, Maret 2003.