robot pembagi brosur berbasis mikrokontroler at89s51 universitas

advertisement
ROBOT PEMBAGI BROSUR BERBASIS
MIKROKONTROLER AT89S51
LAPORAN TUGAS AKHIR
Disusun dan diajukan untuk melengkapi salah satu syarat memperoleh
strata satu (S1) Universitas Mercubuana
Disusun Oleh :
Nama : Jaja Zakky Zakaria
NIM
: 41405120107
JURUSAN TEKNIK ELEKTRO
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS MERCUBUANA
2007 - 2008
LEMBAR PENGESAHAN
Tugas Akhir dengan Judul :
ROBOT PEMBAGI BROSUR BERBASIS MIKROKONTROLER
AT89S51
Yang diajukan oleh :
Nama
NIM
Jurusan
: Jaja Zakky Zakaria
: 41405120107
: Teknik Elektro
Telah disetujui untuk diajukan pada tanggal 27 Februari 2008 oleh :
Pembimbing
(Yudhi Gunardhi ST.MT )
Ketua Jurusan Teknik Elektro
( Ir. Budiyanto Husodo, Msc )
ii
Abdullah bin Umar r.a berkata :
“Sesungguhnya hati yang didalamnya tidak ada sedidkitpun ayat-ayat
Al-quran, berarti hati itu kosong dan rusak, sebagaimana runtuhnya
rumah yang tidak seorang pun yang mendiaminya”
“Hai orang-orang yang beriman, hendaklah kamu jadi orang-orang
yang selalu menegakan (kebenaran) karena Allah, menjadi saksi
dengan adil, dan janganlah sekali-kali kebencianmu terhadap sesuatu
kaum, mendorong kamu untuk berlaku tidak adil. Berlaku adillah,
karena adil itu lebih dekat kapada takwa. Dan bertakwalah kepada
Allah, sesungguhnya Allah maha mengetahui apa yang kamu
kerjakan”. (AL-maidah QS 5:8)
iii
Buku Laporan Tugas Akhir ini ku persembahakan pada Ibuku,
almarhum ayahku, kaka-kakaku, keponakanku, familiku,
teman-temanku, dan almamaterku
iv
KATA PENGANTAR
Dengan mengucapkan hamdallah dan memanjatkan puja dan puji syukur
kehadirat Allah SWT, atas rahmat dan hidayahNya maka laporan Tugas Akhir ini
dapat terselesaikan dengan baik. Laporan ini dibuat dalam rangka memenuhi syarat
untuk memperoleh Strata satu (S1) di Universitas Mercubuana Fakultas Teknologi
Industri Jurusan Teknik Elektro.
Pembuatan Tugas Akhir ini yang dimulai sejak September 2007 dengan judul
”Robot Pembagi Brosur Berbasis Mikrokontroler AT89S51”. Laporan ini
diperuntukan bagi siapa saja yang ingin mengetahui seluk beluk perencanaan dari
suatu robot dalam pembuatan tugas akhir ini.
Akhirnya penyusun ingin menyampaikan rasa terima kasih kepada :
1. Bapak Dr. Ir. Suharyadi, MS. selaku rektor Universitas Mercubuana.
2. Bapak Ir. Budiyanto Husodo, M.Sc. selaku Kaprodi Teknik Elektro.
3. Bapak Ir. Yudhi Gunardi , MT selaku Pembimbing dalam penyelesaian
tugas akhir ini.
4. Seluruh dosen dan staf Universitas Mercubuana yang telah memeberikan
bekal ilmu kepada kami
5. Orangtua tercinta yang tidak putus-putusnya memberikan dukungan
moril dan spiritual serta saran-saran yang sangat berguna hingga
tersusunnya laporan tugas akhir ini
6. Rekan-rekan mahasiswa PKK angkatan VIII, khususnya Teknik Elektro,
rekan-rekan di PT. Sanken Indonesia, rekan-rekan di PT. SMT Indonesia
dan rekan-rekan alumni Politeknik Negeri Jakarta angkatan 2000 yang
v
tidak dapat penulis sebutkan satu persatu serta pihak lainnya yang telah
membantu dalam penyusunan tugas akhir ini.
Akhir kata, pepenulis berharap semoga laporan ini bermanfaat bagi yang
membacanya.
Wassalam
Jakarta, 3 Pebruari 2008
Penyusun
vi
DAFTAR ISI
HALAMAN JUDUL .........................................................................................
i
LEMBAR PENGESAHAN ...............................................................................
ii
LEMBAR MOTTO ............................................................................................ iii
LEMBAR PERSEMBAHAN ............................................................................
iv
KATA PENGANTAR ........................................................................................
v
DAFTAR ISI....................................................................................................... vii
DAFTAR GAMBAR ..........................................................................................
x
DAFTAR TABEL............................................................................................... xii
BAB 1
Bab 2
PENDAHULUAN ..............................................................................
1
1.1 Latar Belakang Masalah .............................................................
1
1.2 Tujuan Penulisan.........................................................................
2
1.3 Pembatasan Masalah ...................................................................
2
1.4 Metode Penulisan........................................................................
3
1.5 Sistematika Penulisan ................................................................
3
DASAR TEORI ...................................................................................
5
2.1 Mikrokontroler AT89S51 ...........................................................
5
2.1.1 Deskripsi Pin Mikrokontroler AT89S51.........................
6
2.1.2 Organisasi Memori .........................................................
9
2.1.3 Mode Pengalamatan ........................................................ 13
2.1.4 Set Instruksi .................................................................... 15
2.1.5 Operasi Timer ................................................................. 16
vii
2.2 Motor DC ..................................................................................... 22
2.2.1 Fungsi Dasar Motor DC.................................................. 23
2.2.2 Arsitektur ........................................................................ 24
2.2.3 Rumus dasar .................................................................... 25
2.3 Sensor Ultrasonik ....................................................................... 28
2.4 Dioda Infra Merah ....................................................................... 29
2.5 Foto Dioda .................................................................................. 31
2.6 IC Pewaktu 555 ........................................................................... 33
2.7 Driver Motor IC L293D .............................................................. 37
2.8 Penguat Transistor ...................................................................... 37
2.9 Penguat Op-Amp (Operational Amplifier) .................................. 38
2.10 PWM (Pulse width Modulationa ................................................ 42
BAB 3
PERENCANAAN DAN REALISASI .............................................. 45
3.1 Perancangan Alat....................................................................... 45
3.1.1 Blok Diagram Sistem ................................................... 45
3.1.2 Prinsip Kerja Sistem ..................................................... 46
3.1.3 Perancangan Mekanik .................................................. 46
3.1.4 Penentuan Fungsi Port .................................................. 47
3.2
Perancangan Sistem Elektronik ............................................... 49
3.2.1 Rangkaian Sistem Minimum Mikrokontroller ............. 49
3.2.2 Rangkaian Sensor Foto Dioda ..................................... 49
3.2.3 Rangkaian Sensor Ultrasonik ....................................... 50
3.2.4 Rangkaian Driver Motor DC ....................................... 52
viii
3.3
BAB 4
Perancangan Software............................................................... 52
3.3.1
Program 8051 IDE ...................................................... 52
3.3.2
AEC_ISP ..................................................................... 53
PENGUJIAN DAN ANALISIS DATA ............................................. 55
4.1 Konfigurasi Pengujian .............................................................. 55
4.1.1 Percobaan Alat ............................................................. 55
4.1.2 Konfiguransi Pengujian Motor .................................. 56
4.1.3 Konfigurasi Pengujian Sensor ..................................... 56
4.2
Daftar Peralatan Pengujian ..................................................... 56
4.3
Data Hasil Pengujian ............................................................... 57
4.4
4.3.1
Motor DC ..................................................................... 57
4.3.2
Rangkaian Sensor Cahaya ............................................ 57
Analisa Data ............................................................................. 57
4.4.1 Rangkaian Driver Motor ............................................... 57
4.4.2 Rangkaian Sensor Cahaya ............................................ 58
4.4.3 Output PWM ................................................................ 58
4.5 Percobaan Rangkaian Alat ....................................................... 59
BAB 5
KESIMPULAN .................................................................................. 61
Daftar Pustaka
Lampiran
ix
DAFTAR GAMBAR
Gambar 2.1 Konfigurasi Pin Mikrokontroler AT89S51 ...................................
6
Gambar 2.2 Organisasi Memori Mikrokontroler 8051 ....................................
8
Gambar 2.3 Konfigurasi Motor Seri dan konfigurasi Motor Shunt .................. 23
Gambar 2.4 Konfigurasi Motor Gabungan Short Shunt dan Long Shunt ........ 23
Gambar 2.5 Kontruksi sederhana motor dc ...................................................... 25
Gambar 2.6 Rangkaian ekivalen dari motor DC .............................................. 27
Gambar 2.7 Hubungan torsi, kecepatan motor DC dengan magnet permanen. 28
Gambar 2.8 Gambar sensor ultrasonik.............................................................. 28
Gambar 2.9 Prinsip kerja sensor ultrasonik ..................................................... 29
Gambar 2.10 Simbol infra merah, Penampang LED ......................................... 30
Gambar 2.11 Prinsip kerja infra merah .............................................................. 31
Gambar 2.12 Simbol foto dioda dan Rangkaian Foto Dioda ............................. 32
Gambar 2.13 Kemasan dan konfigurasi pin-pin IC pewaktu 555 ...................
33
Gambar 2.14 Digram blok rangkaian dalam IC 555 .......................................
34
Gambar 2.15 Kondisi pin 3 IC 555 .................................................................
35
Gambar 2.16 Kondisi pin 7 IC 555 .................................................................
37
Gambar 2.17 Driver motor L293D .................................................................
38
Gambar 2.18 Bias pembagi tegangan ..............................................................
39
Gambar 2.19 Simbol skematis op-amp ...........................................................
41
Gambar 2.20 Sinyal PWM dengan duty cycle 50% ........................................
43
Gambar 2.21 Sinyal PWM dengan duty cycle 10% ........................................
44
Gambar 3.1 Blok Diagram Sistem Robot Pembagi Brosur ...........................
45
Gambar 3.2 Gambar Robot Pembagi Brosur ................................................
46
Gambar 3.3 Gambar Robot Tampak Samping ..............................................
46
Gambar 3.4 Gambar Robot Tampak Belakang .............................................
47
Gambar 3.5 Rangkaian Sistem Minimum Mikrokontroler AT89S51 ...........
49
Gambar 3.6 Rangkaian Sensor Pendeteksi Garis ..........................................
50
Gambar 3.7 Rangkaian pemancar sensor ultrasonik .....................................
51
x
Gambar 3.8 Rangkaian penerima sensor ultrasonik .....................................
51
Gambar 3.9 Rangkaian penggerak motor DC ...............................................
52
Gambar 3.10 Tampilan program 8051 IDE ....................................................
53
Gambar 3.11 Tampilan program AEC_ISP ....................................................
54
Gambar 4.1 Line tracking ..............................................................................
55
Gambar 4.2 Tinggi robot sebelum dan sesudah naik ....................................
55
Gambar 4.3 Konfigurasi pengukuran arus dan tegangan motor ....................
56
Gambar 4.4 Konfigurasi pengujian rangkaian sensor cahaya........................
56
xi
DAFTAR TABEL
Tabel 2.1 Fungsi Khusus Port 3 .........................................................................
8
Tabel 2.2 Bit-Bit Status PSW ...........................................................................
8
Tabel 2.3 Daftar SFR Untuk Timer..................................................................... 17
Tabel 2.4 Bit-bit SFR TCON .............................................................................. 18
Tabel 2.5 Daftar Bit SFR TMOD........................................................................ 19
Tabel 2.6 Mode Operasi Timer ........................................................................... 20
Tabel 3.1 Port 1 yang digunakan sebagai output ................................................ 47
Tabel 3.2 Port 1 yang digunakan sebagai input .................................................. 48
Tabel 3.3 Port 1 yang digunakan sebagai input .................................................. 48
Tabel 4.1 Daftar peralatan pengujian .................................................................. 56
Tabel 4.2 Daftar hasil pegujian tegangan dan arus motor.................................. 57
Tabel 4.3 Daftar hasil pegujian tegangan sensor ............................................... 57
Tabel 4.4 Kondisi Motor ketika X dan Y diberikan Logik .............................
58
xii
BAB 1
PENDAHULUAN
1.1
Latar Belakang Masalah
Perkembangan teknologi pada abad ke-21 semakin pesat. Kemajuan ini
sebagian besar adalah berkat dukungan perkembangan ilmu pengetahuan dibidang
elektronika. Salah satu contoh yang paling populer dan berkembang dengan pesat
selain teknologi komputer adalah teknologi robot. Dengan adanya robot, maka
akan dapat mempermudah segala bentuk kerja yang dilakukan oleh manusia
dengan hasil yang baik.
Pengertian robot jika dikaitkan dengan perangkat di industri adalah mesin
yang dapat diprogram ulang, dirancang dengan manipulator, multi fungsi untuk
memindahkan bahan, peralatan, atau komponen khusus melalui beberapa gerakan
yang terprogram sebagai kinerja dari berbagai macam tugas.
Biasanya media yang digunakan untuk menggerakan dan memprogram robot
adalah sebuah Personal Computer (PC). PC digunakan sebagai penggerak dan
pemrogram robot karena PC memiliki port-port yang dapat mengakses data baik
secara serial maupun paralel. Pada pergerakan-pergerakan data akses PC untuk
robot umumnya berupa data serial dimana pengaturan data serial tersebut diproses
oleh mikrokontroler (μC). Data yang diterima oleh μC akan menggerakan motor
sesuai dengan data yang diberikan. Keuntungan dari kinerja tersebut yaitu
perubahan gerakan robot dapat dilakukan dengan mudah yaitu cukup dengan
merubah listing program pada menu program yang dibuat.
1
Berangkat dari masalah tersebut, saya sebagai mahasiswa Jurusan Teknik
Elektro Universitas Mercubuana tertarik untuk dapat menyumbangkan ide
sekaligus membuat alat yang diberi nama Robot Pembagi Brosur Berbasis
Mikrokontroller AT89S51
Prinsip kerja dari robot pembagi brosur ini adalah robot ini bekerja
mengikuti jalur, berjalan sepanjang line tracking. Jika Sensor ultrasonic membaca
ada subyek yang menghalanginya, maka robot ini akan berhenti dan leher robot
yang membawa brosur ini akan naik, maka disaat inilah kita dapat mengambil
brosur yang terdapat pada robot.
1.2
Tujuan Penulisan
Tujuan pembuatan tugas akhir ini adalah merencanakan, merancang dan
membuat sistem dari Robot pembagi brosur berbasis mikrokontroler
AT89S51 dengan memanfaatkan sensor ultrasonic sebagai pendeteksi objek,
dan diharapkan dari tugas akhir ini dapat dijadikan media pembelajaran atau
pelatihan dalam dunia pendidikan khususnya yang berkaitan dengan
teknologi robotika
1.3
Pembatasan Masalah
Karena cakupan masalah yang sangat luas, maka pembatasan masalah kali
ini penulis ingin menitik beratkan pembahasan bagaimana cara membuat
Robot pembagi brosur yang bergerak mengikuti jalur dengan menggunakan
mikrokontroler AT89S51.
2
1.4
Metode Penulisan
Dalam pengumpulan data dan informasi penulisan laporan proyek akhir ini,
penulis menggunakan metode adalah sebagai berikut:
1.4.1 Studi Kepustakaan
Tahap ini dilakukan yaitu dengan mencari informasi dari buku-buku,
majalah-majalah dan internet yang menunjang dengan judul tugas
akhir.
1.4.2 Studi Eksperimentasi
Tahap ini dilakukan dengan melakukan percobaan terhadap alat, baik
dalam rakitan hardware maupun dalam pembuatan software hingga
selesai penulisan ini.
1.5
Sistematika Penulisan
Secara garis besar laporan pada tulisan ini dibagi sebagai berikut :
Bab 1
Pendahuluan
Berisi tentang latar belakang masalah, tujuan penulisan,
pembatasan
masalah,
metode
penulisan,
dan
sistematika
penulisan.
Bab 2
Dasar Teori
Menerangkan tentang dasar teori yang digunakan, baik secara
umum maupun khusus yang menunjang pembuatan alat ini.
3
Bab 3
Perencanaan dan Realisasi
Berisi perancangan mekanik, power driver, elektronik, dan
pemrograman microcontroller pada robot.
Bab 4
Pengujian dan Analisa Data
Menerangkan pengujian system dan analisa data yang yang kami
buat.
Bab 5
Penutup
Berisi tentang kesimpulan dan saran yang berkaitan dengan
penulisan laporan proyek akhir ini.
4
BAB 2
DASAR TEORI
2.1
Mikrokontroler AT89S51
Mikrokontroler adalah suatu teknologi semikonduktor dengan kandungan
transistor yang lebih banyak namun hanya membutuhkan ruang kecil dan
harganya relatif lebih murah serta banyak dipakai di dunia industri1.
Mikrokontroler jenis ini memiliki memori dengan teknologi nonvolatile memory
yaitu isi memori tersebut dapat diisi ulang ataupun dihapus berkali-kali. Memori
ini biasa digunakan untuk menyimpan instruksi (perintah) berstandar kode MCS51 sehingga memungkinkan mikrokontroler ini untuk bekerja dalam mode single
chip operation (mode operasi keping tunggal) yang tidak memerlukan external
memory (memori luar) untuk menyimpan source code tersebut.
Struktur Mikrokontroler AT89S51 terdiri dari :
a. 128x8 bit internal RAM
b. 32 port I/O
c. Dua buah 16 bit Timer/Counter
d. 4 Kilobytes Flash memory
e. 6 buah interupsi
f. Frekuensi clock 0–33 Mhz
g. Full Duplex Serial Channel
h. Programmable serial channel
i. In System Programming
1
Agfianto Eko Putra, Belajar Mikrokontroler AT89C51/52/55, (Yogyakarta : Gava Media, 2004),
hal. 1
5
Gambar 2.1. Konfigurasi Pin Mikrokontroler AT89S51
2.1.1
Deskripsi Pin Mikrokontroler AT89S51
Mikrokontroler AT89S51 memiliki 40 pin yang 32 pin di antaranya
digunakan sebagai port paralel. Satu port paralel terdiri dari 8 kaki, dengan
demikian 32 kaki tersebut membentuk 4 buah port paralel yang masing-masing
dikenal sebagai port 0, port 1, port 2 dan port 3. Susunan pin-pin tersebut dapat
dilihat pada gambar 2.1.
Deskripsi pin-pin dari mikrokontroler AT89S51 adalah sebagai berikut :
ƒ Pin 1-8 (port 0)
Merupakan port I/O dwi arah yang dilengkapi dengan pullup internal.
Penyangga keluaran port 1 mampu memberikan/menyerap arus empat masukan
TTL. Jika “1” dituliskan ke kaki-kaki port 1, maka masing-masing kaki akan di
pulled high dengan pullup internal sehingga dapat digunakan sebagai masukkan.
Sebagai masukan, jika kaki-kaki Port 1 dihubungkan ke ground (di-pulled low),
6
maka masing-masing kaki akan memberikan arus karena di-pulled high secara
internal.
ƒ Pin 9 (Reset)
Reset akan bekerja jika di berikan input high selama 2 siklus mesin yang
akan menyebabkan register-register internal pada AT89S51 akan berisi nilai
default setelah sistem di reset.
ƒ Pin 10-17 (Port 3)
Sebagai I/O biasa dan memiliki sifat yang sama dengan port 1 dan port 2.
Port 3 juga memiliki fungsi khusus yang ditunjukkan pada tabel 1.
Tabel 2.1. Fungsi Khusus Port 3
ƒ Pin 18 (XTAL 2)
Output dari penguat inverting osilator.
ƒ Pin 19 (XTAL 1)
Input dari penguat inverting osilator.
ƒ Pin 20 (Ground)
ƒ Pin 21-28 (Port 2)
Port 2 merupakan dual purpose port selain Sebagai I/O biasa dan memiliki
sifat yang sama dengan port 1 dan port 3, port ini juga dapat digunakan sebagai
high byte dari address.
7
ƒ Pin 29 (PSEN / Program Store Enable)
PSEN adalah kontrol sinyal yang mengijinkan untuk mengakses program
(kode) memori eksternal. Pin ini dihubungkan ke pin OE (output enable) dari
EPROM. PSEN akan selalu bernilai 0 pada pembacaan memori internal.
ƒ Pin 30 (ALE / PROG)
ALE digunakan untuk men-demultiplex address dan data bus. Ketika
menggunakan program memori eksternal, port 0 akan berfungsi sebagai address
dan data bus. Pada setengah paruh pertama memory cycle, ALE akan bernilai 1
sehingga mengijinkan penulisan alamat pada register eksternal dan pada setengah
paruh berikutnya akan bernilai 0 sehingga port 0 dapat digunakan sebagai data
bus. Pada kaki ini juga berfungsi sebagai masukan pulsa program (PROG) selama
pengisian flash PEROM.
ƒ Pin 31 (EA / Vpp)
Jika EA diberi masukkan 1 maka AT89S51 akan menjalankan program
memori internal saja. Jika EA diberi masukkan nol (ground) maka AT89S51
hanya akan menjalankan program memori eksternal (PSEN akan bernilai 0). Pin
ini juga menerima tegangan 12 V (Vpp) selama pengisian flash programming.
ƒ Pin 32-39 (Port 0)
Merupakan dual purpose port (port yang memiliki dua kegunaan). Pada
kondisi normal, port ini digunakan sebagai port I/O. Pada kondisi yang lain dapat
digunakan sebagai data dan address yang di-multiplex pada memori eksternal.
Pada saat flash programming diperlukan external pull up terutama pada saat
verifikasi program.
8
ƒ Pin 40 (Vcc)
Suplai tegangan sebesar + 5 volt.
2.1.2
Organisasi Memori
Program-program dan data-data pada komputer maupun mikrokontroler
disimpan pada memori. Memori yang diakses oleh prosesor ini terdiri dari RAM
(Random Access Memory) dan ROM (Read Only Memory). Perbedaan antara
ROM dan RAM adalah :
ƒ
RAM dapat dibaca dan ditulis, sedangkan ROM hanya bisa dibaca saja.
ƒ
RAM bersifat volatile (isinya hilang jika power/sumber tegangan dihilangkan)
sedangkan ROM bersifat non-volatile (isinya tidak hilang jika power/sumber
tegangan dihilangkan)
Biasanya mikrokontroler mengimplemantasikan pembagian ruang memori
untuk
data dan program. ROM
ini biasanya berisi kode/program untuk
mengontrol kerja dari mikrokontroler, sedangkan RAM biasanya berisi data yang
akan dieksekusi oleh mikrokontroler. Setiap mikrokontroler memiliki ROM dan
RAM yang besarnya bervariasi.
Pada gambar 4, dapat dilihat gambaran secara lengkap dari on-chip data
memori. Seperti yang ditunjukkan, ruang internal memori dibagi menjadi register
banks (00H-1FH), bit addressable RAM (20H-2FH), general purpose RAM
(30H-7FH) dan special function register (80H-FFH).
9
Gambar 2.2. Organisasi Memori Mikrokontroler 8051
ƒ General Purpose RAM
General purpose RAM ini berfungsi sebagai tempat penyimpanan data
yang akan dieksekusi maupun hasil eksekusi yang dapat diakses secara langsung
melalui mode pengalamatan secara langsung maupun tidak langsung. General
purpose RAM ini diakses secara byte per byte.
ƒ Bit Addressable Location
Pada bit addressable location ini memiliki fungsi yang sama dengan
General Purpose RAM, tetapi memiliki keistimewaan untuk bisa diakses secara
bit per bit.
ƒ Register Banks
Terdiri dari 8 register, yaitu R0-R7, dan defaultnya menunjukkan bahwa
register ini berada pada alamat 00H-07H. Pada AT89S51, terdapat 4 bank register
yang terdiri dari bank 0, bank 1, bank 2 dan bank 3. Bank tersebut dapat dipilih
setelah kita mengubah select bit register banks pada program status word.
10
ƒ Special Function Register
Merupakan register yang memiliki fungsi khusus yang terdiri dari :
ƒ Akumulator
Register ini terletak pada alamat E0H. Hampir semua operasi aritmatik dan
operasi logika selalu menggunakan register ini. Register ini juga digunakan
untuk penyimpanan data sementara. Selain itu, dapat juga digunakan untuk
proses pengambilan dan pengiriman data ke memori eksternal.
ƒ Register B
Register B digunakan bersama akumulator untuk proses aritmatika yang dapat
juga difungsikan sebagai register biasa.
ƒ Stack Pointer (SP)
Stack Pointer ini adalah 8 bit register yang berada pada alamat 81H. Stack ini
berisi alamat dari data yang berada paling awal yang masuk ke dalam stack.
Operasi stack terdiri dari memasukkan data (push) pada stack dan
mengeluarkan data (pop) dari stack. Memasukkan data ke stack ini akan
mengakibatkan peningkatan nilai dari SP sebelum menulis data, dan
mengeluarkan data akan mengakibatkan penurunan nilai dari SP.
ƒ Program Status Word (PSW)
PSW berisi bit-bit status yang berkaitan dengan kondisi CPU saat itu. Status
yang tersimpan dalam PSW dapat dilihat pada tabel 2.2.
11
Tabel 2.2. Bit-Bit Status PSW
ƒ Data Pointer (DPTR)
Register DPTR digunakan untuk menyimpan alamat 16 bit. Dapat
dimanipulasi sebagai register 16 bit atau sebagai dua register 8 bit yang
terpisah. DPTR terdiri dari byte tinggi (DPH) dan byte rendah (DPL) yang
masing-masing berada di lokasi 83H dan 82H.
ƒ Port 0, Port 1, Port 2 dan Port 3
P1, P2, P3 dan P4 masing-masing terletak pada alamat 80H,90H, A0H dan
B0H. Pada beberapa port (P0, P2 dan P3) memiliki fungsi tambahan yang
apabila digunakan external memory ataupun fungsi-fungsi spesial, seperti
external interrupt, timer, serial, maka port tersebut tidak dapat digunakan.
Oleh karena itu, disediakan port 1 yang dikhususkan untuk port dengan fungsi
umum. Semua port ini dapat diakses dengan pengalamatan secara bit sehingga
dapat dilakukan perubahan output pada tiap-tiap pin dari port ini tanpa
mempengaruhi pin-pin yang lainnya.
12
ƒ Serial Data Buffer (SBUF)
SBUF terletak pada alamat 99H yang terdiri dari dua register yang terpisah
yaitu register penyangga pengirim (transmit buffer) dan penyangga penerima
(receive buffer). Pada saat data disalin ke SBUF, maka sesungguhnya data
dikirim ke penyangga pengirim dan sekaligus mengawali transmisi data serial.
Sedangkan pada saat data disalin dari SBUF, maka sebenarnya data tersebut
berasal dari penyangga penerima.
ƒ Timer Register
Pada AT89S51 terdiri dari dua buah 16 bit timer/counter untuk interval waktu
atau menghitung kejadian. Timer 0 berada pada alamat 8AH (TL0, low byte)
dan 8CH (TH0, high byte), dan timer 1 berada pada alamat 8BH(TL1, low
byte) dan 8DH (TH1, high byte). Operasi timer diset oleh Timer Mode
Register (TMOD) pada alamat 89H dan Timer Control Register (TCON) pada
alamat 88H.
2.1.3
Mode Pengalamatan
Data atau operan bisa berada di tempat yang berbeda sehingga dikenal
beberapa cara untuk mengakses data/operan tersebut yang dinamakan sebagai
mode pengalamatan (addressing mode) antara lain yaitu 2:
1. Mode Pengalamatan Segera (Immediate Addressing Mode)
Cara ini menggunakan konstanta, misalnya MOV A,#20h. Dalam
instruksi tersebut, akumulator akan diisi dengan konstanta 20h.
2. Mode Pengalamatan Langsung (Direct Addressing Mode)
2
Ibid., hal. 43-44
13
Cara ini dipakai untuk menunjuk data yang berada di suatu lokasi memori
dengan cara menyebut lokasi (alamat) memori tempat data tersebut berada,
misalnya : MOV A,30h. Instruksi ini berarti bahwa data yang berada di dalam
memori dengan alamat 30h disalin ke akumulator A.
3. Mode Pengalamatan Tidak Langsung (Inderect Addressing Mode)
Mode ini dipakai untuk mengakses data yang berada di suatu lokasi
memori, tetapi lokasi memori tidak disebut secara langsung tetapi melalui register,
misalnya : MOV A,@R0. Dalam instruksi ini register serbaguna R0 digunakan
untuk menyimpan lokasi memori, sehingga instruksi ini memiliki arti, bahwa
memori yang alamatnya tersimpan dalam R0 isinya disalin ke akumulator A.
4. Mode Pengalamatan Register (Register Direct Addressing)
Misalnya : MOV A,R5, instruksi ini memiliki arti bahwa data dalam
register serbaguna R5 disalin ke akumulator A.
5. Mode Pengalamatan Kode Tidak Langsung (Code Inderect Addressing Mode)
Misalnya : MOVC A,@A+DPTR. Dalam instruksi ini 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). Tanda “@” digunakan untuk menandai A+DPTR
yang berfungsi untuk menyatakan lokasi memori yang isinya disalin ke
akumulator A, dalam hal ini nilai yang tersimpan dalam DPTR ditambah dengan
nilai yang tersimpan dalam akumulator A.
14
2.1.4
Set Instruksi
ƒ Instruksi Aritmatika
Instruksi aritmatika merupakan instruksi yang paling mendasar dalam
mikrokontroler, dimana terdiri dari operasi dasar matematis seperti penjumlahan
(ADD), perkalian (MUL), pengurangan (SUB), pembagian (DIV), penambahan 1
isi register (INC) dan pengurangan 1 isi register (DEC).
ƒ Instruksi Logika
Instruksi logika akan melakukan operasi Boolean seperti AND, OR,
exclusive OR dan NOT pada data sepanjang byte atau bit.
ƒ Instruksi Percabangan
Percabangan program digunakan untuk mengontrol jalannya program,
termasuk pemanggilan kembali dari subrutin atau percabangan. Ada tiga variasi
perintah JMP, yaitu :
@. SJMP (short jump) akan mengambil alamat tujuan dengan batas -128 s.d.
+127 byte relatif dari alamat setelah perintah SJMP.
@. AJMP (absolute jump) menggunakan alamat 11 bit, dengan tujuan yang
berada pada blok 2 KiloByte yang sama.
@. LJMP (long jump) menggunakan alamat 16 bit, dimana tujuannya dapat
berada dimana saja pada ROM 64K.
ƒ Instruksi Subrutin
Subrutin merupakan sekumpulan instruksi yang karena berbagai
pertimbangan dipisahkan dari program utama. Bagian-bagian di program utama
akan
memanggil
(CALL)
subrutin,
artinya
mikrokontroler
sementara
meninggalkan aliran program utama untuk mengerjakan instruksi-instruksi dalam
15
subrutin. Setelah selesai mengerjakan sub rutin, mikrokontroler akan mengerjakan
kembali program utama3. Intruksi subrutin terbagai menjadi dua, yaitu :
ƒ ACALL (Absolut Call)
Instruksi ini akan melakukan lompatan ke suatu subrutin yang berada di area
sebesar 2 KiloByte.
ƒ LCALL (Long Call)
Instruksi ini akan melakukan lompatan ke suatu subrutin yang berada di area
sebesar 16 KiloByte.
2.1.5
Operasi Timer
AT89S51 memiliki dua buah timer, yaitu timer 0 dan timer 1 yang
keduanya dapat berfungsi sebagai counter ataupun timer. Jika timer mempunyai
sumber clock dari frekuensi tertentu yang sudah pasti, sedangkan counter
mendapat sumber clock dari pulsa yang hendak dihitung jumlahnya. Aplikasi dari
counter atau penghitung biasa digunakan untuk aplikasi menghitung
jumlah
kejadian yang terjadi dalam periode tertentu sedangkan timer atau pewaktu biasa
digunakan untuk aplikasi menghitung lamanya suatu kejadian yang terjadi.
Kedua timer tersebut masing-masing memiliki 16 bit counter yang dapat
diatur keaktifan maupun mode operasinya, direset dan diset dengan harga tertentu.
Tabel 2.3 di bawah ini akan menjelaskan special function register untuk timer.
3
Ibid., hal. 58
16
Tabel 2.3. Daftar SFR Untuk Timer
Nama SFR
Keterangan
Alamat
TH0
Timer 0 High Byte
8Ch
TL0
Timer 0 Low Byte
8Ah
TH1
Timer 1 High Byte
8Dh
TL1
Timer 1 Low Byte
8Bh
TCON
Timer Control
88h
TMOD
Timer Mode
89h
1. THx/TLx
Timer 0 memiliki dua macam SFR yang eksklusif bagi dirinya sendiri,
yaitu TH0 dan TL0 yang membentuk harga aktual dari timer. Misalnya timer 0
berharga 0ECD hexadesimal, maka TH0 akan berisi 0E heksadesimal sedangkan
TL0 akan berisi CD hexadesimal.
Timer 1 identik dengan Timer 0 kecuali bahwa SFR eksklusif yang
dimilikinya adalah TH1 dan TL1. Dan karena kedua timer ini memiliki kapasitas
dua byte, maka harga maksimum yang bisa ditampung adalah 65.535 desimal.
Dengan demikian, apabila timer telah melampaui harga 65.535, maka dia akan
overflow dan kemudian kembali ke harga awal 0.
17
2. TCON (Timer Control)
SFR ini mengontrol kedua timer dan menyediakan informasi yang sangat
berguna berkaitan dengan timer-timer tersebut. Struktur SFR TCON dapat dilihat
pada tabel 2.4.
Tabel 2.4. Bit-bit SFR TCON
Bit
Nama
Alamat
7
TF1
8Fh
Fungsi
Timer
Timer 1 Overflow. Bit ini diset oleh
1
mikrokontroler jika Timer 1 overflow
Timer 1 Run. Jika bit ini diset maka
6
TR1
8Eh
Timer 1 akan bekerja. Sebaliknya jika
1
direset maka Timer 1 akan mati.
Timer 0 Overflow. Bit ini diset oleh
5
TF0
8Dh
0
mikrokontroler jika Timer 0 overflow
Timer 0 Run. Jika bit ini diset maka
4
TR0
8Ch
Timer 0 akan bekerja. Sebaliknya jika
0
direset maka Timer 1 akan mati.
Dalam tabel hanya dicantumkan 4 bit dari 8 bit yang ada pada SFR TCON.
Hal ini karena hanya 4 bit (bit 4 hingga bit 7) yang berkaitan dengan timer,
sedangkan bit sisanya berkaitan dengan interupsi. Untuk mengeset atau mereset
bit-bit SFR tidak perlu dengan memberikan nilai 8 bit. Bit-bit SFR bisa dialamati
per bit. Dengan demikian perubahan satu atau beberapa bit tidak akan
mengganggu status bit-bit yang lain.
18
3. TMOD (Timer Mode)
SFR TMOD digunakan untuk mengontrol mode operasi dari kedua timer.
Setiap bit dari SFR ini menyediakan informasi bagi mikrokontroler bagaimana
menjalankan timer. Empat bit orde tinggi (bit 4 hingga bit 7) berhubungan dengan
timer 1, sedangkan empat bit orde bawah (bit 0 hingga bit 3) mempunyai fungsi
sama yang diperuntukkan bagi timer 0.
Tabel 2.5. Daftar Bit SFR TMOD
Bit
Nama
Fungsi
Timer
Jika bit ini diset, timer hanya akan bekerja jika INT1
7
GATE 1
(P3.3) berlogika 1. Jika bit ini dinolkan, timer akan bekerja
1
tanpa dipengaruhi kondisi INT1
Jika bit ini diset, timer akan menghitung kondisi pada T1
6
C/T1
(P3.5). Jika bit ini dinolkan, timer akan bertambah satu
1
setiap siklus mesin
5
T1M1
Bit mode timer
1
4
T1M0
Bit mode timer
1
Jika bit ini diset, timer hanya akan bekerja jika INT0
3
GATE 0
(P3.2) berlogika 1. Jika bit ini dinolkan, timer akan bekerja
0
tanpa dipengaruhi kondisi INT0
Bit
Nama
Fungsi
Timer
Jika bit ini diset, timer akan menghitung kondisi pada T0
2
C/T0
(P3.4). Jika bit ini dinolkan, timer akan bertambah satu
0
setiap siklus mesin
1
T0M1
Bit mode timer
0
0
T0M0
Bit mode timer
0
19
Seperti terlihat pada tabel di atas, ada 4 bit yang menyatakan mode untuk
kedua timer. Masing-masing dua bit untuk satu timer. Adapun mode operasi yang
dimaksud di sini adalah sebagaimana tercantum dalam tabel di bawah ini.
Tabel 2.6. Mode Operasi Timer
TxM1
TxM0
Mode Timer
Keterangan
0
0
0
Timer 13 bit
0
1
1
Timer 16 bit
1
0
2
8 bit auto reload
1
1
3
Mode timer split
Mode Timer 13 bit (Mode 0)
Dalam mode 0, timer yang dibentuk adalah timer 13 bit. Mode ini
digunakan untuk menjaga kompatibilitas pendahulu keluarga 8051, yaitu generasi
8048. Pada saat ini timer 13 bit sudah jarang digunakan. Saat timer diset sebagai
timer 13 bit, TLx akan mencacah dari 0 hingga 31. Jika TLx melebihi 31, maka
dia akan reset ke harga awal 0 dan kemudian menambah harga THx. Dengan
demikian, hanya 13 bit dari dua byte yang digunakan, yaitu bit 0-4 dari TLx dan
bit 0-7 dari THx. Sehingga maksimum harga yang dapat dicapai adalah 8.192.
Sehingga jika timer diset dalam mode ini, dia akan menjadi nol setelah 8.192
siklus mesin.
20
Mode Timer 16 Bit (Mode 1)
Timer mode 1 adalah timer 16 bit. Mode ini adalah mode yang paling
umum digunakan. Fungsinya sama dengan timer 13 bit, namun yang
didayagunakan adalah 16 bit. TLx akan mencacah dari 0 hingga 255. Jika TLx
melebihi 255, dia akan reset menjadi 0 dan menambah THx dengan 1. Karena
kemampuan 16 bit, maka mode ini memiliki batas maksimum harga 65.535.
Sehingga jika timer diset dalam mode ini, dia akan menjadi nol setelah 65.535
siklus mesin.
Mode Timer 8-Bit Auto Reload (Mode 2)
Timer mode 2 adalah timer 8 bit dengan kemampuan pengisian ulang
(auto reload). Dalam mode ini, THx akan menyimpan harga awal counter dan
TLx berfungsi sebagai timer 8-bit. TLx akan memulai mencacah dengan harga
yang tersimpan pada THx, dan jika telah melampaui harga 255, dia akan reset dan
kembali ke harga awal yang tersimpan di THx.
Mode Timer Split (Mode 3)
Timer mode 3 adalah mode timer split. Jika Timer 0 diset dalam mode 3,
dia akan menjadi dua timer 8 bit yang berbeda. Timer 0 adalah TL0 dan Timer 1
adalah TH0. Kedua-duanya akan mencacah dari 0 hingga 255 dan jika menemui
kondisi overflow akan reset ke nol. Saat Timer 0 dalam mode split, Timer 1 bisa
diset pada mode 0, 1, atau bahkan 2 secara normal. Mode ini hanya dipakai jika
diperlukan dua timer 8 bit yang terpisah.
21
Timer Sebagai Counter
Kondisi ini digunakan untuk aplikasi menghitung jumlah kejadian yang
terjadi dalam periode tertentu. Sebagai contoh, sebuah sensor digunakan untuk
menghitung jumlah barang yang masuk. Setiap sensor mendeteksi barang yang
masuk maka dia akan mengirim pulsa ke mikrokontroler untuk diproses. Jika
ingin menggunakan timer sebagai counter, maka bit C/T harus diset sehingga
timer akan memonitor input.
2.2
Motor DC
Motor merupakan sebuah sistem penggerak atau aktuator yang mengubah
besaran yang berupa tegangan menjadi sistem gerak mekanis. Sedangkan yang
mengubah dari sistem gerak mekanik menjadi tegangan adalah generator DC.
Prinsip-prinsip kerja dari motor DC seperti pada operasi kemagnetan dasar,
dimana polaritas arus yang mengalir melalui kawat lilitan akan menentukan
tempat kutub magnetik utara dan selatan pada kawat lilitan. Prinsip penting
lainnya meliputi nilai arus yang mengalir melalui lilitan. Pada motor dc, nilai arus
pada lilitan akan menentukan nilai torsi dan kecepatan tangkai motor (rpm). Dan
itu berbeda dengan generator dc dimana mempunyai fungsi yang berkebalikan
dengan motor dc. Motor dc memiliki beberapa jenis konfigurasi untuk windings
(coil) pada rotor dan armature, yakni : Motor seri, Motor shunt, dan Motor
gabungan. Motor seri dibuat untuk memindahkan beban dengan torsi awal yang
tinggi. Motor shunt dibuat berbeda karena biasanya digunakan untuk
memompakan suatu cairan, sehingga diperlukan suatu kecepatan yang konstan.
22
Dan motor gabungan digunakan untuk torsi awal yang tinggi dan pengontrolan
dalam pengaturan kecepatan.
SF
A
SR
A
(A)
(B)
Gambar 2.3. (A). Konfigurasi Motor Seri, (B). konfigurasi Motor Shunt
SR
SR
SF
A
(A)
SF
A
(B)
Gambar. 2.4. Konfigurasi Motor Gabungan (A). Short Shunt, (B) Long Shunt
2.2.1
Fungsi Dasar Motor DC
Motor DC digunakan sebagai penggerak dasar dari robot pembagi brosur
ini yang merupakan bagian utama dari robot sehingga robot dapat berjalan maju
atau mindur dan juga naik atau turun.
23
2.2.2
Arsitektur
Motor pada umumnya memiliki dua elemen atau bagian yang
menyebabkan motor tersebut dapat berputar, yakni bagian yang diam (stator) dan
bagian yang bergerak (rotor). Adapun istilah-istilah bagian motor sehingga
membentuk rotor dan stator yaitu :
1.
Kerangka motor.
Kerangka Motor adalah badan luar yang digunakan sebagai penutup mesin,
terbuat dari besi tuang dan berguna untuk menyokong kutub magnet serta
melindungi bagian dalam dari mesin.
2.
Kutub magnet.
Kutub magnet berguna untuk memperlebar fluksi magnet sehingga mampu
mencakup daerah celah udara menuju inti jangkar pada stator secara
optimal.
3.
Sikat atau Brush.
Sikat mempunyai fungsi untuk mengalirkan arus ke kumparan jangkar
melalui komutator.
4.
Komutator.
Komutator mempunyai fungsi sebagai penyearah gelombang penuh dari
gelombang arus bolak–balik dari sumber motor. Kemudian keluaran
komutator disearahkan menjadi arus searah melalui sikat.
5.
Jangkar.
Biasanya berguna untuk tempat lilitan.
24
6.
Kumparan jangkar.
Kumparan jangkar adalah tempat terjadinya interaksi arus pada kumparan
jangkar dengan medan magnet yang membangkitkan suatu gaya gerak
listrik (ggl) lawan yang menyebabkan adanya torsi pada poros rotor.
a
b
S
U
c
d
e
a: Kerangka Motor
b: Kumparan Jangkar
c: Komutator
d: Armature (jangkar)
e: Kutub Magnet
Gambar 2.5. Kontruksi sederhana motor dc4
2.2.3
Rumus dasar
Untuk memahami spesifikasi dan karateristik dari motor DC yang kita
inginkan maka perlu diperhatikan hubungan-hubungan persamaan secara
matematis untuk mendapatkan suatu karateristik yang elektromekanis dari sebuah
motor DC dengan jelas. Torsi yang dihasilkan pada magnet permanen motor dc
adalah sebanding dengan arus armatur Ia, jika konsep dari konstanta torsi
diinisialisasikan sebagai KT, maka hubungan persamaannya seperti di bawah ini:
T = KT.Ia
Dimana :
………….………………….
T
= Torsi (Nm)
KT
= Konstanta Torsi
Ia
= Arus armatur pada motor
(2-1)
Selain itu untuk dapat menghitung tegangan yang dapat dihasilkan di dalam
motor, diberikan persamaan:
4
G. Yantian (Otomatisasi Robot Industri), hal 130
25
E = KE. ω
……………………………..(2-2)
Dimana : KE = Konstanta ggl
ω = Kecepatan Anguler (Rpm)
Konstanta torsi dan konstanta ggl yang berlawanan merupakan parameter
yang sangat penting dan selalu diberikan pada spesifikasi motor. Dengan
mengunakan kedua persamaan di atas, maka dapat ditentukan hubungan antara
torsi dengan kecepatan. Dalam rangkaian ekuivalen kita telah menggambarkan
bentuk dasar dari motor DC secara ideal. Dengan menggunakan rangkaian
tersebut, maka dapat ditentukan hubungan torsi-kecepatan dan rasio dari daya
hilang ke daya efektif. Torsi yang digunakan merupakan tegangan pada baterai
atau sumber tegangan dikurangi dengan tegangan GGL yang berlawanan dimana
tegangan yang berlawanan tersebut adalah tegangan yang diberikan oleh resistansi
motor. Pada bagian lain, tegangan jatuh sama dengan resistansi Ra dikalikan
dengan arus Ia. Dengan persamaan:
V – E = Ra Ia
……………………
(2-3)
Maka kita dapat menentukan :
Ia =
V − E
Ra
……………………
(2-4)
Menggunakan persamaan 2-1, besarnya torsi dapat ditentukan dengan persamaan :
T=
KT
× (V − E)
Ra
…………….....
(2-5)
Dengan menukar persamaan 2-2 kedalam persamaan diatas, maka didapat :
26
Τ=
Dimana :
KT
× (V − E.ω)
Ra
………....
(2-6)
T = Torsi (Nm)
KT = Konstanta torsi
Ra = Hambatan armature (Ohm)
V = Tegangan yang diberikan ke motor (V)
E = ggl pada motor (V)
Ra
Ia
M
V
B ack em f
Gambar 2.6 Rangkaian ekivalen dari motor DC5
Jika kita menentukan hubungan antara torsi dan kecepatan untuk tegangan
yang berbeda (Contoh : 1,5V; 3V; 4,5V atau lainnya), maka hasilnya akan
sama seperti yang ditunjukkan pada gambar 2.7. Untuk nilai tegangan yang
lain ditampilkan dengan garis pararel dan dari grafik tersebut dapat kita lihat.
1. Torsi awal, yaitu torsi pada saat kecepatan nol adalah sebanding dengan
tegangan baterai
2. Kecepatan tanpa beban atau kecepatan pada waktu motor tidak membawa
beban adalah selalu sebanding dengan tegangan baterai
3. Pertambahan torsi dengan kecepatan dan kemiringan adalah KTKE / Ra,
kecepatan tetap, tegangan yang diberikan, dan torsi.
5
Ibid, hal 133
27
T o rs i (N m )
V 2
K T. K E
R a
S lo p e =
V 1
B
A
K e c e p a ta n p u ta ra n (rp m )
Gambar 2.7. Hubungan antara torsi dan kecepatan
motor DC dengan magnet permanen.6
2.3
Sensor Ultrasonik
Sensor ultrasonik adalah sensor yang bekerja berdasarkan prinsip pantulan
gelombang suara, dimana sensor ini menghasilkan gelombang suara yang
kemudian menangkapnya kembali dengan perbedaan waktu sebagai dasar
penginderaannya. Perbedaan waktu antara gelombang suara yang dipancarkan
dengan gelombang suara ditangkap kembali tersebut adalah berbanding lurus
dengan jarak atau tinggi objek yang memantulkannya. Pemancar gelombang
ultrasonik disusun oleh sebuah transduser ultrasonic yang diberi gelombang kotak
dengan frekuensi sekitar 40 kHz. Jenis objek yang dapat diindera diantaranya
6
adalah: objek padat, cair, butiran maupun tekstil .
Gambar 2.8. Gambar sensor ultrasonik
6
www.innovativeelectronics.com
28
Objek
Gambar 2.9. Prinsip kerja sensor ultrasonik
2.4
Dioda Infra Merah
Dioda infra merah merupakan piranti semikonduktor terdiri atas
pertemuan semikonduktor dimana arus gaya sinar merah infra dibangkitkan secara
non termik bila arus mengalir karena terjangkit oleh tegangan yang dikenakan.
Infra merah terbuat dari bahan Arsenida Gallium atau Fosfida Gallium (GaAs
atau GaP) dan ditempatkan dalam suatu wadah yang tembus pandang. Dilihat dari
bentuknya LED banyak macamnya, tetapi cahaya yang dipancarkan infra merah
berbeda dengan LED yang berwarna-warni, cahayanya berupa kasat mata (tak
tampak). Untuk membedakan antara kaki katoda dan anodanya dapat dilihat dari
bentuk elektrodanya, yang besar adalah kaki katoda.
Sinar infra merah memiliki karakteristik yang dapat memberikan
keuntungan dalam kapasitasnya sebagai elemen pemancar, karena infra merah
memiliki sifat pancaran menyebar, lurus dan memantul. Sehingga dalam
pemanfaatannya sebagai alat pengendali pancaran infra merah tidak harus
diarahkan lurus terhadap penerima. Selain itu infra merah tidak berinterferensi
dengan frekuensi lain, oleh karenanya infra merah tidak akan mengganggu alat
yang akan dikendalikan. LED infra merah akan menghantar apabila dialiri bias
29
maju, dan secara fisik LED infra merah menempati suatu wadah yang tembus
pandang. Tegangan kerja LED infra merah berkisar 1,6 volt sampai dengan 2,4
volt. LED infra merah termasuk komponen semikonduktor opto-elektronik, yaitu
komponen memancarkan cahaya yang tidak terlihat.
Frekuensi yang dihasilkan oleh infra merah, sebanding dengan perubahan
arus dan tegangan panjar yang melaluinya. Energi yang dipancarkan (W) adalah
sebesar frekuensi (f) dikalikan denga konstanta Planck (h) = 6,626 x 10-34 joule
detik :
W=hxf
Gambar 2.10. (a) Simbol infra merah; (b) Penampang LED; dan (c) Tampak atas
dengan melihat ke permukaan cahaya.
Untuk mengetahui prinsip kerja infra merah dapat digunakan rangkaian
pemancar infra merah dan penerima menggunakan phototransistor. Dalam
keadaan terbuka (OFF) pemancar tidak menghasilkan berkas sinar infra merah.
Ketika saklar tertutup (ON), maka LED tersebut mendapat bias maju yang
mengakibatkan LED memancarkan berkas infra merah. Berkas sinar tersebut
diterima oleh phototransistor sesuai dengan energi foton dan arus pada
phototransistor yang menghantar. Energi tersebut sebanding dengan perubahan
arus dan tegangan pada LED infra merah.
30
Vcc
saklar
Vcc
output
Pemancar
Penerima
Gambar 2.11. Prinsip kerja infra merah
2.5
Foto Dioda
Foto dioda adalah suatu dioda yang arus reverse-nya berubah bila
mendapat penyinaran. Prinsip kerja dari photo diode adalah apabila sebuah dioda
diberi reverse bias, maka akan mengalir arus yang kecil sekali yang disebut arus
reverse melalui dioda tersebut, besarnya arus reverse ini tergantung suhu dan
intensitas cahaya yang jatuh pada deplection layer-nya. Oleh karena itu, dioda ini
harus bisa tembus cahaya agar cahaya dapat mencapai deplection layer-nya
sehingga terjadi arus reverse yang besarnya tergantung intensitas cahaya yang
menyinarinya.
Apabila photo diode mendapatkan cahaya, ini menyebabkan timbulnya arus
balik I2. Dengan menambahkan tegangan-tegangan melingkari simpal keluaran
diperoleh :
Vout – V2 + I2 . R2 = 0; atau
Vout = V2 – I2 . R2
Sebuah photo diode, biasanya mempunyai karakteristik yang lebih baik
daripada photo transistor dalam responnya terhadap cahaya infra merah. Sebuah
photodioda biasanya dikemas dengan plastik transparan (sebagian photodioda ada
31
yang dikemas dalam warna hitam) yang juga berfungsi sebagai lensa fresnel.
Lensa ini merupakan lensa cembung yang mempunyai sifat mengumpulkan
cahaya. Lensa ini juga merupakan filter cahaya, lebih dikenal sebagai optical
filter, yang hanya melewatkan cahaya infra merah. Walaupun demikian cahaya
nampakpun masih bisa mengganggu kerja dari photo diode karena tidak semua
cahaya nampak bisa difilter dengan baik. Oleh karena itu penerima infra merah
harus mempunyai filter kedua yang berfungsi untuk memfilter sinyal berfrekuensi
tinggi, sekitar 30 kHz sampai 40 kHz yang dihasilkan dari pemancar infra merah.
Faktor lain yang juga berpengaruh pada kemampuan penerima infra merah
adalah active area dan respon waktu. Semakin besar area penerimaan suatu dioda
infra merah maka semakin besar pula intensitas cahaya yang dikumpulkan
sehingga arus bocor yang diharapkan pada teknik bias terbalik semakin besar.
Selain itu semakin besar area penerimaan maka sudut penerimaannya juga
semakin besar. Kelemahan area penerimaan yang semakin besar adalah derau
(noise) yang dihasilkan juga besar pula. Hal ini berlaku pula pada respon
waktunya terhadap sinyal frekuensi yang berbanding terbalik pada besarnya area
penerimaan.
Gambar 2.12. (a) Simbol foto dioda; (b) Rangkaian Foto Dioda
32
2.6
IC Pewaktu 555
IC pewaktu 555 banyak digunakan sebagai osilator, pembangkit pulsa,
pembangkit
tanjakan,
monitor-monitor
tegangan,
time
delay,
one-shot
multivibrator, dan banyak lagi.
IC ini banyak digunakan sebagai multivibrator monostabil dan
multivibrator astabil yang memiliki sifat-sifat:
1. Waktu mati (off) kurang dari 12 μs.
2. Pewaktu (timing) dari mikrodetik (μs) hingga jam.
3. Arus keluaran tinggi.
4. Daur aktif (duty cycle) dapat diatur.
5. Kemantapan suhu 0,005 %/ 0C
Gambar 2.13. Kemasan dan konfigurasi pin-pin IC pewaktu 555
33
Gambar 2.14. Digram blok rangkaian dalam IC 555
IC pewaktu 555 mempunyai dua kemasan, yaitu kemasan metal-can
(Biasa disebut T) dan kemasan 8 pin (DIP ‘V’), seperti terlihat pada gambar10.
Pada gambar 2.14. terlihat diagram blok dari IC pewaktu 555, merupakan
rangkaian ekuivalen dari lebih 20 transistor, 15 resistor dan 2 dioda. Rangkaian
ekuivalen dalam blok diagram memberikan fungsi kontrol, penyulutan, level
sensing atau comparison, discharge, dan power output.
Output IC pewaktu 555 pada pin 3 mempunyai arus maksimum 200 mA
karena output memakai konfigurasi totem pole. Bila tegangan output tinggi ( ± =
Vcc) maka discharge transistor tidak bekerja atau tegangan output tegangan
discharge transistor juga tinggi, dan sebaliknya.
Pada saat timer bekerja sebagai one-shot multivibrator , tegangan
outputnya rendah sampai sebuah pulsa pemicu diberikan ke timer tersebut, maka
outputnya menjadi tinggi. Lamanya waktu output tinggi ditentukan oleh nilai
34
tahanan dan kapasitor yang dihubungkan ke IC Timer. Pada akhir selang waktu,
output berubah menjadi rendah kembali.
Terminal-terminal (Pin-pin) IC 555
1. Pin 1 (Ground)
Pin ini merupakan potensial negatif dari IC 555, pin ini umumnya
dipasang ke common pada rangkaian saat dioperasikan dari tegangan supply
positif.
2. Pin 2 (Trigger/Pemicu)
Pin ini merupakan input bagi lower comparator dan digunakan untuk
mengatur latch, bila berubah dapat menyebabkan output menjadi tinggi. Pemicuan
dikerjakan dengan memberikan level dari atas ke bawah sebesar 1/3 Vcc.
3. Pin 3 (Output/Keluaran)
a. Output rendah
b. Output tinggi
Gambar 2.15. Kondisi pin 3 IC 555
Output dari IC ini berasal dari high-current totem-pole stage yang dibuat
dari lima buah transistor. Pin 3 bisa menjadi sumber arus atau penerima arus.
Sebuah beban supply ambang akan hidup bila output rendah dan mati bila output
35
tinggi. Sebuah beban terground akan hidup bila keluaran rendah atau dapat
diilustrasikan pada gambar 2.15.
4. Pin 4 (Reset)
Pin ini digunakan untuk mereset latch dan mengembalikan output pada
keadaan low atau sama dengan potensial ground. Untuk mereset keluarannya
membutuhkan tegangan ambang sebesar 0,7 V dan arus sebesar 0,1 mA. Bila
tidak digunakan maka sebaiknya input reset (pin 4) dihubungkan ke Vcc untuk
menghindari terjadinya kesalahan dalam mereset.
5. Pin 5 (Control Voltage/Pengendali Tegangan)
Pin ini mengijinkan hubungan langsung ke 2/3 Vcc pembagi tegangan, hal
ini merupakan referensi untuk upper comparator. Pin 5 dapat tidak digunakan tapi
disarankan untuk memasang kapasitor sebesar 0,01 μF sebagai bypass ke ground
untuk menghilangkan ripple dari tegangan supply.
6. Pin 6 (Threshold/Ambang)
Pin ini merupakan salah satu input ke upper comparator dan digunakan
untuk mereset latch yang mengakibatkan keluaran menjadi rendah. Mereset
melalui pin ini dilakukan dengan memberikan tegangan sebesar 2/3 Vcc.
7. Pin 7 (Discharge/Pengosongan)
Pin ini dihubungkan ke open kolektor transistor NPN (T1). Sedangkan
kaki emiter terhubung ke ground sehingga saat transistor aktif maka Pin 7
terhubung ke ground. Umumnya kapasitor dipasang di antara pin 7 dan ground
dan akan pengosongan terjadi pada saat transistor aktif (gambar 13.a). Saat
transistor tidak aktif, maka pin 7 bekerja sebagai hubungan terbuka dan
memungkinkan kapasitor mengisi muatannya atau dapat diilustrasikan pada
36
gambar 2.16b. Kondisi transistor ini sama dengan timing pada bagian output.
Transistor aktif pada saat output low dan tidak aktif pada saat output high. Pada
aplikasi tertentu, output open kolektor ini dapat digunakan sebagai pembantu
terminal output.
a. Output rendah
b. Output tinggi dan C sedang mengisi
Gambar 2.16. Kondisi pin 7 IC 555
8. Pin 8 (+Vcc)
Pin ini merupakan terminal positif tegangan supply dari IC 555. Tegangan kerja
dari IC ini berkisar antara 4,5 V sampai dengan 16 V. IC ini akan bekerja tanpa
merubah perioda waktunya walaupun pada tegangan yang berbeda.
2.7
Driver Motor IC L293D
L293D merupakan IC yang berfungsi sebagai power driver motor DC
yang memiliki empat buah driver dengan konfigurasi setengah H bridge
(jembatan H). L293D didesain untuk menyediakan driver arus bidirectional
sampai 600mA pada tegangan 4,5 volt sampai 36 volt.
37
Sebuah IC L293D berisi empat buah push-pull. Setiap dua buah push-pull
dapat digunakan sebagai sebuah untai H-bridge dan dapat diaktifkan dengan
sebuah sinyal enable.
Gambar 2.17. Driver motor L293D
2.8
Penguat Transistor
Transistor adalah sebuah komponen aktif yang telah kita kenal baik
sebagai penguat, sumber arus maupun sebagai switch/saklar. Transistor
mempunyai tiga buah terminal yaitu basis sebagai terminal penyulut, emitor
sebagai pengemisi elektron ke dalam basis dan kolektor sebagai pengumpul atau
penangkap elektron dari basis. Transistor dibagi menjadi 2 jenis, yaitu NPN dan
PNP yang dibedakan berdasarkan pemberian polaritas untuk mengaktifkannya.
1. Transistor jenis NPN :
a. Kolektor mendapat tegangan lebih positif dari emitor.
b. Basis mendapat tegangan lebih posistif dari emitor.
c. Kolektor mendapat tegangan lebih positif dari basis.
38
2. Transistor jenis PNP :
a. Kolektor mendapat tegangan lebih negatif dari emitor.
b. Basis mendapat tegangan lebih negatif dari emitor.
c. Kolektor mendapat tegangan lebih negatif dari basis.
Rangkaian penguat yang dibuat dengan menggunakan transistor ini
difungsikan untuk menguatkan sinyal yang diterima transduser ultrasonik.dan
tranduser mic condenser (ECM). Transistor sebagai penguat dapat dibuat dengan
memberikan bias pada transistor. Pemberian bias pada transistor ada beberapa
macam yaitu bias basis, bias pembagi tegangan, bias umpan balik kolektor, bias
emiter, dan lain-lain. Namun pembahasan berikut mengenai bias pembagi
tegangan, karena penguat transistor yang digunakan yaitu penguat dengan bias
pembagi tegangan
Gambar 2.18 menunjukkan rangkaian bias pembagi tegangan. Nama
pembagi tegangan berasal dari pembagi tegangan yang dibentuk oleh R1 dan R2.
tegangan pada R2 membias forward dioda emiter dan catu VCC membias reverse
dioda kolektor.
+ VCC
R2
R1
RC
+
V2 RE
─
+
VCE
─
+
VE
─
Gambar 2.18. Bias pembagi tegangan
1) Arus Emiter
Rangkaian bias pembagi tegangan bekerja sebagai berikut: arus basis dalam
gambar 2.18 kecil sekali dibandingkan dengan arus dalam R1 dan R2. Akibatnya
39
dapat digunakan teorema pembagi tegangan untuk mendapatkan tegangan pada R2
R2
× Vcc ………………...……. (2-6)
R1 + R2
V2 ≅
Hukum tegangan Kirchoff memberikan:
VE = V2 – VBE
…………………………... (2-7)
Ini menyatakan bahwa tegangan resistor emitor sama dengan tegangan pada
R2 dikurangi dengan jatuh tengangan VBE, karena itu arus emitor adalah:
IE =
V2 − V BE
........................................... (2-8)
RE
2) Tegangan Kolektor-Emiter
Tegangan kolektor ke tanah VC sama dengan tegangan catu dikurangi jatuh
tegangan pada resistor kolektor:
VC = VCC – ICRC .…………………… (2-9)
Tegangan emiter ke tanah adalah:
VE = IERE ………………………. (2-10)
Tegangan kolektor ke emiter adalah:
VCE = VC – VE = VCC – ICRC –IERE …………… (2-11)
atau
VCE ≅ VCC – IC(RC + RE) …….……….. (2-12)
karena IC dan IE hampir sama.
Jika dalam gambar 26 arus kolektor yang mengalir terlalu banyak, transistor
menuju ke penjenuhan. Secara ideal ini berarti suatu hubungan singkat antara
terminal kolektor-emiter, dengan arus penjenuhan sebesar:
I C ( sat ) ≅
VCC
RC + R E
……………… (2-13)
40
Sebaliknya jika transistor beroperasi dalam daerah titik sumbat (cut off),
maka tidak ada arus kolektor yang mengalir, dan semua tegangan catu muncul
pada terminal kolektor-emiter:
VCE(cutoff) = VCC ………………………… (2-14)
Karena itu garis beban dc melewati perpotongan vertical sebesar VCC/(RC +
RE) melalui perpotongan horizontal pada VCC. Titik Q (quiescent–stationer) akan
terletak pada garis beban ini.
2.9
Penguat Op-Amp (Operational Amplifier)
Op-Amp adalah peranti solid stade yang mampu mengindera dan
memperkuat sinyal masukan baik DC maupun AC. Op-amp IC yang khas terdiri
atas tiga rangkaian dasar, yakni penguat diferensial impedansi masukan tinggi,
penguat tegangan penguatan tinggi, dan penguat keluaran impedansi rendah
(biasanya pengikut emitter push-pull).
Keserbagunaan op-amp dibuktikan dalam penerapannya pada berbagai tipe
rangkaian,
misalnya penerapan op-amp sebagai pembanding (comparator).
Pembanding op-amp dipakai untuk menjepit level tegangan DC keluaran tinggi
dengan tegangan kontrol DC yang lebih rendah. Tegangan kontrol masukan bisa
positif maupun negatif, tegangan ini akan menjepit keluaran pada nol atau pada
level positif atau negatif.
Gambar 2.19. Simbol skematis op-amp
41
Pada gambar 2.19 terlihat ada masukan (-) atau masukan membalik dan masukan
(+) atau masukan tak membalik adalah merupakan hubungan kutub masukan
terhadap keluaran. Hubungan polaritas masukan terhadap keluaran dikatakan bila
masukan membalik lebih positif dibandingkan dengan masukan tak membalik,
maka keluaran akan negatif. Demikian pula, jika masukan membalik lebih negatif
dibandingkan dengan masukan tak membalik, maka keluaran akan positif.
2.10
PWM (Pulse Width Modulation)
Pengontrolan kecepatan motor DC ini dapat dilakukan dengan
memberikan tegangan yang berbeda-beda. Pada suatu kondisi catu daya yang
konstan, pemberian tegangan tersebut akan mengakibatkan motor dapat berputar
dengan kecepatan yang konstan. Hal ini dapat dilakukan dengan menserikan
motor DC tersebut terhadap tahanan variabel. Proses pengontrolan dengan cara ini
sangatlah tidak efektif dan efisien, karena dengan begitu akan banyak daya yang
terbuang pada variabel resistor tersebut.
Salah satu cara yang baik untuk pengaturan untuk pengaturan motor DC
ini adalah dengan menggunakan metode pensaklaran lebar pulsa yang dapat
dimodulasi. PWM merupakan suatu teknik pensaklaran yang banyak digunakan
untuk mengontrol alat atau untuk menyediakan tegangan variabel DC pada catu
daya.
PWM adalah sinyal dengan frekuensi tetap dan waktu variabel on dan off.
Dengan kata lain, periode sinyal tetap konstan, tetapi jumlah waktu sinyal tetap
tinggi dan rendah dapat dibedakan dengan periode. Duty cycle adalah rasio pada
waktu (t1) ke periode total (T = t1 + t2). PWM adalah teknik yang digunakan untuk
42
mengontrol alat atau untuk menyediakan tegangan variabel DC sesuai dengan
rumus:
Vdc =
t1
Vcc
T
………………………… (2-15)
Gambar 2.12 di bawah mengilustrasikan gelombang kotak. Di dalam
suatu sistem PWM, sebuah pulsa segiempat dibangkitkan untuk mensaklar
transistor sehingga dalam kondisi on atau off. Jika kita memvariasikan lebar pulsa
yang dihasilkan, maka waktu konduksi dari transistor tersebut akan berubah-ubah
semakin besar atau semakin kecil. Kondisi konduksi transistor ini akan mengatur
tegangan output yang akan diterima oleh motor DC. Ketika diperlihatkan sinyal
PWM, duty cycle-nya adalah 50%. Dengan kata lain, ini adalah setengah dari
tegangan (V)
waktu.
t1
t2
waktu (s)
T
Gambar 2.20. Sinyal PWM dengan duty cycle 50%
Gambar selanjutnya adalah sinyal PWM lain. Duty cycle-nya sebesar
10%. Dengan membedakan duty-cycle, output tegangan rata-rata DC dapat
dikontrol. Contohnya, sinyal PWM mempunyai amplitude 10 V dan duty cycle
50% dapat menyediakan output rata-rata sebesar 5 V. ketika menaiknya atau
menurunnya duty cycle PWM, output rata-rata menaik atau menurun.
43
tegangan (V)
t1
t2
waktu (s)
T
Gambar 2.21. Sinyal PWM dengan duty cycle 10%
Output yang dapat dikontrol ini sangat berguna di setiap aplikasi.
Contohnya, output ini dapat digunakan untuk mengontrol kecepatan dari motor.
Dengan menaikkan duty cycle, tegangan rata-rata melewati motor dapat dikontrol.
Output dapat juga diumpan melalui jaringan RC, membentuk pengubah digital ke
analog yang sederhana.
44
BAB 3
PERENCANAAN DAN REALISASI
3.1
Perancangan Alat
Seperti umumnya pembuatan alat yang lain, pembuatan robot pembagi
brosur ini dibuat dalam beberapa tahapan, yaitu perancangan blok diagram,
prinsip kerja sistem, perancangan mekanik robot dan penentuan fungsi port.
3.1.1 Blok Diagram Sistem
Secara umum sistem kontrol yang terdapat pada robot pembagi brosur ini
terdapat tiga bagian dasar, yaitu bagian perangkat keras (hardware), perangkat
lunak (software) dan mekanik robot. Sistem sensor menyediakan data bagi
mikrokontroler untuk mengatur jalannya robot. Berikut adalah beberapa jenis dari
sensor yang akan digunakan pada robot ini, antara lain : sensor ultrasonic dan
sensor photo dioda sebagai pendeteksi line.
Secara garis besar, sistem kendali robot ini dapat digambarkan seperti blok
diagram di bawah ini:
SENSOR
ULTRASONIK
SENSOR
CAHAYA
MICRO
CONTROLLER
AT89S51
DRIVE
MOTOR
DRIVE
MOTOR
DRIVE
MOTOR
KOMPARATOR
Gambar 3.1. Blok Diagram Sistem Robot Pembagi Brosur
45
3.1.2 Prinsip Kerja Sistem
Prinsip kerja dari system ini adalah Robot ini bekerja mengikuti jalur,
berjalan sepanjang line tracking. Jika sensor ultrasonic membaca ada subyek yang
menghalanginya, maka robot ini akan berhenti dan leher robot yang membawa
brosur ini akan naik, maka disaat inilah kita dapat mengambil brosur yang
terdapat pada robot.
Gambar 3.2. Gambar Robot Pembagi Brosur
3.1.3 Perancangan Mekanik
Pada bagian mekanik robot pembagi brosur ini dirancang menggunakan
bahan acrylic sebagai dasar untuk penempatan motor DC, sensor, komponen dan
catu daya.
Gambar 3.3. Gambar Robot Tampak Samping
46
Gambar 3.4. Gambar Robot Tampak Belakang
3.1.4 Penentuan Fungsi Port
Penentuan fungsi port pada robot pembagi brosur bertujuan untuk
pembacaan dari sensor-sensor yang bertugas sebagai pembaca lingkungan
disekitarnya. Dengan kata lain program yang dibuat harus ditentukan terlebih
dahulu port-port yang akan digunakan pada mikrokontroler AT89S51. Berikut ini
adalah port-port yang akan digunakan dalam pembuatan alat ini.
a. Port 1
Keluaran port 1 digunakan untuk mengendalikan putaran motor DC. Dimana
setiap putaran motor dikendalikan oleh 2 buah pin dari port 1. Adapun
keluaran data yang digunakan dari mikrokontroler adalah sebagai berikut :
Tabel 3.1 Port 1 yang digunakan sebagai output
P1.7
P1.6
P1.5
P1.4
P1.3
P1.2
P1.1
P1.0
Keterangan
0
0
0
0
0
0
0
1
Motor kanan maju
0
0
0
0
0
0
1
0
Motor kanan mundur
47
0
0
0
0
0
1
0
0
Motor kiri maju
0
0
0
0
1
0
0
0
Motor kiri mundur
0
0
0
1
0
0
0
0
Motor Turun
0
0
1
0
0
0
0
0
Motor naik
b. Port 2
Port 2 digunakan sebagai masukan sensor garis bagi mikrokontroler. Sensor
ini digunakan untuk mendeteksi line disekitar robot. sensor ini akan
memberikan logika low bagi mikrokontroler. Adapun pemberian data pada
mikrokontroler adalah sebagai berikut :
Tabel 3.2 Port 1 yang digunakan sebagai input
P1.7
P1.6
P1.5
P1.4
P1.3
P1.2
P1.1
P1.0
Keterangan
0
1
1
1
1
1
1
1
Sensor Kanan
1
0
1
1
1
1
1
1
Sensot tengah
1
1
0
1
1
1
1
1
Sensor kiri
c. Port 3
P3.5 – P3.7 digunakan sebagai masukan sensor ultrasonik, sensor naik dan
sensor turun. Sensor ini akan memberikan logika high bagi mikrokontroler.
Tabel 3.3 Port 1 yang digunakan sebagai input
P3.7
P3.6
P3.5
P3.4
P3.3
P3.2
P3.1
P3.0
Keterangan
1
0
0
1
1
1
1
1
Sensor ultrasonik
0
1
0
1
1
1
1
1
Sensot turun
0
0
1
1
1
1
1
1
Sensor naik
48
3.2
Perancangan Sistem Elektronik
3.2.1 Rangkaian Single Chip Mikrokontroler
Rangkaian di bawah ini merupakan sistem minimum dari mikrokontroler
yang akan memproses data yang telah di download ke dalam mikrokontroler.
Mikrokontroler akan menerima data dari sensor photo dioda dan ultrasonic,
kemudiian data tersebut akan diproses, dan data yang telah diproses akan
dikeluarkan oleh mikrokontroler untuk menggerakan motor.
AT89S51
1
2
3
4
5
6
7
8
10
11
12
13
14
15
16
17
+5V
10uF
10k
9
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
P0.0
P0.1
P0.2
P0.3
P0.4
P0.5
P0.6
P0.7
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7
P2.0
P2.1
P2.2
P2.3
P2.4
P2.5
P2.6
P2.7
RST
PSEN
ALE/PROG
33pF
39
38
37
36
35
34
33
32
21
22
23
24
25
26
27
28
28
28
12MHz
18
+5V
XTAL1
EA/VPP
19
28
XTAL2
33pF
Gambar 3.5. Rangkaian Single Chip Mikrokontroler AT89S51
3.2.2 Rangkaian Sensor Foto Dioda
Pembacaan garis (line tracking) yaitu dengan menggunakan infra red
sebagai transmitter dan photodiode sebagai receiver. Proses pembacaan sensor
dengan cara mendeteksi garis warna hitam. Sensor ini menggunakan IC LM324
sebagai pembanding antara tegangan referensi dengan tegangan yang terukur pada
49
photodiode. Saat sensor mendeteksi garis hitam maka output pada komparator
akan berlogika ’1’. Kemudian output dari komparator tersebut dinverter dengan
mengunakan IC 7414 sehingga outputnya menjadi logika ‘0’. Berikut ini adalah
rangkaian sensor cahaya menggunakan photo dioda..
.
+5V
1k
220
10k
+
20k
-
To Port 2
LM324
7414
Gambar 3.6. Rangkaian Sensor Pendeteksi Garis
3.2.3 Rangkaian Sensor Ultrasonik
Sensor ultrasinik digunakan sebagai sensor jarak untuk mendeteksi objek
yang ada di samping kiri. Pada rangkaian ultrasonik ini terdapat dua buah
rangkaian, yaitu rangkaian pemancar (Tx) dan rangkaian penerima (Rx). Pada
rangkaian pemancar digunakan IC 555 sebagai osilator atau pembangkit frekuensi
yang akan mengeluarkan gelombang pulsa sekitar 40 kHz.
Pada rangkaian penerima (Rx) sensor ultrasonik akan mendeteksi pantulan
gelombang telah dipancarkan oleh rangkaian pemancar. Setelah sinyal frekuensi
tersebut tertangkap oleh ultrasonik penerima maka sinyal tersebut dikuatkan oleh
rangkaian penguat transistor untuk kemudian sinyal yang telah dikuatkan tersebut
masuk kerangkaian RS flip-flop IC 4011 sebagai pengkondisi sinyal digital.
50
Adapun gambar rangkaian pemancar dan penerima dari sensor ultrasonik
sebagai berikut.
1uf
Gambar 3.7. Rangkaian pemancar sensor ultrasonik
Port 3.0
Gambar 3.8. Rangkaian penerima sensor ultrasonik
51
3.2.4 Rangkaian Driver Motor DC
Pada rangkaian driver motor DC digunakan IC L293D sebagai pengatur
motor roda kiri, roda kanan dan motor penarik. IC L293D ini merupakan IC yang
mampu menghasilkan arus sampai 600mA dan memiliki tegangan input yang
tinggi antara 4,5 – 36 V. Pada penggerak motor DC ini IC driver mendapat input
dari rangkaian pemroses data pada port 0, yang sebelumnya menggunakan buffer
IC 74LS245. IC buffer ini berfungsi sebagai penyangga atau penstabil tegangan,
Rangkaian selengkapnya dapat dilihat pada gambar dibawah ini.
Gambar 3.9. Rangkaian penggerak motor DC
3.3
Perancangan Software
3.3.1 Program 8051 IDE
Dalam pembuatan program robot ini menggunakan software 8051 IDE.
8051 IDE adalah sebuah program yang mengkombinasikan sebuah text editor,
assembler, dan software simulator. Semua komponen yang dibutuhkan untuk
membangun program 8051 ada dan terkendali dalam satu program ini. Anda dapat
mengetik bahasa mesinnya, mengaturnya dan membuat file assemblingnya dalam
bentuk HEX (Intel hex format of the assembled binary code), lalu dapat
52
disimualsikan langsung deprogram 8051 IDE tersebut dan jika terdapat kesalahan
dapat diatur kembali, kemudian direassembled sampai simulasi menunjukan
program itu berjalan sesuai keinginan kita. Selain file HEX 8051 IDE juga
membuat file LST (List file containing line numbers, address, binary code and
source lines of the file being assembled or the total project being built).
Gambar 3.10. Tampilan program 8051 IDE
3.3.2 AEC_ISP
Setelah file HEX hasil assembling di 8051 IDE terbentuk maka langkah
selanjutnya adalah mendownloadnya ke IC mikrokontroler AT89S52, untuk itu
program under DOS berupa AEC_ISP (AEC dari nama pabriknya dan ISP berarti
In System Programming) dijalankan sesuai dengan fungsinya. Filenya berukuran
50 KB jadi cukup kecil dan mudah digunakan tinggal mengeset setupnya lalu beri
aktif high kemudian tulis file HEXnya dan download ke IC mikrokontroler
AT89S52.
53
Gambar 3.11. Tampilan program AEC_ISP
54
BAB 4
PENGUJIAN DAN ANALISA DATA
4.1
Konfigurasi Pengujian
4.1.1
Percobaan Alat
Dalam melakukan percobaan alat robot pembagi brosur ini yaitu dengan
membuat line tracking seperti pada gambar di bawah ini.
100 cm
70 cm
Gambar 4.1 Line tracking
Robot akan berjalan mengikuti line tracking yang telah dibuat, jika sensor
ultrasonik mendeteksi ada objek yang menghalanginya maka leher robot akan
naik kemudian berhenti setelah output sensor naik logik ‘0’. setelah 10 detik, leher
robot akan turun dan berhenti setelah output sensor turun logik ‘1’.
Tinggi robot ini akan naik dari 50 cm menjadi 70 cm seperti terlihat pada
gambar 4.2, maka disaat itulah kita dapat mengambil brosur yang ada di atas robot
tersebut.
70 cm
50 cm
Gambar 4.2 Tinggi robot sebelum dan sesudah naik
55
4.1.2
Konfiguransi Pengujian Tegangan Motor (Vm) dan Arus Motor (Im)
Im
Driver M otor
L293D
+
M
Vm
-
Gambar 4.3 Konfigurasi pengukuran arus dan tegangan motor
4.1.3
Konfigurasi Pengujian Tegangan Sensor (Vs) Cahaya
+5V
1k
220
10k
+
-
20k
LM324
7414
+
Vs
Gambar 4.4 Konfigurasi pengujian rangkaian sensor cahaya
4.2
Daftar Peralatan Pengujian
Tabel 4.1. Daftar peralatan pengujian
Nama Alat Ukur
Merk
Tipe
Simbol
Fungsi
Ammeter
Heles
UX-960TR
I
Untuk mengukur arus
Voltmeter
Heles
UX-960TR
V
Untuk mengukur tegangan
56
4.3
Data Hasil Pengujian
4.3.1
Motor DC
Tabel 4.2 Daftar hasil pegujian tegangan dan arus motor
Simbol
Pengukuran
VM1
6.5 V
Tegangan motor kanan
VM2
6.5 V
Tegangan motor kiri
VM3
12 V
Tegangan motor naik/turun
IM1
22 mA
Arus motor motor kanan
IM2
18 mA
Arus motor kiri
IM3
75 mA
Arus motor naik/turun
4.3.2
Keterangan
Rangkaian Sensor Cahaya
Tabel 4.3 Daftar hasil pegujian tegangan sensor
Kondisi
Tegangan Sensor
Terang
1.0 V
Gelap
4.2 V
4.4
Analisa Data
4.4.1
Analisa Data pada Pengujian Rangkaian Driver Motor
Pengukuran ini dilakukan untuk mengetahui besar tegangan output yang
dihasilkan oleh rangkaian penggerak motor DC, yaitu pada IC L293D. Dari hasil
pengukuran rangkaian penggerak motor DC dapat di lihat pada tabel 4.2.
57
Tabel 4.4 Kondisi Motor ketika X dan Y diberikan Logik
X
Y
Kondisi Motor
Keterangan
0
0
On
Motor mengerem
0
1
Run
Motor berputar searah jarum jam
1
0
Run
Motor
berputar
berlawanan
arah
dengan jarum jam
1
1
Off
Motor tidak berputar
Dari pengukuran diketahui bahwa :
Arus motor kanan (IM1) = 22 mA
Tegangan motor kanan(V M1) = 6.5 Volt
Maka daya motor tersebut adalah
Daya motor (P M1) = Im x Vm
= 22 mA x 6.5 V
= 0.143 Watt
4.4.2
Analisa Data Rangkaian Sensor Cahaya
Pengukuran ini dilakukan untuk mengetahui besar tegangan output yang
dihasilkan oleh rangkaian sensor cahaya dalam kondisi gelap maupun terang. Dari
hasil pengukuran rangkaian sensor cahaya di dapat besar tegangan output dalam
keadaan gelap sebesar 4.2 V dan dalam keadaan terang sebesar 1 V
4.4.3
Analisa Output PWM
PWM digunakan untuk mengatur kecepatan putaran motor kanan dan
motor kiri, Berdasarkan rumus tegangan output yang akan dihasilkan adalah
tergantung dari perioda untuk pulsa tinggi yang diberikan, apabila semakin
58
panjang perioda tinggi yang diberikan maka akan semakin besar tegangan output
yang dihasilkan.
Vdc =
t1
.Vcc
T
Output PWM ini dibuat dengan menggunakan program pada mikrokontroller,
pada program robot pembagi brosur ini perioda untuk pulsa tinggi sebesar 10ms
dan perioda untuk pulsa rendah sebesar 5ms, Vcc sebesar12V sehingga ouput
PWM dapat dihitung sebagai berikut:
ton = 10ms
toff = 5ms
10 ms
x12V
15 ms
= 8V
V dc =
V dc
Prosentasi (%)
4.5
10 ms
x100 %
15 ms
= 66 .67 %
=
Percobaan Rangkaian Alat
1.
Robot akan berjalan mengikuti line tracking yang telah dibuat, seperti
pada gambar 4.1 diatas.
2.
Sensor ultrasonic akan mendeteksi objek yang ada di samping kiri
robot.
3.
Ketika sensor ultrasonic mendeteksi ada objek yang menghalanginya,
maka robot akan berhenti, kemudian leher robot yang membawa brosur
akan naik.
59
4.
Leher robot akan naik dan berhenti seteleh output sensor naik berlogik
‘0’. Ketinggian robot ini berubah dari ±50 cm menjadi ±70 cm.
5.
Setelah leher robot mencapai ketinggian ±70 cm, maka robot akan
berhenti selama 10 detik.
6.
Setelah 10 detik leher robot akan turun dan berhenti setelah output
sensor turun berlogik ‘1’. Ketinggian robot kira-kira 50 cm.
7.
Kemudian robot akan berjalan kembali mengikuti line tracking.
60
BAB 5
KESIMPULAN
Dari percobaan dan penelitian yang dilakukan dalam pembuatan tugas
akhir ini, maka dapat diambil kesimpulan bahwa pembuatan alat tugas akhir
dengan judul ”Robot Pembagi Brosur Berbasis Mikrokontroler AT89S51” ini,
alat dapat berjalan dengan baik, sesuai dengan yang diharapkan
61
LAMPIRAN
FLOWCHART
START
INISIALISASI
Ya
SENSOR
ULTRASONIK
Ya
BROSUR
NAIK
SENSOR
NAIK
Tidak
Tidak
TUNGGU
10 S
BROSUR
TURUN
SENSOR
TURUN
Ya
SENSOR
LINE
Ya
ROBOT MAJU
Tidak
SENSOR
LINE
Ya
ROBOT BELOK
KANAN
Tidak
SENSOR
LINE
Tidak
SELESAI
Ya
ROBOT BELOK
KIRI
Tidak
LISTING PROGRAM
;==========================================================
; PROGRAM ROBOT PEMBAGI BROSUR
BERBASISMIKROKONTROLLER AT89S51
;==========================================================
;==========================================================
; P1.0 - P1.5 SEBAGAI OUTPUT MOTOR
; P2.5 - P2.7 SEBAGAI INPUT SENSOR LINE
; P3.5 SEBAGAI INPUT SENSOR LEHER NAIK
; P3.6 SEBAGAI INPUT SENSOR LEHER TURUN
; P3.7 SEBAGAI INPUT SENSOR ULTRASONIK
;==========================================================
ORG 00H
MOV TMOD,#01H
JNB P3.6,TURUN
MULAI:
MOV A,P2
JB P3.7,NAIK
CJNE A,#00011111B,MAJU1
MOV P1,#00000101B
CALL DELAY_10mS
MOV P1,#00000000B
CALL DELAY_10mS
SJMP MULAI
NAIK:
MOV P1,#00100000B
CALL DELAY_1mS
JB P3.5,NAIK
MOV P1,#00000000B
CALL DELAY_10S
SJMP TURUN
TURUN:
MOV P1,#00010000B
CALL DELAY_1mS
JNB P3.6,TURUN
MOV P1,#00000000B
CALL DELAY_1S
SJMP MULAI
MAJU1:
CJNE A,#10111111B,KANAN
MOV P1,#00000101B
CALL DELAY_10mS
MOV
CALL
SJMP
KANAN:
CJNE
MOV
CALL
MOV
CALL
LJMP
KANAN2:
CJNE
MOV
CALL
MOV
CALL
LJMP
KANAN3:
CJNE
MOV
CALL
MOV
CALL
LJMP
KIRI:
CJNE
MOV
CALL
MOV
CALL
LJMP
KIRI2:
CJNE
MOV
CALL
MOV
CALL
TERUS:
LJMP
P1,#00000000B
DELAY_5mS
MULAI
A,#00111111B,KANAN2
P1,#00000100B
DELAY_10mS
P1,#00000000B
DELAY_5mS
MULAI
A,#01111111B,KANAN3
P1,#00000100B
DELAY_10mS
P1,#00000000B
DELAY_5mS
MULAI
A,#11111111B,KIRI
P1,#00000100B
DELAY_3mS
P1,#00000000B
DELAY_5mS
MULAI
A,#10011111B,KIRI2
P1,#00000001B
DELAY_10mS
P1,#00000000B
DELAY_5mS
MULAI
A,#11011111B,TERUS
P1,#00000001B
DELAY_10mS
P1,#00000000B
DELAY_5mS
MULAI
;=========================================================
;
SUBROUTIN DELAY
;=========================================================
DELAY_1mS:
CLR TR0
MOV TH0,#HIGH (-1000)
MOV TL0,#LOW (-1000)
SETB TR0
JNB TF0,$
CLR TF0
RET
DELAY_3mS:
MOV R0,#3
ULANG:
ACALL DELAY_1mS
DJNZ R0,ULANG
RET
DELAY_5mS:
MOV R1,#5
ULANG1:
ACALL DELAY_1mS
DJNZ R1,ULANG1
RET
DELAY_10mS:
MOV R2,#10
ULANG2:
ACALL DELAY_1mS
DJNZ R2,ULANG2
RET
DELAY_1S:
MOV R3,#100
ULANG3:
ACALL DELAY_10mS
DJNZ R3,ULANG3
RET
DELAY_10S:
MOV R4,#10
ULANG4:
ACALL DELAY_1S
DJNZ R4,ULANG4
RET
END
Download