• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2019

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

Copied!
129
0
0

Teks penuh

(1)

i

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 YOGYAKARTA

(2)

ii

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

(3)
(4)
(5)

v

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.

(6)

vi

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,

(7)

vii 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.

(8)

viii 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

(9)

ix

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.

(10)

x

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.

(11)

xi

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.

(12)

xii

LEMBAR PERSETUJUAN iii

LEMBAR PENGESAHAN iv

MOTTO DAN PERSEMBAHAN v

PERNYATAAN KEASLIAN KARYA vi

INTISARI vii

ABSTRACT viii

KATA PENGANTAR ix

DAFTAR ISI xii

DAFTAR GAMBAR xvi

DAFTAR TABEL xix

BAB I PENDAHULUAN 1

1.1 Latar Belakang 1.2 Perumusan Masalah 1.3 Batasan Masalah 1.4 Tujuan Penelitian 1.5 Manfaat Penelitian 1.6 Sistematika Penulisan BAB II DASAR TEORI

1 2 3 4 5 5 6 2.1. Mikrokontroler AT89C51

2.1.1. Memori Mikrokontroler AT89C51

(13)

xiii

2.1.4. Mode Pengalamatan Mikrokontroler AT89C51 2.1.5. Timer dan Counter Dalam Mikrokontroler AT89C51 2.1.6. Konfigurasi Pin Mikrokontroler AT89C51

2.1.7. On Chip Oscilator

2.1.8. Cara Penerapan Mikrokontroler AT89C51 2.1.9. Penentuan Rpull-up Untuk Port 0

3.1.1. Interfacing Tombol Pemilih Waktu 3.1.2. Interfacing Display Status ( LED)

(14)

xiv 3.1.6 Interfacing Pengering

3.1.7 Perancangan Mekanik Lengan Robot

3.1.7.1 Perancangan Mekanik Lengan Bagian 1 (L1) 3.1.7.2 Perancangan Mekanik Lengan Bagian 2 (L2) 3.1.7.3 Perancangan Mekanik Lengan Bagian 3 (L3) 3.1.8. Perancangan Mekanik Lengan Robot

3.1.8.1 Perancangan Ukuran Lengan Robot

3.1.8.2 Perancangan Tempat Pelarutan dan Pencucian 3.2. Perancangan Perangkat Lunak

3.2.1. Algoritma Program

3.2.2. Diagram Alir Program Utama 3.2.3. Subroutine Inisialisasi

3.2.4. Subroutine Tombol Pemilih Waktu

3.2.5. Subroutine Gerak Lengan ke Larutan Fericlorit 3.2.6. Subroutine Gerak Pelarutan

3.2.7. Subroutine gerak Lengan Ke Tempat Pencucian 3.2.8. Subroutine Gerak Pencucian

(15)

xv 4.1.2 Gerak Bagian Lengan Robot 1 4.1.3 Gerak Bagian Lengan Robot 3 4.2. Pengamatan Waktu

4.2.1. Waktu Pergerakan Bagian Lengan Robot 4.2.2. Waktu Pelarutan

4.2.3. Waktu Pencucian 4.2.4. Waktu Pengeringan 4.3. Pengamatan Hasil Pelarutan 4.4. Pengukuran Berat Lengan Robot

84 86 87 87 87 88 88 89 89

BAB V KESIMPULAN DAN SARAN 91

5.1. Kesimpulan 91

5.2. Saran 91

DAFTAR PUSTAKA 93

(16)

xvi

Gambar 2.2. Pemetaan lokasi Special Function Register 10

Gambar 2.3. Program Status Word (PSW) 13

Gambar 2.4. Register TMOD 16

Gambar 2.5. Register TCON 16

Gambar 2.6. Konfigurasi pin Microcontroller AT89C51 18

Gambar 2.7. Rangkaian Osilator 21

Gambar 2.8. Diagram kotak controller motor stepper 24 Gambar 2.9. Motor stepper tipe variable reluctance (VR) 25 Gambar 2.10. Motor stepper tipe permanent magnet (PM) 26 Gambar 2.11. Penampang melintang dari motor stepper tipe hybrid 27 Gambar 2.12. Lilitan pada motor stepper Unipolar 28

Gambar 2.13. Lilitan pada motor stepper Bipolar 28

Gambar 2.14. Simbol Tri State Buffer 31

Gambar 2.15. Tri State Buffer dengan control gate 31 Gambar 2.16. Konfigurasi common emitter sebagai saklar transistor NPN 33 Gambar 2.17. Saklar transistor NPN dengan tegangan muka dari sumber 33 Gambar 2.18. Bentuk fisik sensor pendeteksi cairan 35

Gambar 2.19. Rangkaian Op-Amp pembanding 36

(17)

xvii

Gambar 3.3. Interfacing display status dengan mikrokontroler

AT89C51 41

Gambar 3.4. Interfacing buffer dengan mikrokontroler AT89C51 42 Gambar 3.5. Interfacing motor stepper dengan mikrokontroler

AT89C51

43

Gambar 3.6. Interfacing driver motor stepper 43

Gambar 3.7. Rangkaian pendeteksi cairan 47

Gambar 3.8. Interfacing limit switch 1 dan 2 dengan mikrokontroler AT89C51

49

Gambar 3.9. Rangkaian pengendali pengering 50

Gambar 3.10. Mekanik lengan robot pelarut PCB 53

Gambar 3.11. Mekanik lengan bagian 1 54

Gambar 3.12. Mekanik lengan bagian 2 55

Gambar 3.13. Perhitungan simpangan gerak lengan bagian 2 56 Gambar 3.14. Mekanik lengan bagian 3 dan penjepit 58 Gambar 3.15. Perhitungan simpangan gerak lengan bagian 3 58

Gambar 3.16. Rancangan ukuran lengan robot 61

Gambar 3.17. Rancangan ukuran tempat larutan fericlorit dan pencucian 62

Gambar 3.18. Diagram alir program utama 64

(18)

xviii

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

(19)

xix

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

(20)

1 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.

(21)

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.

(22)

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 1800 , untuk bagian lengan robot 2 (L2) kedua ke atas atau ke bawah dengan jangkauan sudut maksimal 200, dan untuk bagian lengan robot 3 (L3) adalah ke depan atau ke belakang dengan jangkauan sudut 150.

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 :

(23)

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.

(24)

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

(25)

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

(26)

7

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.

(27)

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

(28)

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.

(29)

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

(30)

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.

Simbol Nama Alamat

ACC Accumulator 0E0h

B Register B 0F0h

PSW Program Status Word 0D0h

SP Petunjuk Tumpukan (Stack Pointer) 81h DPTR Petunjuk Data (Data Pointer) 2 Byte

DPL Data Byte rendah 82h

DPH Data Byte tinggi 83h

P0 Port 0 80h

P1 Port 1 90h

P2 Port 2 0A0h

P3 Port 3 0B0h

IP Pengendali Prioritas Interupsi 0B8h

IE Pengendali Aktivitas Interupsi 0A8h

TMOD Pengendali Mode Pewaktu/Pencacah 0A8h

TCON Pengendali Pewaktu/Pencacah 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

SCON Pengendalian Serial 98h

SBUF Buffer Data Serial 99h

(31)

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 menyimpan informasi status prosesor.

(32)

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

(33)

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

(34)

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

(35)

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.

(36)

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

(37)

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) :

(38)

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

(39)

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

(40)

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.

(41)

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.

(42)

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 :

R = I Vcc

...(2.1.a)

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.

(43)

menghasilkan clock pulsa dan sinyal yang berarah. Sedangkan controller mengirimkan perintah-perintah ke control link. Prinsip kerjanya dapat digambarkan dalam diagram blok seperti pada gambar 2.8 berikut ini:

Gambar 2.8 Diagram kotak controller motor stepper

Penggunaan motor stepper memiliki beberapa keunggulan dibandingkan dengan penggunaan motor DC biasa.

- Sudut rotasi motor proporsional dengan pulsa masukan sehingga lebih mudah diatur.

- Motor dapat langsung memberikan torsi penuh pada saat mulai bergerak - Posisi dan pergerakan repetisinya dapat ditentukan secara presisi

- Memiliki respon yang sangat baik terhadap mulai, stop dan berbalik (perputaran)

- Sangat handal karena tidak adanya sikat yang bersentuhan dengan rotor seperti pada motor DC

- Dapat menghasilkan perputaran yang lambat sehingga beban dapat dikopel langsung ke porosnya

- Frekuensi perputaran dapat ditentukan secara bebas dan mudah pada range yang luas

Mikrokontroler Control Link

Driver Motor

(44)

2.2.1 Tipe-tipe Motor Stepper

a. Berdasakan bentuk fisik dari motor stepper 1. Motor stepper tipe Variable reluctance (VR)

Motor stepper jenis ini telah lama ada dan merupakan jenis motor yang secara struktural paling mudah untuk dipahami. Motor ini terdiri atas sebuah rotor besi lunak dengan beberapa gerigi dan sebuah lilitan stator. Ketika lilitan stator diberi energi dengan arus DC, kutub-kutubnya menjadi termagnetasi. Perputaran terjadi ketika gigi-gigi rotor tertarik oleh kutub-kutub stator. Gambar 2.9 berikut ini adalah penampang melintang dari motor stepper tipe variable reluctance (VR):

(45)

2. Motor stepper tipe Permanent Magnet (PM)

Motor stepper jenis ini memiliki rotor yang berbentuk seperti kaleng bundar (tin can) yang terdiri atas lapisan magnet permanen yang diselang-seling dengan kutub yang berlawanan. Dengan adanya magnet permanen, maka intensitas fluks magnet dalam motor ini akan meningkat sehingga dapat menghasilkan torsi yang lebih besar. Motor jenis ini biasanya memiliki resolusi langkah (step) yang rendah yaitu antara 7,50 hingga 150 per langkah atau 48 hingga 24 langkah setiap putarannya. Gambar 2.10 berikut ini adalah ilustrasi sederhana dari motor stepper tipe permanent magnet:

Gambar 2.10 Motor stepper tipe permanent magnet (PM)

3. Motor stepper tipe Hybrid (HB)

(46)

magnet permanen yang tersusun secara aksial pada batang porosnya seperti motor tipe PM. Motor tipe ini paling banyak digunakan dalam berbagai aplikasi karena kinerja lebih baik. Motor tipe hybrid dapat menghasilkan resolusi langkah yang tinggi yaitu antara 3,60 hingga 0,90 per langkah atau 100-400 langkah setiap putarannya. Gambar 2.11 berikut ini adalah penampang melintang dari motor stepper tipe hybrid:

Gambar 2.11 Penampang melintang dari motor stepper tipe hybrid

b. Berdasarkan Metode Perancangan

1. Motor Stepper Unipolar

(47)

Gambar 2.12 Lilitan pada motor stepper Unipolar

2. Motor Stepper Bipolar

Tidak seperti motor stepper unipolar, motor stepper bipolar memerlukan rangkaian driver yang lebih komplek. Motor stepper bipolar dikenal mempunyai ratio torsi yang bagus dan menyediakan torsi yang lebih kuat dibandingkan yang unipolar. Motor jenis ini didesain dengan koil yang terbagi sehingga membutuhkan driver yang dapat membalik polaritasnya. Sedangkan, pola binary driver sama dengan motor stepper unipolar, hanya logika 0 dan 1 untuk menyatakan polaritasnya seperti terlihat pada gambar 2.13.

(48)

2.2.2 Metode Langkah Motor Stepper

Untuk menggerakkan motor stepper, ada beberapa metode yang digunakan. Metode-metode ini timbul karena adanya perbedaan pemberian tegangan pada masing-masing lilitan

1. Metode Penuh Eksitasi Tunggal

Pemberian tegangan dilakukan secara bergantian pada setiap kumparan atau lilitan dari motor stepper tersebut pada setiap langkahnya, seperti pada tabel 2.3.

Tabel 2.3 Metode langkah penuh eksitasi tunggal

Langkah Lilitan I Lilitan II Lilitan III Lilitan IV

1 1 0 0 0

2 0 1 0 0

3 0 0 1 0

4 0 0 0 1

2. Metode Langkah Penuh Eksitasi Ganda

(49)

Tabel 2.4 Metode langkah penuh eksitasi ganda

Langkah Lilitan I Lilitan II Lilitan III Lilitan IV

1 1 1 0 0

2 0 1 1 0

3 0 0 1 1

4 1 0 0 1

3. Metode Langkah Setengah (half step)

Metode ini merupakan kombinasi antara dua metode langkah penuh eksitasi tunggal dan eksitasi ganda. Pemberian tegangan dilakukan pada satu dan dua lilitan secara bergantian untuk setiap langkahnya, sepertipada tabel 2.5

Tabel 2.5 Metode langkah setengah (half step)

Langkah Lilitan I Lilitan II Lilitan III Lilitan IV

1 1 0 0 0

2 1 1 0 0

3 0 1 0 0

4 0 1 1 0

5 0 0 1 0

6 0 0 1 1

7 0 0 0 1

(50)

2.3 Tri State Buffer

Tri state buffer mempunyai keluaran yang sama dengan masukan, dengan masukan level digital 0 atau 1. Gambar 2.14 menunjukkan simbol tri state buffer.

Gambar 2.14 Simbol Tri State Buffer

Keluaran buffer didefinisikan sebagai z akan sama dengan x, jika input x adalah 0 maka keluaran akan 0 juga, sebaliknya jika masukan x adalah 1, keluaran z akan 1 juga. Tri state buffer mempunyai sejenis control gate, lebih jelasnya ditunjukkan pada gambar 2.15.

(51)

Tri State Buffer mempunyai 2 masukan yaitu 1 data masukan dan 1 masukan kontrol. Masukan kontrol berfungsi sebagai valve, jika masukan kontrol aktif maka keluaran sama dengan masukan, jika masukan kontrol tidak aktif keluaran akan impedansi tinggi, tidak 1 atau 0 dan tidak ada arus mengalir.

Beberapa tri state buffer aktif rendah, jika c bernilai 0 maka buffer aktif (keluaran akan sama dengan masukan) dan jika c bernilai 1 buffer tidak aktif. Tabel kebenaran untuk tri state buffer aktif rendah ditunjukkan pada tabel 2.6. Tabel 2.6 Tabel kebenaran Tri State Buffer Aktif Rendah

c z

0 x

1 Z

Tabel 2.6 menunjukkan bahwa jika c = 0 maka control gate akan terbuka dan keluaran z = x, dan ketika c = 1 control gate akan tertutup dan z = Z (impedansi tinggi/ tidak ada arus).

2.4 Transistor Sebagai Saklar

(52)

Gambar 2.16 Konfigurasi common emitter sebagai saklar transistor NPN

Pada umumnya saklar transistor menggunakan konfigurasi common emitor seperti ditunjukkan pada Gambar 2.16. Saat transistor berada pada kondisi jenuh (saturation) tahanan kolektor – emitor menjadi kecil dan menyebabkan arus kolektor Ic mengalir dari kolektor ke emitor dan tegangan kolektor-emitor Vce mendekati 0, kondisi ini dianalogikan seperti saklar dalam keadaan tertutup atau on. Pada kondisi menyumbat (cut-off), tahanan kolektor - emitor sangat besar mendekati tak hingga, sehingga arus kolektor Ic tidak dapat mengalir ke emitor. Pada kondisi ini Vce sama dengan Vcc dan dianalogikan seperti saklar yang terbuka atau off.

Rc

Rb

+V

ke beban

1

2

3

(53)

Sebuah saklar transistor dengan tegangan muka dari sebuah sumber ditunjukkan pada Gambar 2.17. Gambar tersebut memperlihatkan tahanan kolektor Rc dan tahanan basis Rb yang berfungsi untuk mengaktifkan transistor bekerja pada daerah yang diinginkan dan memberikan efek seperti saklar, yaitu pada daerah jenuh (saturation) dan daerah sumbat (cut-off). Nilai tahanan kolektor Rc dan tahanan basis Rb dihitung dengan persamaan sebagai berikut :

RB =

Vb merupakan tegangan basis yang harus diberikan untuk membuat transistor dalam keadaan jenuh (saturation) sehingga Vb harus setinggi :

Vbe Vbe adalah tegangan basis-emitor atau break down voltage yang harus diberikan ke basis–emitor agar transistor mencapai kondisi jenuh (saturation). IB diperoleh

dari persamaan :

(54)

2.5 Sensor Pendeteksi Cairan

Air merupakan konduktor yang cukup baik. Hal ini akan menyebabkan air yang berada di daerah pemisah antar dua gap konduktor logam akan mengurangi nilai resistansi di antara gap-gap tersebut.Berdasar pengertian di atas, pada saat tempat larutan tidak ada cairan, maka arus yang berada dalam batang karbon 1 tidak dapat mengalir ke batang karbon 2. Demikian sebaliknya, jika ada cairan maka arus dari batang karbon 1 dapat mengalir ke batang karbon 2. Kondisi inilah yang mengakibatkan kepala sensor dapat mengindikasikan ada tidaknya cairan dalam tempat pelarutan. Bentuk fisik dari sensor pendeteksi cairan dapat kita lihat pada gambar 2.18.

Karbon (probe 1)

Karbon (probe 2) Konektor ke kabel

Gambar 2.18 Bentuk fisik sensor pendeteksi cairan

2.6 Pembanding

(55)

tegangan keluaran yang dihasilkan adalah tegangan saturasi negatif atau sama dengan nilai catuan negatif pada penguat operasional. Gambar 2.19 menunjukkan rangkaian dasar penggunaan OP-Amp sebagai pembanding tegangan.

-+ 3

2

1

8

4

Vo VCC

V1

V2

Gambar 2.19 Rangkaian Op-Amp pembanding

Besarnya keluaran Vo dapat dihitung dengan menggunakan rumus : Vo = Ad x Vd – I x Ro... ...(2.6.a) Dengan mengganakan sifat penguat operasional yaitu impedansi keluaran mendekati nol, persamaan Vo dapat disederhanakan menjadi :

Vo = Ad x Vd ...(2.6.b) Dengan Vd = V1 –V2

Bila V1 > V2 maka Vd akan bernilai minus Vo = Ad ( V1- V2 )

Vo = - Ad x Vd

(56)

NO

COM

NC Vo = Ad ( V1- V2 )

Vo = Ad x Vd

= + Vsat...(2.6.d)

2.7 Relay

Relay merupakan saklar yang dioperasikan secara elektronis, simbol dari relay ditujukkan dalam gambar 2.20.

Gambar 2.20 Simbol relay

Arus yang melewati kumparan relay akan mengakibatkan medan magnet yang akan mengubah kondisi dari kontak saklar. Ada tidaknya arus melalui lilitan dapat mengakibatkan dua kondisi saklar pada relay ON atau OFF, istilah ini sering disebut dengan double throw switches.

(57)

38

Pada bagian ini akan dijelaskan tentang perancangan sistem yang meliputi perancangan perangkat keras dan perangkat lunak. Blok diagram dari Lengan Robot Pelarut Papan Tercetak (PCB) yang akan didesain dapat dilihat pada gambar 3.1.

Tombol pemilih waktu

Display Status (LED)

Buffer Driver Stepper M otor1 bagian 1Lengan

P2.0-3

Buffer Driver Stepper 2M otor bagian 2Lengan

P3.4-7

Buffer Driver Stepper 3M otor bagian 3Lengan

P3.0-3

(58)

3.1. Perancangan Perangkat Keras

3.1.1. Interfacing Tombol Pemilih Waktu

Fungsi-fungsi tombol pemilih waktu adalah : 1. Tombol 1 (dihubungkan dengan port 0.0.)

Tombol untuk memilih waktu pelarutan 10 menit 2. Tombol 2 (dihubungkan dengan port 0.1.)

Tombol untuk memilih waktu pelarutan 20 menit 3. Tombol 3 (dihubungkan dengan port 0.2.)

Tombol untuk memilih waktu pelarutan 30 menit

Gambar perangkat keras tombol-pemilih waktu, ditunjukkan dalam gambar 3.2.

(59)

Fungsi R1, R2, dan R3 adalah sebagai Rpull-up, yaitu memberi logika tinggi apabila tidak ada masukan dari tombol (tombol tidak ditekan).

Penentuan nilai Rpull-up mengacu rumus (2.1.a) :

R = I Vcc

; dengan I sebesar 26 mA (data sheet microcontroller)

R = 192,3 .

Karena di pasaran tidak terdapat nilai Rpull-up= 192,3 Ω, maka dipilih nilai yang

paling mendekati yaitu 220 .

3.1.2. Interfacing Display Status (LED)

Fungsi display status adalah :

1. Display status 1 (LED1) dihubungkan dengan port 0.3 Mengindikasikan bahwa PCB sudah berada di dalam cairan 2. Display status 2 (LED2) dihubungkan dengan port 0.4

Mengindikasikan waktu pelarutan 10 menit

3. Display status 3 (LED3) dihubungkan dengan port 0.5 Mengindikasikan waktu pelarutan 20 menit

4. Display status 4 (LED4) dihubungkan dengan port 0.6 Mengindikasikan waktu pelarutan 30 menit

(60)

AT89C51

Gambar 3.3. Interfacing display status dengan Mikrokontroler AT89C51

(61)

dihubungkan ke mikrokontroler melalui port 2. 0-7 (P2.0-7) dan port 3. 0-3 (P3.0-3). Buffer yang digunakan dalam alat ini adalah SN74LS541, yang terdiri dari 8 buah bufffer dalam satu IC. Gambar interfacing buffer ditunjukkan

Gambar 3.4. Interfacing buffer dengan Mikrokontroler AT89C51

3.1.3. Interfacing Driver ( Penggerak )Motor Stepper

(62)

Driver motor stepper dirancang untuk bekerja sebagai sistem saklar yang menghubungkan atau memutuskan salah satu terminal dari kumparan motor stepper terhadap ground. Untuk itu digunakan transistor, dan pengendalian saklar dilakukan melalui masukan pada terminal basis transistor tersebut yang dihubungkan ke buffer sebelum ke mikrokontroler untuk menjaga agar mikrokontroler tidak mendapat arus balik dari motor stepper. Satu motor stepper membutuhkan 4 transistor sebagai saklar. Gambar interfacing driver motor stepper ditunjukkan dalam gambar 3.5.

D1

Gambar 3.6. Interfacing driver motor stepper

3.1.3.1 Perancangan Driver Motor Stepper 1

(63)

keluaran IC SN74LS541 adalah 3,4 Volt pada keadaan logika ‘1’ dan 0,35 Volt pada keadaan logika ‘0’. Arus keluaran maksimum pada setiap pin SN74LS541 adalah 24 mA. Apabila tegangan yang diberikan pada kumparan motor stepper 12 Volt maka dapat dihitung :

12 volt

Ic maks = = 4 A 3 ohm

Sehingga dapat dicari hfe transistor sebagai berikut :

Ic maks 4

hfe(min) = = = 166,666 Ib maks 24 x 10-3

Jadi transistor yang digunakan harus mempunyai karakteristik hfe minimal 167 dan mampu melewatkan arus maksimal 4 A.

Berdasarkan data sheet, transistor yang dapat digunakan adalah transistor TIP 102, karena mempunyai nilai hfe (min) = 1000 dan mampu melewatkan arus melalui kolektor sebesar 10 A. Transistor TIP102 merupakan transistor daya tinggi sehingga sangat cocok untuk motor stepper. Perhitungan nilai hambatan basisnya adalah sebagai berikut :

Ic 4

Ib = = = 4 mA

β 1000

VB – VBE (3,5 -1,4)

R1 = = = 500 ohm Ib 4 x 10-3

(64)

3.1.3.2 Perancangan Driver Motor Stepper 2 dan 3

Motor stepper 2 dan 3 mempunyai nilai resistansi pada tiap satu kumparan sebesar 150 ohm. Berdasarkan data sheet, tegangan yang keluar dari pin IC 74 LS541 adalah 3,5 volt pada logika “1“ dan 0,35 volt pada logika “0”. Arus keluaran maksimum pada setiap pin IC 74LS541 adalah 24 mA, apabila tegangan yang diberikan pada kumparan motor stepper 12 volt, maka dapat dihitung

12 volt

Ic maks = = 0,08 A 150 ohm

Sehingga dapat dicari hfe transistor sebagai berikut :

Ic maks 0,08

hfe(min) = = = 3,33 Ib maks 24 x 10-3

Jadi transistor yang digunakan harus mempunyai karakteristik hfe minimal 3,33 dan mampu melewatkan arus maksimal 0,08 A.

Berdasarkan data sheet, transistor yang dapat digunakan adalah transistor BD135, karena mempunyai nilai hfe (min) = 750 dan mampu melewatkan arus melalui kolektor sebesar 4 A. Transistor BD677 merupakan transistor daya tinggi sehingga sangat cocok untuk motor stepper. Perhitungan nilai hambatan basisnya adalah sebagai berikut :

Ic 0,1463

Ib = = = 1,95 mA

(65)

VB – VBE (3,5 -1,4)

R1 = = = 1076, 92 ohm Ib 1,95 x 10-3

Untuk itu dipilih nilai R1 sebesar 1K Ohm sehingga arus basis (Ib) yang mengalir ke transistor adalah 2,1 mA

3.1.4 Perancangan Rangkaian Sensor Pendeteksi Cairan

Rangkaian sensor pendeteksi cairan berfungsi untuk mendeteksi apakah penjepit PCB sudah berada dalam larutan atau belum, dan untuk mendeteksi apakah penjepit PCB sudah berada dalam air pada saat pencucian. Dalam rangkaian sensor pendeteksi cairan, digunakan rangkaian pembanding untuk membandingkan tegangan yang disebabkan perubahan resistansi dan tegangan refrensi (Vref). Op-Amp yang digunakan adalah op-Amp yang dapat menghasilkan tegangan + 5 volt (taraf digital ‘1’) dan tegangan 0 volt (taraf digital ‘0’), karena langsung dihubungkan ke port 1.0 mikrokontroler.

Untuk rangkaian pembagi tegangan sebagai tegangan masukan dapat dihitung sebagai berikut

Vcc = I Rsensor + I R1 Vcc

I = , apabila R1 = 10 K ohm, dan Vcc = 5 volt R sensor + R1

(66)

-+

LM358 3

2

1

8

4

R1

R2

Rin

R4 Probe sensor

VCC VCC

output

Vx

Tabel 3.1 Tabel nilai resistansi sensor

No Posisi sensor

Resistansi Sensor (Ohm)

Vx ( Volt)

1 Di atas cairan ~ 5

2 Di dalam cairan 18K 1,79

Gambar 3. 7 Rangkaian sensor pendeteksi cairan

(67)

pembanding adalah 5 volt, sebaliknya jika tegangan input lebih kecil atau sama dengan tegangan referensi maka tegangan keluaran pembanding adalah 0 volt.

Untuk menentukan tegangan referensi dicari tegangan minimum dari table 3.1, VR1 = 1,78 volt. Oleh karena itu, dapat ditentukan tegangan referensi sebesar 1,78 volt, sehingga nilai resistansi pada masukan inverting ( R3 dan R4) adalah

Jika R3 = 10 K ohm, maka : Vcc

I = R 3 + R4 Vcc = VR3 + VR4 VR3 = 5 – 1,78 = 3, 22 volt

VR3 3,22

I = = = 0,322mA R3 10K

VR4 1,78

R4 = = = 5K6 Ohm I 0,322m

(68)

Prinsip kerja rangkaian sensor pendeteksi cairan adalah membuat keadaan port 1.0 menjadi ‘0’ pada saat kedua probe sensor menyentuh cairan.

Probe sensor berupa dua buah batang karbon yang diletakkan secara terpisah.

3.1.5 Interfacing Limit Switch 1 dan 2

Limit switch 1 berfungsi untuk menghentikan putaran motor stepper 1, dan limit switch 2 untuk menghentikan putaran motor stepper 2 . Limit switch 1 dihubungkan ke port 1.1 mikrokontroler dan limit switch 2 ke port 1.2 mikrokontoler. Gambar interfacing limit switch dengan mikrokontroler AT89C51 ditunjukkan dalam gambar 3.8.

Gambar 3.8 Interfacing limit switch dengan Mikrokontroler AT89C51

3.1.6 Interfacing Pengering

(69)

untuk mengalirkan panasnya. Pengering ini dihubungkan ke sumber tegangan AC 220 Volt. Untuk mengendalikan nyala dan matinya pengering dibutuhkan rangkaian pengendali. Komponen utama rangkaian pengndali ini adalah transistor sebagai saklar dan relay yang mampu melewatkan tegangan AC. Gambar rangkaian pengendali pengering ditunjukkan dalam gambar 3.9.

AT89C51

Perancangan untuk rangkaian pengendali adalah sebagai berikut : Vcc

(70)

dikeluarkan atau diterima mikrokontroler mempunyai nilai sebesar 1,6 mA, maka:

Irelay

IBmaks = , I relay = Ic

hfe

Irelay

hfe = IBmaks

0,04

= = 25 1,6 x 10 -3

Jadi didapatkan nilai hfe sebesar 25, maka transistor yang harus dipasang di dalam rangkaian ini minimal mempunyai nilai hfe sebesar 25 sehingga dapat membuat transistor sebagai saklar.

Dari hasil perhitungan di atas, transistor BD 135 dapat digunakan karena menurut data sheet nilai hfe nya = 40, arus yang dapat dilewatkan melalui kolektor Ic maks = 1,5 Amper . sedangkan untuk mencari nilai hambatan basis (R1) adalah sebagai berikut

Ic 40. x 10-3

Ib = = = 1 mA β 40

VB - VBE IBasis =

RB

Jika nilai VB = tegangan keluaran mikrokontroler pada saat logika tinggi (5 Volt) dan nilai VBE = 0,7 Volt, maka

VB - VBE R1 =

(71)

5 – 0,7 = = 4300 Ohm

1x 10-3

Jadi nilai tahanan basis dibulat menjadi 4K7 Ohm. Dengan nilai tahanan 4K7 Ohm dan arus 0,914 mA, akan membuat transistor menjadi jenuh apabila mikrokontroler diberi logika 1 ( 5 Volt ). Sebaliknya, jika output mikrikontroler berlogika 0 ( 0 Volt ) maka transistor akan cut off.

Dioda pada relay berfungsi untuk melindungi transistor dari pengaruh tegangan kejut sesaat yang tinggi, hal ini terjadi pada saat relay pada kondisi transisi dari ON ke OFF. Pada kondisi tersebut, arus yang melalui lilitan akan dialihkan melalui dioda.

3.1.7 Perancangan Mekanik Lengan Robot

(72)

Motor stepper 1 (no.3) adalah pengerak lengan 1 (no.19), motor stepper 2 (no.12) adalah penggerak lengan 2 (no.16), motor stepper 3 (no.200) adalah penggerak lengan 3 (no.21). 5. Tempat lampu dan kipas angin 6. Sensor cairan

Gambar 3.10 Mekanik lengan robot pelarut lempeng PCB

(73)

3.1.7.1 Perancangan Mekanik Lengan Bagian 1 (L1)

Penggerak lengan bagian 1 ini adalah motor stepper 1, dengan spesifikasi sebagai berikut : motor stepper yang digunakan adalah motor stepper tipe hybrid unipolar dan untuk menggerakkanya dengan metode langkah setengah (half step), besar sudut setiap step adalah 1,8 0, nilai resistansi pada setiap satu kumparan adalah 3 Ohm.

5

4

3

2 1

Keterangan :

1. Motor 1

2. Landasan lengan bagian 1 3. Lengan bagian 1

4.

stepper

Poros lengan bagian 1 5. Penyangga lengan bagian 2

Gambar 3.11 Mekanik lengan bagian 1

Putaran motor stepper 1 (no.1) akan menyebabkan poros lengan 1 (no. 4) berputar, sehingga penyangga lengan bagian 2 (no. 5) ikut berputar. Putaran penyangga lengan bagian 2 yaitu ke kanan dan ke kiri dengan jangkauan sudut 1800.

3.1.7.2 Perancangan Mekanik Lengan Bagian 2 (L2)

(74)

setengah (half step), besar sudut setiap step adalah 7,5 0, nilai resistansi pada setiap satu kumparan adalah 150 Ohm.. Gambar 3.12 berikut ini adalah gambar perancangan mekanik lengan bagian 2.

1 2 3 4 5 6 7 8 9 10

Keteranagn :

1. Roda 2

2. (tali penarik maju mundur )

3. Beban (pemberat)

4. Roda gigi dan roda 1

5. Motor 2

6. Poros lengan bagian 2 7. Tempat penyangga lengan 2 8. Penyangga lengan 2 9. Lengan bagian 2

10.Motor s 3

strengh Strengh

strengh stepper

tepper

Gambar 3.12 Mekanik lengan bagian 2

(75)

awal bagian lengan robot 3 terangkat ke atas. Gambar 3.13 berikut ini adalah perhitungan gerak pada saat lengan bagian 2 terangkat ke atas :

= 20

Gambar 3.13 Gambar perhitungan simpangan gerak lengan bagian 2 Jarak antara PCB dengan dasar pada posisi awal adalah :

h = d – e

= ( 34 – 32 ) cm = 2 cm

(76)

f = g – i

= ( 12,2 – 4,5 ) cm = 7,7 cm

Perhitungan perancangan gerak beban agar bagian lengan robot 2 dapat bergerak ke atas dan ke bawah. Jika diketahui :

- Berat beban : 420 gr = 0,42 kg - Berat bagian lengan robot 3 : 310 gr = 0,31 kg - Berat PCB ( 15 x 15 cm) : 50 gr = 0,05 kg - Berat PCB ( 5 x 5 cm ) : 5 gr = 0,005 kg - Posisi awal pemberat : 10 cm dari poros - Ukuran bagian lengan robot 2 seperti gambar 3.13.

Pada saat pemberat pada posisi awal ( 10 cm dari poros ) bagian lengan robot 2 tegak lurus terhadap bagian lengan robot 1. Sedangkan pada saat lengan robot bagian 2 terangkat 200 posisi beban pemberat berada pada jarak 25 cm dari poros.

3.1.7.3 Perancangan Mekanik Lengan 3 (L3) dan Penjepit

(77)

1

2

3

4

Keterangan :

1. Motor 3

2. Lengan bagian 3

3. pengatur lebar penjepit

4. Penjepit

Stepper

Knop

Gambar 3.14 Mekanik lengan bagian 3 dan penjepit

Gerakan motor stepper 3 (no. 1) adalah maju mundur, sehingga mengakibatkan lengan bagian 3 dan penjepit juga bergerak maju mundur, sesuai anak panah pada gambar3.14 . PCB diletakkan di antara keempat penjepit (no. 4) , lebar penjepit dapat diatur sesuai dengan besarnya PCB dengan menggeser knop pengatur (no. 3) Gambar 3.15 menunjukkan gambar perhitungan jarak simpangan lengan bagian 3 pada saat bergerak maju-mundur .

(78)

Jika diketahui : α = 150, b = c = 32 cm, maka panjang a adalah a = b sin α

= 32 sin 150 = 8,2 cm Mencari panjang d :

d = b cos α = 32 cos 150 = 30,9 cm Panjang i :

i = c – d = 32 – 0,9 = 1,1 cm Panjang e :

e = (0,5 x d sin150) = (0,5 x 15 sin 50) = 1,9 cm

Jarak antara ujung PCB bagian atas dengan dasar tempat larutan pada saat simpangan sudut 150 adalah sebagia berikut :

Panjang f :

(79)

Jarak antara ujung PCB bagian bawah dengan dasar tempat larutan pada saat simpangan sudut 150 adalah sebagia berikut :

Panjang sisi f : g = (h + i) - e = (2 + 1,1) – 1,9 = 1,2 cm

Peritungan periode gerakan lengan robot bagian 3 (L3) pada saat pelarutan adalah sebagai berikut :

waktu T =

Jumlah langkah

Motor stepper 3 adalah motor stepper dengan sudut 7,50 perlangkah dan metode yang digunakan untuk menggerakkannya adalah metode langkah penuh maka untuk bergerak 300 diperlukan 4 langkah putaran. Jika waktu perpindahan tiap langkahnya adalah 50ms maka dapat dihitung periodenya yaitu :

1 1 1

T = , frekuensi = = = 1,.04 Hz frekuensi t 8 x 120ms

1 T =

(80)

3.1.8 Perancangan Mekanik Lengan Robot

Perancangan ini terdiri dari dua bagian yaitu : 3.1.8.1 Perancangan ukuran lengan robot

Perancangan ukuran lengan robot ini sangat berpengaruh besar terhadap kinerja lengan robot itu sendiri. Agar lengan robot bekerja secara maksimal maka perlu dipilih bahan yang ringan tetapi kuat menahan beban dan tahan terhadap korosi dari larutan fericlorit.

Perancangan ukuran lengan robot ditunjukkan dalam gambar 3.16 .

Gambar 3.16 Rancangan ukuran lengan robot

15 cm

9 cm 10 cm

15 cm 75 cm

30 cm 40 cm 10 cm

2 cm

2 cm 6 cm

21 cm

16 cm 35 cm

1 cm

2 cm 10 cm

23 cm

2 cm

1,5 cm 5 cm

(81)

3.1.8.2 Perancangan Tempat Larutan dan Penc ucian

Tempat larutan fericlorit dan air untuk pencucian PCB terbuat dari plastik yang berbentuk empat persegi panjang. Untuk lebih jelasnya dapat dilihat pada gambar 3.17 berikut :

Gambar 3.17 Rancangan tempat larutan fericlorit dan pencucian Tepat larutan fericlorit mempunyai ukuran sebagai berikut :

• Panjang : 34 cm

• Lebar : 25 cm

• Tinggi : 5 cm

Ketinggian larutan dan air pencucian telah ditentukan, yaitu 4 cm.

3.2 Perancangan Perangkat Lunak

3.2.1. Algoritma Program

1. Program dimulai dengan subroutine ‘Inisialisasi’, proses inisialisasi ini bertujuan untuk menetukan posisi awal lengan robot.

(82)

3. Proses selanjutnya yaitu pemanggilan subroutine ‘Gerakan_ke_Larutan_Fericlorit’. Subroutine ini akan menjalankan motor stepper 1 dan 2 serta sensor cairan.

4. Program kemudian memanggil subroutine ‘Gerak_Pelarutan’. Pada subroutine ini telah diatur bagaimana gerakan motor stepper 3 dan lama gerakan motor stepper 3.

5. Langkah selanjutnya yaitu menjalankan subroutine ‘Gerak_Lengan_Ke_Tempat_Pencucian’. Perintah pada subroutine ini sama dengan subroutine ‘Gerak_Ke_Larutan_Fericlorit’.

6. Program kemudian memanggil subroutine ‘Gerak_Pencucian’. Perintah pada subroutine ini hampir sama dengan subroutine ‘Gerak_Pelarutan’, yang membedakan adalah data waktunya.

7. Proses selanjutnya adalah pemanggilan subroutine ‘Kembali_Ke_Posisi_Awal’.

8. Proses terakhir dari program ini adalah menjalankan subroutine ‘Hidupkan_Pengering’

(83)

Gambar 3.18 Diagram alir program utama

Contoh penggalan program utama : Start:

LCALL Inisialisasi LCALL Baca_Masukan

LCALL Gerak_ke_Larutan_Fericlorit LCALL Gerak_Pelarutan

LCALL Gerak_Lengan_ke_Tempat_Pencucian LCALL Gerak_Pencucian

LCALL Kembali_ke_Posisi_Awal LCALL Hidupkan_Pengering LCALL Tunda

LJMP Start

Mulai

Inisialisasi Data

Baca Masukan

Gerak Ke Larutan Fericlorit

Gerak Pelarutan

Gerak Lengan Ke Tempat Pencucian

Gerak Pencucian

Kembali Ke Posisi Awal

Gambar

Gambar 2.1 Blok diagram dari AT89C51
Gambar 2.2. Pemetaan lokasi Special Function Register
Gambar 2.6.  Konfigurasi pin mikrokontroler AT89C51
Gambar 2.7  Rangkaian Osilator
+7

Referensi

Dokumen terkait

Perbedaan penelitian yang dilakukan dengan penelitian yang lainnya, yaitu penelitian ini lebih menekankan pada implementasi asas pembalikan beban pembuktian dalam

Adapun kriteria implementasi program MBS yang dimaksud adalah: 1) Rencana Kegiatan Sekolah (RKS) dilaksanakan secara bersama oleh warga sekolah dan komite sekolah, 2) Rencana Kerja

Jumlah dan Prosentase Antibiotika Tunggal/ Kombinasi Yang Diterima Penderita Rawat Inap Pneumonia Tanpa Penyakit Penyerta di Sub Departemen Anak Rumkital Dr.. Jenis Rute

Persentase Parasitasi Jenis Parasitoid Telur Penggerek Batang Padi Putih (S. innotata) pada setiap Pengamatan Lokasi Waktu Pengamatan Jumlah Kelompok Telur Jenis Parasitoid

Soft Information didapatkan dari hasil wawancara dengan beberapa orang yang memiliki kewenangan terhadap perusahaan seperti direktur utama sebagai eksekutif utama dan pimpinan

Hasil penelitian yang telah dilakukan dengan 4 variabel independen dalam pengaruhnya terhadap struktur modal menunjukkan bahwa 2 variabel memiliki pengaruh signifikan terhadap

Insiden kesalahan pemberian obat high alert yang dimaksud adalah ketidaktepatan pemberian obat high alert dan tidak sesuai dengan standar prosedur yang ditetapkan rumah sakit

Penelitian memiliki tujuan untuk: (1) Mengetahui efektifitas peningkatan hasil belajar antara siswa yang mengikuti pembelajaran menggunakan pendekatan problem