Lengan robot pelarut papan tercetak [PCB] terkendali mikrokontroler AT89C511 - USD Repository

  

LENGAN ROBOT PELARUT PAPAN TERCETAK (PCB)

TERKENDALI MIKROKONTROLER AT89C51

TUGAS AKHIR

Diajukan untuk memenuhi Salah Satu Syarat

  

Memperoleh Gelar Sarjana Teknik

Jurusan Teknik Elektro

Di susun oleh :

AGUNG NUGROHO

  

NIM : 995114024

PROGRAM STUDI TEKNIK ELEKTRO

JURUSAN TEKNIK ELEKTRO

FAKULTAS TEKNIK

UNIVERSITAS SANATA DHARMA

  

ROBOTIC ARM FOR PCB ETCHING

CONTROLLED BY AT89C51 MICROCONTROLLER

FINAL PROJECT

Presented as Partial Fulfillment of the Requirements

To Obtain the Sarjana Teknik Degree

  

In Electrical Engineering

By :

AGUNG NUGROHO

  

Student Number : 995114024

ELECTRICAL ENGINEERING STUDY PROGRAM

ELECTRICAL ENGINEERING DEPARTMENT

ENGINEERING FACULTY

SANATA DHARMA UNIVERSITY

HALAMAN MOTTO DAN PERSEMBAHAN

  

Barang siapa setia dalam perkara-perkara kecil, ia setia juga

dalam perkara-perkara besar. Dan barang siapa tidak benar dalam perkara-perkara kecil, ia tidak benar juga dalam perkara-perkara besar. (Injil Lukas 16 : 10)

  Dadi wong kui ojo rumangsa bisa, ning dadio wong sing bisa rumangsa (Semar)

  Kemarin dan hari ini merupakan bagian dari proses pembelajaran dalam hidup dimana akan selalu berjalan seiring dengan kehadiran hari esok.

  Dengan segala kerendahan hati dan tulus ikhlas, secara khusus Tugas Akhir ini kupersembahkan kepada : kedua orang tuaku, Bapak Miri Sumaryanto dan Ibu Yustina T.

PERNYATAAN KEASLIAN KARYA

  Saya menyatakan dengan sesungguhnya bahwa karya yang saya tulis ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan pada daftar pustaka, sebagaimana layaknya karya ilmiah.

  Yogyakarta, 8 November 2006 Penulis,

  Agung Nugroho

  

LENGAN ROBOT PELARUT PAPAN TERCETAK (PCB)

TERKENDALI MIKROKONTROLER AT89C51

AGUNG NUGROHO

995114024

INTI SARI

  Pada umumnya, penggoncangan pada proses pelarutan PCB dilakukan dengan tangan. Pada penelitian ini akan dibuat suatu alat yang dapat menggantikan fungsi tangan dalam proses pelarutan. Alat ini berbentuk sebuah lengan robot.

  Ada tiga proses utama yang akan dijalankan dalam sistem, yaitu pelarutan, pencucian dan pengeringan. Alat ini berkerja secara otomatis pada setiap prosesnya. Gerakan tiap bagian lengan robot dan lama waktu pada proses pelarutan, pencucian dan pengeringan telah diatur dalam pemrograman MCS-51. Tampilan lama waktu proses pelarutan menggunakan LED. Penggerak tiap bagian lengan adalah motor stepper.

  Hasil pengamatan menunjukkan alat ini mampu bekerja untuk setiap proses pelarutan PCB. Lebar simpangan bagian lengan robot 3 dipengaruhi oleh berat PCB dan gaya gesekan antara PCB dengan air. Kata kunci : lengan robot pelarut PCB, Aplikasi Mikrokontroler AT89C51

  

ROBOTIC ARM FOR PCB ETCHING CONTROLLED BY

AT89C51 MICROCONTROLLER

AGUNG NUGROHO

995114024

ABSTRACT

  Traditionally process of PCB etching done by hand. At this research will be made an appliance which can replace the hand function in course of etching. This appliance is in form of a robot arm.

  There is three especial process to be run in system, that is etching, washing and draining. This appliance work automatically in each its process. Movement of every shares arm robot and time depth of etching process, washing and draining have been arranged in MCS-51program. Appearance of time depth process of PCB etching use the LED. Activator of every arm shares is motor stepper.

  Result of perception show this appliance able to work for each every process of PCB etching. Wide deviation of part robot arm 3 influenced by weight of PCB and friction between PCB with the water Keyword : robotic arm for PCB etching, AT89C51 Microcontroller application

KATA PENGANTAR

  Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa atas berkat dan rahmatNya yang telah diberikan sehingga penulis dapat menyelesaikan Tugas Akhir dengan judul ‘Lengan Robot Pelarut Papan Tercetak (PCB) Berbasis Mikrokontroler AT89C51’. Semoga apa yang telah penulis sampaikan lewat tugas akhir ini dapat memberikan sumbangan pemikiran untuk pengembangan ilmu pengetahuan pada umumnya dan ilmu teknik elektronika pada khususnya.

  Tugas Akhir ini merupakan buah dari kerja keras, pemikiran, dan pengorbanan yang penulis peroleh sebelumnya di perkuliahan. Namun, penulis menyadari bahwa tugas akhir ini tidak akan selesai jika tidak mendapat bantuan dari banyak pihak yang telah berkenan membantu secara langsung maupun tidak langsung. Penulis juga mengharapkan adanya masukan serta kritik yang membangun dari apa yang telah disampaikan dalam penulisan ini.

  Pada kesempatan yang baik ini, dengan segala kerendahan hati penulis mengucapkan banyak terima kasih kepada :

  1. Bapak Martanto, ST., MT., selaku pembimbing I, yang telah memberikan bantuan ide, saran, masukan, kritik, serta bimbingannya yang sangat berguna selama penulisan Tugas Akhir ini.

  2. B. Djoko Untoro Suwarno, Ssi., MT.., selaku pembimbing II yang telah

  3. Bapak Augustinus Bayu Primawan, ST., M.Eng., selaku Kepala Jurusan Teknik Elektro Fakultas Teknik Universitas Sanata Dharma Yogyakarata.

  4. Ibu Ir. Th. Prima Ari Setyani, MT., selaku Sekretaris Jurusan Teknik Elektro Fakultas Teknik Universitas Sanata Dharma Yogyakarata.

  5. Para dosen-dosen Teknik Elektro, yang telah memberikan pengajaran serta pemikiran yang telah diberikan selama penulis berada dalam masa perkuliahan.

  6. Para karyawan laboratorium Teknik Elektro, yaitu Kangmas Mardi, Kangmas Broto, Kangmas Suryana, Pak Hardi, yang telah membantu penulis dalam menyelesaikan pembuatan alat yang dibutuhkan Tugas Akhir.

  7. Bapak Aris Sukardjito, S.IP, selaku staf Sekretariat Teknik Elektro, yang telah membantu penulis untuk menyiapkan syarat-syarat akademik maupun administrasi yang dibutuhkan selama perkuliahan.

  8. Bapakku Miri Sumaryanto., Ibuku Yustina T. tercinta, yang telah berusaha memberikan segalanya yang penulis butuhkan secara material dan spiritual.

  9. Ketiga adikku, Aji , Asih dan Ari, yang telah banyak mengalah sekaligus memberiku motivasi.

  10. Valent. yang telah memberiku semangat dan motivasi serta selalu setia

  11. Sobat TE ‘ 99 : Apri, Mas Adri, Giri Sugawa, ‘Mas Ableh, Boim, Si Boss , ‘Mbah’ Jiwo, Bagus , Sunan Giri, Wawan, Kodok, Ragil, Inyonk, Oscar, Rahmat, Bledex, Winda, Cieng, Santi, Dagul, Roni, Tutus, Yuyun, Pak’e, Bu Gendhut, Mabes Minggiran ; SiBund, Mba Datik, Budhe, Lui+Eki, Putree lan Putro. Cah-cah ‘Kompeni Jawa‘ : Pak Dhe, Kang Itheng, Kang Kun, Reben, Sontho, Pardex, P’ Kiyut, Yudex, Bewel, Belong. Cah ‘nDalan’: Dwex, Nia, Egik, Nita. Terima kasih atas kasih sayang yang selama ini penulis dapatkan dari kalian yang tersebut di atas! Penulis juga ingin menyampaikan banyak terima kasih kepada pihak- pihak yang tidak dapat penulis sebutkan satu per satu. Karena tanpa bantuan mereka, penulis menyadari tidak akan mampu menyelesaikan Tugas akhir ini dengan baik.

  Yogyakarta, 8 November 2006 Penulis

DAFTAR ISI

  1.3 Batasan Masalah

  6

  5

  5

  4

  3

  2

  1

  BAB II DASAR TEORI

  1.6 Sistematika Penulisan

  1.5 Manfaat Penelitian

  1.4 Tujuan Penelitian

  JUDUL i

  LEMBAR PERSETUJUAN iii

  1.1 Latar Belakang

  1

  BAB I PENDAHULUAN

  DAFTAR TABEL xix

  DAFTAR GAMBAR xvi

  DAFTAR ISI xii

  KATA PENGANTAR ix

  ABSTRACT viii

  INTISARI vii

  PERNYATAAN KEASLIAN KARYA vi

  MOTTO DAN PERSEMBAHAN v

  LEMBAR PENGESAHAN iv

  1.2 Perumusan Masalah

  2.1.2. Memori Fungsi Register Khusus (Special Function

  10 Register )

  10

  2.1.3. Register-Register Dasar

  12

  2.1.4. Mode Pengalamatan Mikrokontroler AT89C51

  13

  2.1.5. Timer dan Counter Dalam Mikrokontroler AT89C51

  15

  2.1.6. Konfigurasi Pin Mikrokontroler AT89C51

  17

  2.1.7. On Chip Oscilator

  21

  2.1.8. Cara Penerapan Mikrokontroler AT89C51

  22

  2.1.9. Penentuan Rpull-up Untuk Port 0

  22

  2.2. Motor Stepper

  22

  2.2.1 Tipe – tipe Motor Stepper

  25

  2.2.3 Metode Langkah Motor Stepper

  29 Tri State Buffer 2.3.

  31

  2.4. Transistor Sebagai Saklar

  32

  2.5. Sensor Pendeteksi Cairan

  35

  2.6. Pembanding

  35

  2.7. Relay

  37 BAB III PERANCANGAN ALAT

  38

  3.1. Perancangan Perangkat Keras

  39

  3.1.1. Interfacing Tombol Pemilih Waktu

  39

  3.1.2. Interfacing Display Status ( LED)

  40

  3.1.3.2 Perancangan Driver Motor Stepper 2 dan 3

  43

  3.1.4. Perancangan Rangkaian Sensor Pendeteksi Cairan

  45

  3.1.5. Interfacing Limit Switch 1 dan 2

  49

  3.1.6 Interfacing Pengering

  49

  3.1.7 Perancangan Mekanik Lengan Robot

  52

  3.1.7.1 Perancangan Mekanik Lengan Bagian 1 (L1)

  54

  3.1.7.2 Perancangan Mekanik Lengan Bagian 2 (L2)

  54

  3.1.7.3 Perancangan Mekanik Lengan Bagian 3 (L3)

  57

  3.1.8. Perancangan Mekanik Lengan Robot

  61

  3.1.8.1 Perancangan Ukuran Lengan Robot

  61

  3.1.8.2 Perancangan Tempat Pelarutan dan Pencucian

  62

  3.2. Perancangan Perangkat Lunak

  62

  3.2.1. Algoritma Program

  62

  3.2.2. Diagram Alir Program Utama

  64

  3.2.3. Subroutine Inisialisasi

  65

  3.2.4. Subroutine Tombol Pemilih Waktu

  67

  3.2.5. Subroutine Gerak Lengan ke Larutan Fericlorit

  69

  3.2.6. Subroutine Gerak Pelarutan

  72

  3.2.7. Subroutine gerak Lengan Ke Tempat Pencucian

  76

  3.2.8. Subroutine Gerak Pencucian

  76

  3.2.9. Subroutine Kembali ke Posisi Awal

  77 BAB IV PENGAMATAN DAN ANALISA

  83

  4.1. Pengamatan Gerak Lengan Robot

  83

  4.1.1 Gerak Bagian Lengan Robot 1

  83

  4.1.2 Gerak Bagian Lengan Robot 1

  84

  4.1.3 Gerak Bagian Lengan Robot 3

  86

  4.2. Pengamatan Waktu

  87

  4.2.1. Waktu Pergerakan Bagian Lengan Robot

  87

  4.2.2. Waktu Pelarutan

  87

  4.2.3. Waktu Pencucian

  88

  4.2.4. Waktu Pengeringan

  88

  4.3. Pengamatan Hasil Pelarutan

  89

  4.4. Pengukuran Berat Lengan Robot

  89 BAB V KESIMPULAN DAN SARAN

  91

  5.1. Kesimpulan

  91

  5.2. Saran

  91 DAFTAR PUSTAKA

  93 LAMPIRAN

  DAFTAR GAMBAR

  27 Gambar 2.12. Lilitan pada motor stepper Unipolar

  35 Gambar 2.19. Rangkaian Op-Amp pembanding

  33 Gambar 2.18. Bentuk fisik sensor pendeteksi cairan

  33 Gambar 2.17. Saklar transistor NPN dengan tegangan muka dari sumber

  31 Gambar 2.16. Konfigurasi common emitter sebagai saklar transistor NPN

  dengan control gate

  Tri State Buffer

  31 Gambar 2.15.

  28 Gambar 2.14. Simbol Tri State Buffer

  28 Gambar 2.13. Lilitan pada motor stepper Bipolar

  26 Gambar 2.11. Penampang melintang dari motor stepper tipe hybrid

Gambar 2.1. Blok diagram dari AT89C51

  25 Gambar 2.10. Motor stepper tipe permanent magnet (PM)

  24 Gambar 2.9. Motor stepper tipe variable reluctance (VR)

  21 Gambar 2.8. Diagram kotak controller motor stepper

  18 Gambar 2.7. Rangkaian Osilator

  16 Gambar 2.6. Konfigurasi pin Microcontroller AT89C51

  16 Gambar 2.5. Register TCON

  13 Gambar 2.4. Register TMOD

  10 Gambar 2.3. Program Status Word (PSW)

  8 Gambar 2.2. Pemetaan lokasi Special Function Register

  36

Gambar 3.1. Blok Diagram Lengan Robot Pelarut Papan Tercetak

  43 Gambar 3.7. Rangkaian pendeteksi cairan

  61 Gambar 3.17. Rancangan ukuran tempat larutan fericlorit dan pencucian

  58 Gambar 3.16. Rancangan ukuran lengan robot

  58 Gambar 3.15. Perhitungan simpangan gerak lengan bagian 3

  56 Gambar 3.14. Mekanik lengan bagian 3 dan penjepit

  55 Gambar 3.13. Perhitungan simpangan gerak lengan bagian 2

  54 Gambar 3.12. Mekanik lengan bagian 2

  53 Gambar 3.11. Mekanik lengan bagian 1

  50 Gambar 3.10. Mekanik lengan robot pelarut PCB

  49 Gambar 3.9. Rangkaian pengendali pengering

  1 dan 2 dengan mikrokontroler AT89C51

  Interfacing limit switch

  47 Gambar 3.8.

  motor stepper

  (PCB) Terkendali Mikrokontroler AT89C51

  Interfacing driver

  43 Gambar 3.6.

  motor stepper dengan mikrokontroler AT89C51

  Interfacing

  42 Gambar 3.5.

  dengan mikrokontroler AT89C51

  Interfacing buffer

  41 Gambar 3.4.

  display status dengan mikrokontroler AT89C51

  Interfacing

  39 Gambar 3.3.

  38 Gambar 3.2. Perangkat keras tombol pemilih waktu

  62

Gambar 3.20. Diagram alir subroutine tombol pemilih waktu

  69 Gambar 3.21. Diagram alir subroutine gerak ke larutan fericlorit

  71 Gambar 3.22. Diagram alir subroutinegerak pelarutan

  75 Gambar 3.23. Diagram alir subroutine gerak lengan ke tempat pencucian

  75 Gambar 3.24. Diagram alir subroutine gerak pencucian

  77 Gambar 3.25. Diagram alir subroutine gerak ke posisi awal

  78 Gambar 3.26. Diagram alir subroutine penyalaan pengering

  78 Gambar 4.1. Gerakan motor stepper 1

  84 Gambar 4.2.a. Letak beban pada posisi awal

  85 Gambar 4.2.b. Letak beban pada posisi 25 cm dari poros

  85 Gambar 4.3.a. Bagian lengan robot 3

  87 Gambar 4.3.b. Proses pelarutan

  

DAFTAR TABEL

Tabel 2.1. Tabel keterangan dari pemetaan SFR.

  10 Tabel 2.2. Keterangan fungsi alih port 3

  18 Tabel 2.3. Triac yang tersedia secara komersial

  28 Tabel 2.4. Karakteristik regulator tegangan seri 78xx

  31 Tabel 2.5. Logika penyalaan LED pada seven segment

  35 Tabel 3.1. Karakteristik triac Q4004L4

  43 Tabel 3.2. Besar luasan daya setiap kenaikan 5% penggunaan daya

  47 Tabel 3.3. Besar sudut setiap kenaikan 5% penggunaan daya.

  49 Tabel 3.4. Perhitungan besar waktu tunda.

  51 Tabel 3.5. Daftar hexa dari tampilan angka seven segment

  60 Tabel 3.6. Waktu tunda dalam desimal dan heksa

  67 Tabel 3.7. Tabel keseluruhan perancangan

  70 Tabel 4.1. Data pengamatan waktu tunda pemicuan gate triac

  76 Tabel 4.2. Data pengamatan tegangan dan arus kipas AC untuk tiap penunjukkan skala penggunaan daya.

  79

BAB I PENDAHULUAN

1.1 Latar Belakang

  Perkembangan jaman dan teknologi menuntut manusia untuk bekerja secara mudah dan cepat, tidak hanya dalam bidang industri tetapi juga dalam kehidupan sehari-hari. Dengan kata lain pekerjaan-pekerjaan yang semula dilakukan dengan tenaga manusia sepenuhnya, dengan dibuatnya perangkat elektronik, ada beberapa bagian yang dapat digantikan dengan mesin elektronik yang bekerja secara semiotomatis atau bahkan bahkan otomatis. Misalnya dalam pelarutan PCB, jika PCB hanya didiamkan saja di dalam larutan fericlorit maka proses pelarutan akan berlangsung lama. Untuk mempercepat proses pelarutan itu maka PCB harus digoncang-goncangkan. Penggoncangan PCB di dalam larutan fericlorit tersebut tidak akan efisien jika dilakukan dengan tangan manusia sepenuhnya.

  Berawal dari kasus di atas, maka tugas akhir ini akan mencoba merancang dan membuat alat bantu yang dapat menggantikan fungsi tangan manusia dalam proses penggoncangan PCB dalam larutan . Alat ini bekerja secara semiotomatis, karena peletakan PCB pada alat ini dilakukan oleh manusia. Alat ini akan bermanfaat, jika PCB yang akan dilarutkan cukup banyak jumlahnya.

1.2 Perumusan Masalah

  Alat ini berbentuk lengan robot yang terdiri dari 3 bagian, yaitu lengan

  bagian 1 (L1), lengan bagian 2 (L2), dan lengan bagian 3 (L3). Tiap bagian lengan ini digerakkan oleh motor stepper. Ada 3 proses utama yang akan dilakukan alat ini yaitu pelarutan PCB, pencucian PCB, dan pengeringan PCB. Ukuran PCB yang dilarutkan adalah minimal (5 x 5) cm dan maksimal (15 x 15) cm . Peletakan PCB dilakukan secara manual (bantuan manusia), sedangkan lama pelarutan atau penggoncangan PCB pada larutan sesuai dengan masukan dari tombol pemilih waktu yang telah diset waktunya, jika waktu telah habis maka secara otomatis lengan robot akan mengangkat PCB dari larutan

  fericlorit,

  kemudian ke tempat pencucian untuk dibersihkan dari larutan

  fericlorit

  yang masih menempel pada PCB, setelah itu PCB akan dikeringkan dengan menggunakan pengering. Jika ternyata pelarutan PCB belum sempurna maka proses pelarutan dapat diulang dari awal lagi, dengan memberi masukan waktu baru dengan menekan tombol pemilih waktu lagi.

  Alat ini dilengkapi sensor yang diletakkan pada penjepit untuk mengetahui ada tidaknya cairan pada tempat pelarutan ataupun tempat pencucian. Lengan robot pelarut PCB berbasis mikrokontroler AT89C51 akan bergerak secara otomatis untuk melakukan proses pelarutan.

  Proses pelarutan PCB, sesuai dengan instruksi-instruksi yang dituliskan dalam mikrokontroler. setiap bagian lengan robot sesuai dengan keinginan pembuat .

  2. Merancang program untuk mengendalikan lengan robot dengan mikrokontroler AT89C51.

  3. Merancang mekanik dan bentuk fisik lengan robot agar dapat bekerja secara maksimal.

  4. Merancang sensor pendeteksi cairan agar dapat bekerja dengan baik pada sistem ini.

1.3 Batasan Masalah

  Pada penelitian ini, sistem ini membatasi masalah pada hal-hal berikut: 1. Penggerak yang digunakan pada lengan robot ini adalah motor stepper.

  2. Gerakan lengan robot : untuk bagian lengan robot 1 (L1) adalah ke kiri atau ke kanan dengan jangkauan sudut 180 , untuk bagian lengan robot 2 (L2) kedua ke atas atau ke bawah dengan jangkauan sudut maksimal 20 , dan untuk bagian lengan robot 3 (L3) adalah ke depan atau ke belakang dengan jangkauan sudut 15 .

  3. Waktu atau lama pelarutan adalah sesuai dengan masukan dari tombol pemilih waktu yang telah diset waktunya, yang terdiri dari tiga pilihan waktu, yaitu : 10, 20, 30 menit. 4. 4 buah LED sebagai status display :

  LED 1 : sebagai status PCB telah berada dalam cairan

  LED 4: sebagai status waktu pelarutan 30 menit

  5. Ukuran PCB yang dapat dilarutkan maksimal (15 x 15) cm dan minimal (5 x 5 ) cm 6. Kepekatan larutan dan suhu air tidak diperhitungkan.

  7. Ukuran tempat larutan dan pencucian adalah (34 x 24 x 5 ) cm

  8. Ketinggian larutan fericlorit dalam tempat pelarutan dan ketinggian air pada tempat pencucian adalah 4 cm.

  9. Sensor pendeteksi cairan yang digunakan berupa dua buah batang karbon (batang karbon sebagai probe sensor ).

  10. Peletakan (penjepitan) dan pengambilan PCB pada lengan robot dilakukan secara manual (bantuan manusia ).

  11. Gerakan lengan dan lama pelarutan diprogram dengan mikrokontoler AT89C51

1.4 Tujuan Penelitian

  1. Dapat merancang dan membuat program mikrokontroler AT89C51 sehingga dapat membuat peralatan elektronik dengan pengendalian AT89C51.

  2. Memahami prinsip kerja motor stepper dan menggunakannya untuk aplikasi-aplikasi peralatan elektronik.

  3. Dapat merancang dan membuat alat bantu proses pelarutan PCB yang

  1.5 Manfaat Penulisan

  Manfaat yang secara langsung dapat dipetik dari penelitian ini adalah dapat membuat alat bantu yang mempermudah proses pelarutan PCB.

  1.6 Sistematika Penulisan

  Penulisan laporan penelitian tugas akhir ini disusun dengan sistematika sebagai berikut :

  BAB I Pendahuluan Pada bab ini berisi antara lain: latar belakang penelitian yang mendasari pemilihan topik tugas akhir, tujuan penelitian, batasan masalah, manfaat penelitian dan sistematika penulisan laporan.

  BAB II Dasar Teori Pada bab ini berisi dasar teori yang berhubungan dengan cara kerja rangkaian. Menguraikan dasar-dasar teori rangkaian elektronika yang digunakan dalam rangkaian. Selain itu juga berisi tentang teori-teori yang berhubungan dengan mikrokontroler AT89C51, motor stepper, buffer, transistor sebagai saklar , sensor pendeteksi cairan, relay.

  BAB III Perancangan Perangkat Keras dan Perangkat Lunak Pada bab ini memuat tentang perancangan alat baik hardware rangkaian. Membahas cara kerja tiap bagian yang berhubungan dengan bagian yang lain.

  BAB IV Pengamatan dan Analisa Alat Bab ini berisi pembahasan hasil pengamatan baik pada perangkat keras maupun perangkat lunak. BAB V Penutup Bab ini berisi kesimpulan dan saran yang nantinya dapat digunakan untuk pengembangan lebih lanjut.

  

BAB II

DASAR TEORI Pada bab II ini akan dijelaskan mengenai dasar-dasar teori

  mikrokontroler AT89C51, motor stepper, buffer, transistor sebagai saklar, sensor pendeteksi cairan, relay. Dasar-dasar teori ini digunakan untuk mendukung perancangan lengan robot pelarut PCB.

2.1 Mikrokontroler AT89C51

  Mikrokontroler AT89C51 merupakan keluarga mikrokontroler MCS’51 yang menjadi keluaran pertama dari Intel, sedangkan AT89C51 sendiri adalah buatan Atmel. Atmel merupakan perusahaan pembuat IC yang mencakup teknologi pembuatan FPEROM (Flash Programmable and Erasable Read Only

  

Memory ). FPEROM adalah ROM (Read Only Memory) yang dapat dihapus dan

  ditulis kembali dengan teknologi flash. Teknologi tersebut mempunyai keunggulan dapat menyimpan program secara internal dan tidak perlu membutuhkan ROM eksternal. Program ini dapat langsung ditulis menimpa program yang lama apabila program akan diganti lagi. mikrokontroler AT89C51 yang dipakai memiliki 4 Kbytes Flash Programmable and Erasable

  

Read Only Memory ( FPEROM), 128 bytes Random Access Memory (RAM), 32 jalur Input/Output (I/O), dan 2 buah 16 bit timers/counters. dalam SFR (Special Function Register), 4 buah 8-bit I/O port, 16-bit pewaktu / pencacah (timer/counter), dan oscillator internal yang tergabung dalam satu sistem terpadu chip mikrokontroler AT89C51.

Gambar 2.1 Blok diagram dari AT89C51

  Pembahasan diawali dengan membicarakan tentang organisasi memori, kumpulan instruksi, pewaktuan CPU, dan interupsi secara singkat. Pembahasan lebih detail terdapat di sub-sub bab berikutnya.

2.1.1. Memori Microcontroller AT89C51

  memori yang hanya bisa dibaca dan memiliki sifat nonvolatile (isinya tidak hilang jika sumber tegangan dihilangkan). ROM yang dipakai adalah FPEROM, maka dari itu ROM juga disebut memori program. Sedangkan RAM merupakan memori yang bisa ditulis dan dibaca serta memiliki sifat volatile (isinya akan hilang jika sumber tegangan dihilangkan). RAM dipakai sebagai penyimpan data pada saat program bekerja, RAM juga dapat disebut memori data.

  Memori program memiliki nomor memori dari 0000H sampai 0FFFH., sedangkan memori data memiliki nomor memori dari 00H sampai FFH. Memori data dibagi dua bagian, memori 00H sampai 7FH seperti RAM selayaknya, sedangkan memori 80H sampai FFH dipakai sebagai SFR (Special Function

  Register )

  . Register ini berisi alamat register selain PC, maka hanya setengah dari RAM yang dapat dipakai sebagai memori data. Memori data 00H sampai

  7FH dapat dipakai sebagai memori penyimpan data biasa, terbagi menjadi tiga bagian :

  1. Memori 00H sampai 1FH selain sebagai memori data biasa, dapat pula dipakai sebagai register serbaguna yang terdiri dari 4 bank. Masing- masing bank terdiri dari 8 register.

  2. Memori 20H sampai 2FH selain sebagai memori data biasa, dapat pula sebagai penyimpan data secara bit.

  3. Memori 30H sampai 7FH merupakan memori data biasa.

2.1.2. Memori Fungsi Register Khusus (SFR / Special Function Register)

  SFR merupakan bagian dari RAM yang dipakai untuk mengatur perilaku mikrokontroler yang berisi register dasar, register data input/output, dan register status. Register dasar diperlukan untuk menulis program. Register data input/

  output

  berguna untuk menyimpan data pada port tertentu. Register status berfungsi untuk mengatur kerja timer (TCON), serial control (SCON), dan

  interupt (

  IE dan IP). Gambar 2.2 menunjukkan pemetaan lokasi register fungsi khusus (SFR) dalam 128 byte atas RAM internal.

Gambar 2.2. Pemetaan lokasi Special Function Register

  Random Access Memory

  (RAM) dalam AT89C51 hanya 256 byte, hanya setengahnya yang dipakai sebagai memori data biasa, setengahnya lagi khusus, misalnya tempat untuk berhubungan dengan port paralel P0, P1, P2, dan atau P3, dan sarana input/output lainnya, tapi tidak dipakai untuk menyimpan data seperti layaknya memori-data. Keterangan dari pemetaan SFR dapat dilihat dalam tabel 2.1.

  Tabel 2 .1 Tabel keterangan dari pemetaan SFR.

  0A8h

  Port

  3

  0B0h

  IP Pengendali Prioritas Interupsi

  0B8h

  IE Pengendali Aktivitas Interupsi

  0A8h

  TMOD Pengendali Mode Pewaktu/Pencacah

  TCON Pengendali Pewaktu/Pencacah

  0A0h

  88h

  TH0 Pewaktu/Pencacah 0 Byte tinggi

  8Ch

  TL0 Pewaktu/Pencacah 0 Byte rendah

  8Ah

  TH1 Pewaktu/pencacah 1 Byte tinggi

  8Dh

  TL1 Pewaktu/Pencacah 1 Byte rendah

  8Bh

  P3

  2

  Simbol Nama Alamat ACC Accumulator

  DPTR Petunjuk Data (Data Pointer) 2 Byte DPL Data Byte rendah

  0E0h

  B Register B

  0F0h

  PSW

  Program Status Word

  0D0h

  SP Petunjuk Tumpukan (Stack Pointer)

  81h

  82h

  Port

  DPH Data Byte tinggi

  83h

  P0

  Port 80h

  P1

  Port

  1

  90h

  P2

  SCON Pengendalian Serial 98h

2.1.3. Register-Register Dasar

  Yang termasuk register dasar adalah program counter (PC), accumulator

  (

  A), stack pointer (SP), dan program status word (PSW). Register yang menjadi ciri khas dari keluarga mikrokontroler AT89C51 adalah register B serta data

  pointer register

  (DPTR). Penjelasan register-register tersebut adalah : 1. Program Counter (PC).

  Merupakan register 16 bit yang berisi alamat yang akan dikerjakan. Saat reset PC bernilai 0000H nilai PC akan bertambah 1 setelah prosesor mengambil instruksi 1 byte.

  2. Accumulator (A) Mempunyai arti sebagai penampung, accumulator digunakan sebagai register umum untuk mengakumulasikan hasil dan instruksi-instruksi.

  Accumulator mampu menampung 8 bit (1 byte).

  3. Stack Pointer (SP).

  Berfungsi sebagai penyimpan sementara nilai program counter sebelum prosesor menjalankan subroutine. Saat prosesor selesai mengerjakan

  subroutine,

  nilai program counter akan dikembalikan dengan cara mengambil dari stack pointer.

  4. Program Status Word (PSW) Merupakan register 8 bit yang terdiri dari bit CY, AC, FO, RS0, OV, dan P. Bit pertama tidak digunakan dan register ini berfungsi untuk

Gambar 2.3 Program Status Word (PSW)

  Keterangan dari gambar 2.3 : CY : carry setelah operasi aritmatika.

  AC : auxiliary carry setelah operasi aritmatika. FO : flag untuk fungsi umum. RS1,RS2 : untuk memilih bank register. OV : overflow setelah operasi aritmatika. P : paritas.

  5. Data Pointer Register (DPTR).

  Register 16 bit , terbagi menjadi data pointer high byte (DPH) dan register ini untuk mengalamati data yang lebih luas karena besarnya 16

  bit.

  6. Register B.

  Register 8 bit yang berfungsi membantu tugas dari accumulator. Register B digunakan pada operasi perkalian dan pembagian. Pada instruksi- instruksi yang lain berfungsi seperti register umum.

2.1.4. Mode Pengalamatan Mikrokontroler AT89C51

  Instruksi yang dikenal secara umum dikelompokkan menjadi beberapa pengaturan aliran program. Kombinasi dari instruksi dan operan itulah yang membentuk instruksi pengatur kerja mikrokontroler. Beberapa cara untuk mengakses data atau operan pada mikrokontroler AT89C51 yang dikenal dengan mode pengalamatan (addressing mode) dapat diuraikan sebagai berikut :

  1. Mode pengalamatan segera (immediate addressing mode).

  Cara ini menggunakan konstanta, misalnya : mov A,#25h. Data konstan merupakan data yang menyatu dengan instruksi, contoh instruksi tersebut di atas mempunyai arti bahwa data konstantanya, yaitu 25h (sebagai data konstan harus diawali dengan ‘# ‘) disalin ke accumulator A. Yang perlu benar-benar diperhatikan dalam instruksi ini adalah bilangan 25h merupakan bagian dari instruksi (menjadi satu dengan opcode instruksi).

  2. Mode pengalamatan langsung (direct addressing mode).

  Cara ini dipakai untuk menunjuk data yang berada pada suatu lokasi memori dengan cara menyebut lokasi (alamat) memori tempat data tersebut berada, misalnya : mov A,30h Instruksi ini mempunyai arti bahwa data yang berada di dalam memori dengan lokasi 30h disalin ke accumulator A.

  3. Mode pengalamatan tidak langsung (indirect addressing mode).

  Cara ini dipakai untuk mengakses data dalam memori, tetapi lokasi data tidak disebut secara langsung, tapi menggunakan nilai/isi register lain, lokasi data dalam memori yang akan disalin ke accumulator A. Tanda ‘ @ ‘ dipakai untuk menandai lokasi memori yang tersimpan di dalam R0 4. Mode pengalamatan register (register addressing mode).

  Instruksi ini menjadikan register serba guna R0 sampai R7 sebagai tempat menyimpan data yang praktis dan kerjanya sangat cepat, misalnya

  mov R5,A

  yang berarti menyalin isi accumulator A langsung ke dalam register serba guna R5.

  5. Mode pengalamatan kode tidak langsung (code indirect addressing

  mode

  ) Cara ini dimaksudkan untuk mengakses data yang tersimpan dalam memori program dengan penyebutan alamat data tersebut secara tidak langsung. Misalnya instruksi movc A,@A+dptr untuk menyalin data dalam memori program ke accumulator dengan menggunakan DPTR sebagai penunjuk alamat data. Dalam instruksi ini instruksi MOV diganti dengan MOVC, tambahan huruf C tersebut dimaksud untuk membedakan bahwa instruksi ini digunakan untuk memori program (MOV tanpa huruf C artinya digunakan untuk memori data).

2.1.5. Timer Dan Counter Dalam Mikrokontroler AT89C51

  Mikrokontroler AT89C51 dilengkapi dengan dua perangkat timer/

  counter

  yaitu timer 0 dan timer 1. Pencacah biner timer/counter AT89C51

  0000h akan muncul sinyal limpahan (overflow). Register-register yang terdapat dalam timer/counter mikrokontroler AT89C51 adalah register TMOD (Timer

  Mode Register), THx dan TLx serta register TCON (Timer Control Register).

  1. Timer Mode Register (TMOD) Susunan bit dalam register TMOD ditunjukkan pada gambar 2.4.

Gambar 2.4 Register TMOD Gate : bit pengatur saluran sinyal detak.

  C/T : 1 = counter 0 = timer M0 dan M1 : Untuk memilih mode timer 2. THx dan TLx.

  Merupakan register yang menunjukkan nilai dari timer. Masing-masing

  timer mempunyai dua buah register yaitu THx untuk high byte dan TLx untuk low byte.

  X merupakan nomor timer.

  3. Timer Control Register (TCON) Susunan bit dalam register TCON ditunjukkan pada gambar 2.5.

  Pada register ini hanya 4 bit saja yaitu bit 4, bit 5, bit 6, dan bit 7 dari register TCON yang mempunyai fungsi berhubungan dengan timer.

  TF1 : timer 1 overflow flag yang akan set bila timer overflow. TR2 : 1 = timer 1 aktif 2 = timer 1 non aktif.

  TF0 : sama dengan TF1 namun bit ini untuk timer 0. TR0 : sama dengan TR1 namun bit ini untuk timer 0.

  4. Mode Timer.

  Terdiri atas :

  a. Mode 0 : timer 13 bit b. Mode 1 : timer 16 bit.

  c. Mode 2 : timer 8 bit auto reload.

  d. Mode 3 : split timer

2.1.6. Konfigurasi Pin Microcontroller AT89C51

  Mikrokontroler AT89C51 memiliki 40 pin, 32 pin diantaranya adalah pin yang digunakan untuk keperluan port paralel. Satu port paralel terdiri dari 8 kaki, dengan demikian 32 kaki tersebut membentuk 4 buah port paralel, yang masing-masing dikenal dengan port 0, port 1, port 2 dan port 3. Nomor dari masing-masing jalur (kaki) dari port paralel mulai dari 0 sampai 7, jalur (kaki) pertama port 0 disebut sebagai P0.0, dan jalur terakhir untuk port 3 adalah P3.7. beberapa pin yang memiliki lebih dari satu fungsi, tetapi tidak semua fungsi pada pin-pin tersebut yang dapat digunakan secara bersamaan.

Gambar 2.6. Konfigurasi pin mikrokontroler AT89C51

  Keterangan mengenai pin-pin AT89C51 adalah sebagai berikut ; 1. VCC pin 40 : tegangan sumber positif 5 volt.

  2. GND pin 20 : ground atau tegangan 0 volt / pentanahan.

  3. PORT 0, pin 32 sampai dengan pin 39 (P0.0 – P0.7) : Merupakan 8-bit jalur port masukan / keluaran (I/O) yang juga dapat berfungsi sebagai saluran keluaran alamat byte rendah (A0 – A7) dan saluran I/O 8-bit data (D0-D7) yang dipakai secara bergantian dalam kaki-kaki port 0, maka kaki-kaki port 0 dapat digunakan sebagai masukan-masukan berimpedansi tinggi. Port ini tidak mempunyai tahanan pull-up internal sehingga untuk memberikan logika “1” harus diberi tahanan pull-up eksternal bila port ini digunakan.

  4. PORT 1, pin 1 – pin 8 (P1.0 – P1.7) :

  Port

  1 merupakan 8-bit jalur I/O yang mempunyai tahanan pull-up internal.

  5. PORT 2, pin 21 – pin 28 (P2.0 – P2.7) :

  Port

  ini selain berfungsi sebagai 8-bit I/O port juga berfungsi untuk byte tinggi jalur alamat (A8 – A15), dan juga mempunyai pull-up internal.

  6. PORT 3, pin 10 – pin 17 (P3.0 – P3.7) :

  Port

  ini juga berfungsi sebagai port I/O, memiliki pull-up internal dan mempunyai fungsi alih alternatif yang dapat dipakai untuk menyediakan sinyal kontrol dalam pengaksesan memori eksternal, sumber masukan

  interupsi , masukan timer/counter, dan saluran I/O komunikasi serial.

  Keterangan fungsi alih setiap pin pada port 3 ini seperti pada tabel 2.2.

Tabel 2.2. Keterangan fungsi alih port 3

  Pin Fungsi Alih P3.0 RXD : port masukan serial P3.1 TXD : port keluaran serial P3.2

  INT0 : interupsi eksternal 0 P3.3

  INT1 : interupsi eksternal 1 P3.4 T0 : masukan eksternal pewaktu / pencacah 0

Tabel 2.2. ( lanjutan )

  Pin Fungsi Alih P3.5 T1 : masukan eksternal pewaktu / pencacah 1 P3.6 WR :sinyal tanda baca memori data eksternal P3.7 RD : sinyal tanca tulis memori data eksternal

  7. RST (Reset ), pin 9 Digunakan untuk me-reset microcontroller. Pulsa transisi dari rendah ke tinggi pada pin RST akan mereset microcontroller ini.

  8. ALE/PROG (Address Latch Enable), pin 30 Merupakan pin keluaran sinyal strobe untuk latch selama pengaksesan memori eksternal yang biasanya dihubungkan pada rangkaian buffer/

  latch jalur alamat memori eksternal.

  9. PSEN (Program Store Enable), pin 29 Sebagai pin keluaran sinyal strobe dalam proses pengambilan instruksi dari ROM / EPROM eksternal.

  10. EA/VPP (Eksternal Enable), pin 31 Berfungsi untuk memilih program yang akan dieksekusi dari ROM eksternal atau flash PEROM internal. Bila program dari Flash PEROM internal pin ini diberi logika ‘1’ atau dihubungkan ke Vcc, dan bila program tersimpan pada ROM eksternal pin ini diberi logika ‘0’ atau dihubungkan ke ground. Pin ini juga digunakan sebagai pin masukan

  11. XTAL1 pin 19.

  Sebagai pin masukan ke rangkaian osilator internal. Biasanya dihubungkan ke salah satu pin osilator kristal yang digunakan atau sumber osilator luar.

  12. XTAL2 pin 18.

  Sebagai pin keluaran dari rangkaian internal. Biasanya dihubungkan ke salah satu pin osilator kristal yang digunakan.

2.1.7. On-Chip Oscilator

  Mikrokontroler AT89C51 memiliki osilator on-chip, yang dapat digunakan sebagai sumber detak (clock), terlihat pada gambar 2.7. Untuk menggunakannya maka sebuah resonator kristal atau keramik dihubungkan di antara kaki-kaki XTAL1 dan XTAL2 pada mikrokontroler dan menghubungkan kapasitor ke ground.

Gambar 2.7 Rangkaian Osilator

2.1.8. Cara Penerapan Mikrokontroler AT89C51

  Mikrokontroler AT89C51 kompatibel dengan pemrograman assembly HB200Plus. HB2000Plus dapat dijalankan pada komputer dengan sistem operasi DOS atau Windows. Cara menerapkan program mikrokontroler AT89C51 dengan HB2000Plus dapat dijelaskan sebagai berikut : a. Program dibuat dalam bahasa assembly dan ditulis dengan sembarang editor teks, serta disimpan dengan ekstensi “*.H51”.

  b. Pada menu utama HB2000Plus, berkas program yang telah dibuat tadi di-LOAD dengan menekan tombol ‘L’ pada keyboard, setelah itu diketikkan:

  <nama_file> tanpa diikuti dengan ekstensi “*.H51”.

  c. Kompilasi dan download dilakukan dengan menekan tombol ‘A’ (Run

  auto

  ) untuk menjalankan kompilasi program secara otomatis. Atau dapat juga dilakukan secara manual, dengan langkah sebagai berikut :

  1. Tekan tombol ‘M’ dan isikan nama file yang akan di-compile.

  2. Tekan tombol ‘O’ dan isikan nama file yang dikehendaki.

  3. Tekan tombol ‘H’ dan isikan parameter/nama file yang dikehendaki.

  4. Tekan tombol ‘E’ untuk menghapus program sebelumnya yang

  5. Tekan tombol ‘O’ untuk menulis (download) program ke chip AT89C51.

2.1.9. Penentuan Rpull-up Untuk Port 0

  Untuk port 0, karena tidak mempunyai pull-up internal, maka apabila digunakan sebagai pemberi masukan dari hardware, harus diberikan Rpull-up, yang mempunyai fungsi memberi logika tinggi apabila tidak ada masukan dari

  hardware

  . Adapun rumus penentuan Rpull-up, yaitu : Penentuan nilai Rpull-up dengan cara :

  Vcc R = ...........................................................................................(2.1.a)

  I dengan I sebesar 26 mA (datasheet DC characteristic microcontroller).

2.2 Motor Stepper

  Motor stepper adalah perangkat elektromekanis yang bekerja dengan mengubah pulsa elektronis menjadi gerakan mekanis diskrit. Motor stepper bergerak berdasarkan urutan pulsa yang diberikan kepada motor. Karena itu, untuk menggerakkan motor stepper diperlukan pengendali motor yang membangkitkan pulsa-pulsa periodik.