ALAT UKUR PENCACAH PUTARAN ‘MESIN UJI
KELELAHAN BAHAN’ DENGAN TAMPILAN LCD
MENGGUNAKAN MIKROKONTROLER PIC16F84
Diajukan untuk memenuhi salah satu syarat
memperoleh gelar Sarjana Teknik pada
Program Studi Teknik Elektro
Fakultas Teknik Universitas Sanata Dharma
Disusun oleh
FRANKIE TJANDRA
NIM: 015114022
PROGRAM STUDI TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2007
ROTATION COUNTER MEASUREMENT AT ‘ROTARY
BENDING MACHINE’ WITH LCD DISPLAY USING
PIC16F84 MICROCONTROLLER
In partial fulfillment of the requirements for the degree of
SARJANA TEKNIK of Electrical Engineering Study Program
Compiled by:
NAMA: FRANKIE TJANDRA
NIM: 015114022
ELECTRICAL ENGINEERING STUDY PROGRAM
ELECTRICAL ENGINEERING DEPARTMENT
ENGINEERING FACULTY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2007
kemuliaan Bapa Yang Maha Besar, Ayah
dan Ibu tercinta, saudara-saudariku
terkasih, dan teman-teman yang terbaik
dimanapun juga.
“Libatkan Tuhan dalam segala
perencanaan”
“Tekad dan niat serta semangat
mengalahkan
segala kesulitan”
“Selalu ada alasan untuk bersyukur“
Puji Tuhan karena telah memberikan bimbingan dan kasih-Nya kepada penulis untuk
menyelesaikan skripsi yang berjudul
“
Alat Ukur Pencacah Putaran ‘Mesin Uji Kelelahan
Bahan’ Dengan Tampilan LCD Menggunakan Mikrokontroler PIC16F84
”
Penulis menyadari bahwa skripsi ini tidak mungkin dapat selesai dengan baik tanpa
bantuan dari berbagai pihak. Oleh karena itu penulis mengucapkan terimakasih kepada:
1. Bapak B. Djoko Untoro S. Ssi. MT selaku pembimbing I yang telah dengan sabar
membimbing, mendukung, dan menyemangati serta memberikan ilmunya kepada penulis,
sehingga penulis dapat menyelesaikan skripsi ini dengan baik.
2. Bapak Martanto, S.T., MT selaku pembimbing II yang telah memberikan saran-saran dan
bimbingan.
3. Bapak Petrus Setyo Prabowo S.T. selaku pembimbing akademik yang telah memberikan
motivasi dan bimbingan dengan baik.
4. Segenap dosen dan karyawan Teknik atas bimbingan, ilmu dan pelayanan yang diberikan
selama ini.
5. Laboran TE (Mas Suryo, Mas Martono, Mas Mardi, Mas Broto) yang telah membantu
penulis.
6. Ayahku dan Ibuku yang telah dengan setia dan sabar memberikan dukungan doa, kasih,
dan bantuan moril yang sangat besar.
7. Kakakku (Herry) dan Adikku (Happie) yang senantiasa memberikan doa, teladan,
dukungan, dan semangat.
8. Teman-teman Fs : Yesika Fadeli, Ina, Marcell, Ratih, dan semuanya yang tidak dapat
disebutkan satu per satu atas inspirasi dan motivasi.
9. Teman-teman satu tim (Koko dan Andre) atas kerjasama dan dukungan yang diberikan.
Heri, Fandi, Purba, Sinung, Dani, dan Charles/penghuni terakhir, Widi) atas
kebersamaannya selama di Jogja.
11. Ko Dennis, Ci Tanti, Ko Aan, dan semua anak 2
ndHome yang turut membantu dalam
pencarian bahan-bahan yang mendukung dalam tulisan ini dan kebersamaannya.
12. Ulis, Jimmi, Morris, Tyo, Jeksen, John, Alex, Septa, Eling, Erik, atas kebersamaan,
ide-ide, saran, dukungan dan semangat.
13. Winda, Tika, C-we, Imet, Rosa, Ius, Nessya, Enceng, Miko, Bung Yoyo atas
kebersamaan, dukungan, bantuan, semangat, dan kegembiraan yang kalian bagi.
14. Untuk teman-teman YM : Ririn, K. Esther, Rosy, Erline, Meilana, Lusi, Ex4, Intan,
Fatan, dll yang telah memberikan doa, semangat dan dukungan.
15. Semua pihak yang tidak dapat disebutkan satu persatu disini, yang tak perlu diragukan
lagi atas segala kebaikan dan ketulusannya dalam membantu penulis.
Semoga Tuhan melimpahkan rahmat-Nya kepada kita semua dan semoga tulisan ini
dapat berguna dan bermanfaat bagi semua, Amin.
Yogyakarta, Januari 2007
Penulis,
Frankie Tjandra
HALAMAN JUDUL ...
i
HALAMAN JUDUL (INGGRIS)...
ii
HALAMAN PERSETUJUAN...
iii
HALAMAN PENGESAHAN...
iv
HALAMAN PENGESAHAN KEASLIAN KARYA...
v
HALAMAN PERSEMBAHAN...
vi
KATA PENGANTAR ... vii
DAFTAR ISI...
ix
DAFTAR GAMBAR... xii
DAFTAR TABEL... xiv
DAFTAR LAMPIRAN...
xv
INTISARI... xvi
ABSTRACT... xvii
BAB I. PENDAHULUAN ...
1
I.1 Judul...
1
I.2 Latar Belakang ...
1
I.3 Tujuan Penelitian...
2
I.4 Manfaat Penelitian...
2
1.5 Batasan Masalah...
2
I.6 Metodologi Penulisan ...
3
I.7 Sistematika Penulisan ...
4
BAB II. DASAR TEORI
2.1 Pencacah ...
5
2.2.1 Arsitektur PIC16F84...
8
2.2.2 Instruksi-instruksi untuk seri PIC16... 10
2.2.2.1 Instruksi-instruksi transfer data...
10
2.2.2.2 Instruksi-instruksi aritmetika dan logika...
11
2.2.2.3 Instruksi-instruksi operasi bit...
12
2.2.2.4 Instruksi pengarah aliran program... 13
2.2.2.5 Instruksi-instruksi lain...
14
2.2.3 Register status ... 15
2.3 Pendeteksi putaran motor...……...…………...………... 16
2.3.1 LED inframerah... ……… 17
2.3.2 Fototransistor... 18
2.4 Pengkondisi sinyal... 20
2.5 LCD...
21
2.6 Rangkaian reset………. 23
BAB III. RANCANGAN PENELITIAN...
26
3.1 Perancangan Perangkat Keras ... 26
3.2 Pendeteksi putaran motor ...
26
3.2.1 Rangkaian sumber cahaya ...
28
3.2.2 Rangkaian penerima ...
28
3.3 Rangkaian reset... 30
3.4 Koneksi LCD dengan mikrokontroler ...
30
3.4.1 Tampilan perkenalan ...
31
3.4.2 Tampilan pencacah... 32
3.4.3 Tampilan akhir ... 32
3.5.1 Diagram alir utama...
33
3.5.2 Diagram alir pencacah mencacah... 34
3.5.2 Diagram alir tampil LCD... 35
BAB IV. ANALISA DAN PEMBAHASAN ... 37
4.1 Rangkaian sensor... 37
4.2 Pengkondisi sinyal... 38
4.3 Program mikrokontroler ... 39
4.4 Tampilan pencacah ... ...
40
4.4.1 Metode manual... 40
4.42 Metode pemberian tegangan... 41
4.43 Metode perbandingan...
42
BAB V. KESIMPULAN DAN SARAN...
44
5.1 Kesimpulan... 44
5.2 Saran...
44
DAFTAR PUSTAKA ... 45
LAMPIRAN
Gambar 2.1 Mikrokontroler PIC16F84... 6
Gambar 2.2 Arsitektur PIC16F84... 8
Gambar 2.3 Format register status... 15
Gambar 2.4 Rangkaian sumber cahaya... 17
Gambar 2.5 Rangkaian penerima menggunakan fototransistor... 19
Gambar 2.6 Bentuk gelombang masukan dan keluaran pembanding histerisis... 20
Gambar 2.7 Layar LCD 2x16... 21
Gambar 2.8 Reset
active low
... 24
Gambar 3.1 Blok diagram alat ukur pencacah banyaknya putaran motor... 26
Gambar 3.2 Penempelan tanda hitam pada motor... 26
Gambar 3.3 Keadaan sensor mengenai tanda hitam... 27
Gambar 3.4 Keadaan sensor mengenai badan piringan ... 27
Gambar 3.5 Rangkaian deteksi adanya putaran motor... 29
Gambar 3.6 Rangkaian reset... 30
Gambar 3.7 LCD dengan pengiriman data 8 bit ... 31
Gambar 3.8 Tampilan perkenalan pada LCD... 31
Gambar 3.9 Tampilan pencacah pada LCD... 32
Gambar 3.10 Tampilan akhir... 32
Gambar 3.11 Diagram alir utama... 33
Gambar 3.12 Diagram alir pencacah mencacah... 34
Gambar 3.13 Diagram alir tampil ke LCD... 35
Gambar 4.1 Sinyal keluaran pada fototransistor... 38
Gambar 4.2 Sinyal keluaran pada 74LS14... 39
Gambar 4.4 Perbandingan jumlah putaran dengan ‘alat uji kelelahan bahan’... 42
Tabel 2.1 Deskripsi pin PIC16F84... 6
Tabel 2.2 Tabel instruksi PIC16F... 14
Tabel 2.3 Tabel fungsi IC 74LS14... 21
Tabel 2.4 Pin LCD HD44780U... 22
Tabel 3.1 Keluaran rangkaian pendeteksi putaran... 29
Tabel 4.1 Tabel pengamatan rangkaian sensor... 37
Tabel 4.2 Penyimpanan data dalam berbagai format... 39
Tabel 4.3 Tabel pengamatan tampilan LCD terhadap tanda hitam ... 41
Tabel 4.4 Data pengukuran jumlah putaran... 41
Tabel 4.5 Perbandingan jumlah putaran dengan ‘alat uji kelelahan bahan ... 43
A. Gambar Rangkaian ... L1
B. Listing Program... L2
C. Data Sheet... L3
MIKROKONTROLER PIC16F84
Frankie Tjandra
015114022
Intisari
Pada laboratorium pengujian bahan terdapat alat ukur untuk menguji kekuatan suatu
bahan. Ide dasar dari peralatan ini adalah memberikan tekanan dan putaran terhadap bahan
uji. Putaran dari mesin akan dihitung dan akan berhenti jika bahan uji telah patah.
Pada tulisan ini akan dibahas tentang aplikasi mikrokontroler pada penampil cacahan
‘Alat Uji Kelelahan Bahan’. Sensor pada alat ini menggunakan infrared dan phototransistor
untuk mendeteksi putaran mesin, sedangkan pengkondisi sinyalnya menggunakan 74LS14.
Pada motor uji diberikan suatu tanda hitam, sehingga setiap tanda hitam yang dilalui sensor
akan menaikkan cacahan pada tampilan LCD. Untuk itu diperlukan suatu program pencacah
dalam mikrokontroler untuk menampilkan hasil cacahan tersebut pada LCD.
Pada tulisan ini dirancang untuk tampilan maksimum 9.999.999 cacahan, dan alat
ini telah dicoba dengan ‘metode pemberian tegangan’ sampai dengan tampilan 4 juta
cacahan. Jika dibandingkan dengan penampil pada ‘Alat Uji Kelelahan Bahan’, alat ini masih
belum dapat menampilkan hasil yang serupa dengan tampilan ‘Alat Uji Kelelahan Bahan’.
Sehingga dapat disimpulkan bahwa alat ini sudah dapat mencacah pada kecepatan motor
“mesin uji kelelahan bahan”, tetapi dengan error sebesar 1%.
Frankie Tjandra
015114022
Abstract
In the Material Testing Laboratory, there is equipment to test the strength of
materials. The basic concept of this equipment is to make a tension and a torsion force to the
specimens. The torsion force of the machines would be counted and must be stopped if the
specimen has been broken.
This paper would discuss about the microcontroller application counter at 'Rotary
Bending Machine'. The sensor of this device uses infrared and phototransistor to detect a
rotation. as for the signal conditioning, 74LS14 would be used. A black mark is given for the
motor tester, so that every black mark that is passed by the sensor will count up to the LCD's
display. Therefore, a counter program in microcontroller is needed to display the result of
counting at LCD.
This paper is made to maximum 9.999.999 count display, and this device has been
tested using ‘giving a voltage method’ until 4 million counts displaying. This device still does
not match if compared with the display at 'Rotary Bending Machine'. It could be concluded
that it has been able to count at the velocity of 'Rotary Bending Machine' with 1% of error.
BAB I
PENDAHULUAN
1.1 Judul
Alat Ukur Pencacah Putaran ‘Mesin Uji Kelelahan Bahan’ dengan Tampilan LCD
Menggunakan Mikrokontroler PIC16F84
1.2 Latar Belakang Masalah
Suatu alat ukur tidak selalu dalam keadaan baik, ada kalanya alat ukur tersebut
mengalami kerusakan. Untuk memperbaiki kerusakan itu biasanya diperlukan suatu
penggantian komponen ataupun onderdil. Biaya yang dikeluarkan untuk proses penggantian
itu juga tidak sedikit. Sebagai contoh seperti kerusakan sensor yang pernah dialami pada alat
uji kelelahan bahan pada laboratorium teknik mesin, untuk mengganti sensor yang rusak
diperlukan biaya yang mahal.
Alat ukur yang akan dirancang disini adalah pencacah putaran motor yang dapat
dikembangkan untuk dapat diaplikasikan pada alat uji kelelahan bahan yang digunakan untuk
menguji ketahanan suatu benda terhadap beban lengkung-puntir. Alat uji kelelahan bahan
pada laboratorium ilmu logam fakultas teknik mesin misalnya, pengujian ketahanan benda uji
dilakukan dengan memberikan beban pada benda uji dan benda uji tersebut diputar sampai
patah (selama benda tersebut belum patah motor akan terus berputar). Alat uji tersebut akan
terus mencacah banyaknya putaran yang terjadi. Untuk itu diperlukan cacah putar dalam
jumlah yang banyak.
Alat uji kelelahan bahan pada laboratorium teknik mesin menggunakan sensor
logam untuk mendeteksi putaran yang terjadi, sedangkan pada penelitian ini akan digunakan
sensor infrared LED dan fototransistor. Sensor yang digunakan pada penelitian ini jauh lebih
murah serta mudah didapat.
1.3 Tujuan
Tujuan yang akan dicapai dalam penelitian ini adalah:
1. Membuat suatu pencacah putaran motor dengan tampilan maksimum sebanyak 9.999.999
cacahan dengan menggunakan mikrokontroler PIC16F84 dan dapat ditampilkan hasilnya
pada LCD 2
×
16.
2. Mempelajari dan memanfaatkan mikrokontroler PIC16F84 dalam penerapannya pada alat
ukur banyaknya cacah putaran motor.
3. Dapat diaplikasikan pada alat uji kelelahan bahan pada Lab.TM.
1.4 Manfaat
Manfaat yang dapat dicapai dari penelitian ini, antara lain :
1. Dapat menjadi alternatif alat ukur uji kelelahan bahan yang lebih ekonomis.
2. Menambah literatur tentang aplikasi mikrokontroler menggunakan PIC.
1.5 Batasan Masalah
Dalam penelitian ini akan dirancang sebuah alat ukur yang akan mencacah
banyaknya putaran motor menggunakan mikrokontroler PIC16F84 dengan nilai maksimum
9.999.999 cacahan dan data pengukuran yang dihasilkan dapat ditampilkan pada LCD 2
×
16.
1.6 Metode Pengumpulan Data
Penulisan laporan ini dijadikan beberapa metode pengumpulan data yaitu :
1. Studi Pustaka
Dalam hal ini pengumpulan data dilakukan dengan membaca dan mempelajari
beberapa litelatur/buku tentang PIC16F84, datasheet komponen yang digunakan dan
literatur lain yang diperoleh dari internet serta majalah-majalah elektronik yang
menunjang serta berhubungan dengan alat dan pemrograman yang dibuat.
2. Pembuatan Program
Dalam hal ini materi Tugas Akhir diterjemahkan dalam bahasa pemprograman
mikrokontroler, sehingga mampu didemontrasikan dalam sistem alat ukur.
1.6 Sistematika Penulisan
Penulisan laporan tugas akhir ini akan disusun dengan sistematika sebagai berikut:
BAB I. PENDAHULUAN
Pada bab ini berisi latar belakang masalah, maksud dan tujuan tugas akhir, batasan
masalah, metodologi penelitian dan sistematika penulisan laporan.
BAB II. DASAR TEORI
Pada bab ini berisi tentang teori dari beberapa komponen yang digunakan dalam
pembuatan alat pencacah putaran.
BAB III. PERANCANGAN ALAT
BAB IV. DATA DAN ANALISA
Pada bab ini berisi tentang cara kerja alat keseluruhan dan analisis serta pembahasan
mengenai hasil tugas akhir yang telah dibuat.
BAB V. PENUTUP
Pada bab ini ini berisi kesimpulan dari hasil tugas akhir yang telah dilakukan dan saran
yang berisi ide-ide untuk perbaikan atau pengembangan terhadap tugas akhir yang telah
dilakukan.
BAB II
DASAR TEORI
2.1 Pencacah
Pencacah disini merupakan penghitung banyaknya putaran yang terjadi pada motor
yang berputar. Pada penelitian ini diperlukan pencacah sampai dengan 9.999.999 cacahan.
Pencacah secara elektronis dengan menggunakan gerbang logika memerlukan IC lebih dari
satu, misalnya untuk pencacah 16 bit secara perangkat keras hanya mampu menampung data
sebanyak 65536 (2
16) saja, sedangkan pada penelitian ini akan digunakan 2 buah IC
(Mikrokontroler dan 74LS14) untuk mencacah putaran motor sebanyak 9.999.999 cacahan.
Untuk dapat mencacah sebanyak 9.999.999 cacahan diperlukan software dengan
memanfaatkan sebuah mikrokontroler agar dapat menampung data sebanyak itu.
Unit pencacah terdiri dari 7 bagian pencacah, yaitu: satuan, puluhan, ratusan,
ribuan, puluhan ribu, ratusan ribu, dan jutaan.
2.2 Mikrokontroler PIC16F84
Mikrokontroler PIC16F84 merupakan mikrokontroler yang dikembangkan dan
diproduksi oleh perusahaan Microchip. Mikrokontroler PIC16F84 termasuk dalam
mikrokontroler 8 bit, yang berarti dapat melakukan pengolahan data sebanyak 8 bit secara
langsung. Pada perancangan ini dikehendaki agar program pada mikrokontroler dapat
mencacah putaran sebanyak 9.999.999 dengan tampilan bilangan desimal pada LCD.
Gambar 2.1 merupakan mikrokontroler yang akan digunakan pada perancangan,
yaitu PIC16F84.
Gambar 2.1 Mikrokontroler PIC16F84
Untuk deskripsi tiap pin pada PIC16F84 dapat dilihat pada tabel 2.1
Tabel 2.1 Deskripsi pin PIC16F84
Pin
Number
Description
1
RA2 - Port A
2
RA3 - Port A
3
RA4/TOCK1 - Port A
4
MCLR - Master clear input (active low)
5
Vss – Ground
6
RB0/INT – Port B
7
RB1 - Port B
8
RB2 - Port B
9
RB3 - Port B
10
RB4 - Port B
11
RB5 - Port B
12
RB6 - Port B
13
RB7 - Port B
14
Vdd - Positive Power Supply
15
OSC2/CLKOUT - Oscillator Output
16
OSC1/CLKIN - Oscillator Input
17
RA0 - Port A
Port I/O
Terdiri dari 13 pin I/O, yaitu 5 pada portA(RA0, RA1, RA2, RA3, RA4) dan 8 pada portB
(RB0, RB1, RB2, RB3, RB4, RB5, RB6, RB7).
Vdd
Merupakan
port
yang akan dihubungkan ke power suplai yaitu +5 volt DC. VCC terdapat
pada pin 14.
GND
Merupakan
port
yang akan dihubungkan ke
ground
atau pertanahan. GND terdapat pada pin
5.
XTAL 1 dan XTAL 2
Mikrokontroler PIC16F84 telah memiliki
on-chip osilator
yang dapat bekerja dengan
menggunakan Kristal eksternal yang dihubungkan ke kaki XTAL 1 dan XTAL 2. XTAL 1
dan XTAL 2 terdapat pada pin 15 dan 16.
MCLR
( Reset )
Merupakan masukkan
reset,
apabila diberi masukan ‘0’ pada saat osilator bekerja maka akan
mereset mikrokontroler tersebut. MCLR terdapat pada pin 4.
Mikrokontroler tersebut memiliki unit pengolah, unit masukan digital, unit keluaran
digital serta penyimpan sementara dan penyimpan permanen.
Mikrokontroler PIC16F84 memiliki fitur-fitur [4] berikut :
1. Memiliki 13 buah port I/O (5 pada port A dan 8 pada port B)
3. 1k Byte memori program
4. Kemasan fisik 18 pin DIP
5. Merupakan mikrokontroler RISC, sehingga hanya memiliki 35 instruksi
6. Pemrograman di dalam sistem (ICSP)
7. Tegangan operasi normal 5Vdc
Pada dasarnya PIC memerlukan 4 hal untuk dapat membuatnya bekerja, antara lain:
1. Sumber tegangan 5 Volt untuk sumber daya pada IC
2. Clock yang berfungsi memberikan kemampuan IC untuk memproses instruksi.
3. Software yang berisi suatu rentetan instruksi yang kita buat.
4. Programmer untuk memprogram mikrokontroller[3].
2.2.1 Arsitektur PIC16F84
Bagian-bagian utama dari mikrokontroler PIC16F84 (gambar 2.2), yaitu[1]:
1. ALU
Merupakan bagian mikrokontroler yang bertanggungjawab terhadap operasi
aritmetika (penjumlahan dan pengurangan) dan logika, termasuk pergeseran dalam
register (
shifting
).
2. Memori Program
Memori program direalisasikan dalam teknologi FLASH memori yang
memungkinkan pemrogram melakukan program hapus-tulis hingga berulang kali.
3. Program counter
Merupakan suatu register 13 bit yang berisi alamat instruksi yang sedang dieksekusi.
Program Counter
terbagi menjadi
byte
rendah (PCL) dan
byte
tinggi (PCH). PCL
bersifat dapat dibaca dan ditulis, sedangkan PCH hanya dapat ditulis.
4. Register status
Register status berisi status aritmetika dan ALU (C, DC, Z), status reset (TO, PD) dan
bit-bit pemilih memori (IRP, RP1, RP0).
5. Pembangkit c
lock -
osilator
Rangkaian osilator yang dibutuhkan oleh mikrokontroler untuk menyediakan
clock
bagi mikrokontroler.
6. Unit I/O
Agar mikrokontroler dapat berkomunikasi dengan dunia luar, maka harus ada
terminal yang menghubungkan keduanya. Terminal tersebut dinamakan
port
I/O yang
7. Timer
Timer
digunakan untuk keperluan menghasilkan tunda, mencacah pulsa, mengetahui
keberadaan proses yang sedang berlangsung, dan sebagainya.
2.2.2 Instruksi-instruksi Untuk Seri PIC16
Mikrokontroler seri PIC16 tergolong mikrokontroler jenis RISC sehingga instruksi
yang digunakan relatif sedikit, hanya 35 instruksi. Instruksi-instruksi tersebut tersebut terdiri
atas 6 instruksi untuk transfer data, 15 instruksi untuk operasi aritmetika dan logika, 2
instruksi pengarah aliran program dan instruksi umum.
2.2.2.1 Instruksi-instruksi Transfer Data
Transfer data dalam mikrokontroler dilakukan antara register kerja “w” (working
register) dan register file F (baik GPR maupun SFR). Instruksi transfer data digunakan untuk
memindahkan data antar register.
1. movlw = digunakan untuk memindahkan nilai literal ke register W. Dengan instruksi
ini kita dapat memuati register W dengan nilai tertentu.
2. movwf = digunakan untuk memindahkan isi register W ke register f. Dengan instruksi
ini kita dapat menyalin isi register W ke register f. Dalam hal ini isi register W tidak
berubah.
3. movf = digunakan untuk memindahakan isi register f ke register W jika d=0 atau ke
register f jika d=1.
4. clrw = digunakan untuk membersihkan isi register W. Dengan instruksi ini register W
akan diisi dengan 00h.
5. clrf = digunakan untuk membersihkan register f. Register f akan diisi nilai 00h.
6. swapf = digunakan untuk saling menukarkan 4 bit (nibble) atas dengan 4 bit (nibble)
2.2.2.2 Instruksi-instruksi Aritmetika dan Logika
Mikrokontroler PIC seri 16 hanya mengenal operasi aritmetika berupa penjumlahan
dan pengurangan. Bendera C, DZ, dan Z akan ditetapkan menurut hasil dari operasi ini,
dengan satu pengecualian, pengurangan dilakukan sebagai penjumlahan terhadap nilai
negatif. Unit logika pada seri PIC16 dapat melakukan operasi AND, OR (Inclusive OR),
XOR, COMF, dan rotasi RLF/RRF.
1. addlw = digunakan untuk menjumlakan suatu literal dengan register W, dan hasilnya
disimpan di register W.
2. addwf = digunakan untuk menjumlahkan isi register W dengan register f, kemudian
hasilnya disimpan di tujuan d.
3. sublw = digunakan untuk mengurangkan isi register W dari suatu nilai literal, hasilnya
disimpan di register W.
4. subwf = digunakan untuk mengurangkan isi register W dari register f, hasilnya
disimpan di tujuan d.
5. andlw = digunakan untuk melakukan operasi logika AND antara nilai literal dengan
register W. Hasil operasi diletakkan kembali di register W.
6. andwf = digunakan untuk operasi logika AND antara register W dengan register f,
hasil disimpan di tujuan d.
7. iorlw = digunakan untuk melakukan operasi OR antara register W dengan nilai literal
k. Hasil operasi ini disimpan di register W.
8. iorwf = digunakan untuk operasi logika OR antara register W dengan register f,
hasilnya ditempatkan di tujuan d.
9. xorlw = digunakan untuk operasi logika
Exclusive
OR (XOR) antara register W
10. xorwf = digunakan untuk operasi XOR antara register W dengan register f, hasilnya
ditempatkan di tujuan d.
11. incf = digunakan untuk menaikkan 1 nilai register f, kemudian hasilnya diletakkan di
tujuan d.
12. decf = digunakan untuk mengurangi 1 nilai register f, kemudian hasilnya diletakkan di
tujuan d.
13. rlf = digunakan untuk menggeser kiri bit-bit dalam register f. Hasil penggeseran
disimpan di tujuan d.
14. rrf = digunakan untuk menggeser kanan bit-bit dalam register f. Hasil pergeseran
diletakkan di tujuan d.
15. comf = digunakan untuk mendapatkan nilai komplemen dari isi register f. Nilai
komplemen tersebut kemudian disimpan di tujuan d.
2.2.2.3 Instruksi-instruksi Operasi Bit
Operasi bit dilakukan dengan instruksi BCF atau BSF. Instruksi ini digunakan untuk
menetapkan atau menghapus suatu bit dalam sebuah register.
1. bcf = digunakan untuk membersihkan suatu bit pada register f. Bit yang bersangkutan
akan diberi logika 0.
2. bsf = digunakan untuk menetapkan suatu bit pada register f. Bit yang bersangkutan
2.2.2.4 Instruksi Pengarah Aliran Program
Instruksi –instruksi akan dapat mengalihkan aliran program pada kondisi-kondisi
tertentu.
1. btfsc = digunakan untuk menguji logika suatu bit pada register f. Jika hasilnya “0”,
instruksi berikutnya dilompati (tidak dieksekusi), sedangkan jika hasilnya “1”,
instruksi berikutnya tetap dieksekusi.
2. btfss = digunakan untuk memeriksa bit pada register f. Jika nilainya”1”, lompati
instruksi berikutnya, jika “0” instruksi berikutnya tetap dieksekusi.
3. decfsz = digunakan untuk melakukan pengurangan register f dengan 1.Jika bernilai
“0” instruksi berikutnya dilompati. Hasil disimpan di tujuan d.
4. incfsz = digunakan untuk melakukan penambahan register f dengan 1. Jika hasilnya
“0” instruksi berikutnya dilompati. Hasil disimpan di tujuan d.
5. goto = digunakan untuk mengarahkan program ke suatu tempat dengan nama atau
alamat tertentu.
6. call = digunakan untuk memanggil suatu subrutin.
7. return = digunakan untuk kembali dari subrutin ke program utama yang
memanggilnya. Setelah kembali, program akan melanjutkan mengerjakan instruksi
berikutnya.
8. retlw = instruksi ini serupa dengan return, namun saat kembali dari subrutin, register
w akan diberi nilai literal k yang menyertainya.
9. retfie = digunakan untuk mengakhiri suatu rutin interupsi agar program dapat kembali
2.2.2.5 Instruksi-instruksi lain
1. nop = tidak ada yang dikerjakan
2. clrdwt = digunakan untuk mereset WDT. Saat WDT di
enable
, WDT harus direset
sebelum mencapai
overflow
karena apabila dibiarkan akan menyebabkan
mikrokontroler reset.
3. sleep = digunakan untuk membawa mikrokontroler ke keadaan
stand-by
. Mode sleep
sangat bermanfaat untuk menghemat daya pada aplikasi.
2.2.3 Register Status
Register status berisi status aritmetika dari ALU (C, DZ, Z), status reset (TO, PD) dan
bit-bit pemilih
bank
memori (IRP, RP0, RP1).
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
IRP
RP1
RP0
TO
PD
Z
DC
C
Gambar 2.3 Format register status
Bit 0 = C (
Carry
)
Transfer
Bit C merupakan bit yang dipengaruhi oleh operasi penjumlahan, pengurangan, dan
pergeseran.
1 =
transfer
tejadi dari bit tertinggi (MSB) pada hasil operasi
0 = tidak terjadi
transfer
Instruksi yang mempengaruhi ADDWF, ADDLW, SUBLW, SUBWF.
Bit 1 = DC (
Digit Carry
) DC
transfer
Bit DC juga dipengaruhi oleh operasi penjumlahan, pengurangan, dan pergeseran. Bit
DC menyatakan terjadinya transfer dari bit 3 ke bit 4 pada operasi penjumlahan, atau transfer
dari bit 4 ke bit 3 pada operasi pengurangan, atau operasi pergeseran antara bit 3 dan bit 4
dengan arah manapun.
1 = terjadi transfer antara bit 3 dan bit 4
0 = tidak terjadi
transfer
Bit 2 = Z (Zero bit)
Bit Z akan mengindikasikan apabila hasil operasi adalah nol. Bit ini akan diset jika
hasil operasi aritmetika atau logika sama dengan nol.
1 = hasil operasi sama dengan nol
0 = hasil operasi tidak sama dengan nol
Bit PD akan diset ketika
power supply
mulai ON atau setelah eksekusi instruksi
CLRWDT. Instruksi SLEEP akan mereset bit ini ketika mikrokontroler mulai memasuki
mode SLEEP.
1 = sesudah
power supply
ON
0 = saat eksekusi instruksi SLEEP
Bit 4 = TO (
Time Out
, WDT
overflow
)
Bit ini diset setelah
power supply
ON, eksekusi CLRWDT dan instruksi SLEEP.
Reset pada bit ini akan terjadi saat WDT
overflow
.
1 =
overflow
tidak terjadi
0 =
overflow
terjadi
Bit 5, 6 = RP1, RP0 (
Request Bank Select Bit
)
Kedua bit ini merupakan bit-bit pemilih
bank
pada mode pengalamatan langsung. Bit
RP0 tidak difungsikan karena bit ini hanya disisakan untuk keperluan ekspansi mendatang.
01 = bank 1
00 = bank 0
Bit 7 = IRP (
Register Bank Select Bit
)
Bit IRP digunakan untuk memilih
bank
pada pengalamatan tidak langsung.
1 =
bank
2 dan
bank
3
2 =
bank
1 dan
bank
0
2.3 Pendeteksi Putaran Motor
Untuk mendeteksi adanya putaran yang terjadi, maka diperlukan sensor. Sensor
yang akan dipergunakan disini adalah sebuah LED inframerah dan sebuah fototransistor.
Untuk rangkaian pemancarnya menggunakan LED inframerah sebagai sumber inframerah
2.3.1 LED inframerah
LED inframerah merupakan satu komponen yang prinsip kerjanya sama dengan
LED biasa. Saat menghantar arus LED inframerah juga memancarkan cahaya. Perbedaan
cahaya yang dipancarkan berupa cahaya tidak tampak, sedangkan pada LED biasa cahaya
yang dipancarkan tampak.
LED inframerah juga dilengkapi lensa untuk memfokuskan cahaya inframerah,
sehingga dapat membentuk berkas yang sempit dengan tujuan supaya jangkauan pancaran
cahaya mempunyai jarak yang jauh. Dengan demikian dapat ditransmisikan ke pendeteksi
cahaya infra merah (
fototransistor
) dengan cara menyinari pada daerah basisnya, sehingga
cahaya yang ditransmisikan oleh LED inframerah dapat diubah menjadi sinyal listrik.
Rangkaian pemancar dapat dilihat pada gambar 2.4.
Gambar 2.4 Rangkaian sumber cahaya
.(2.2)
.
...
...
...
...
...
)
1
.
2
..(
...
...
...
...
...
...
)
(
…
…
…
…
−
=
+
×
=
F F CC d
F d F CC
I
V
V
R
V
R
I
V
Vcc = tegangan 5V
V
F= tegangan dioda
I
F= arus IRLED
2.3.2 Fototransistor
Fototransistor merupakan transduser optis karena komponen tersebut dapat
mengubah efek cahaya (sinar inframerah) menjadi sinyal listrik. Fototransistor terbuat dari
bahan dasar silikon dan dapat menghantarkan listrik saat terkena cahaya inframerah.
fototransistor pada dasarnya memiliki prisip kerja yang sama dengan transistor, namun pada
fototransistor arus basis digantikan oleh bias cahaya yang diterima pada kaki basis
fototransistor. Pada fototransistor, arus basis dipengaruhi oleh cahaya infra merah yang
mengenai permukaan dari fototransistor, sehingga ketika cahaya infra merah mengenai
permukaan fototransistor akan timbul arus
basis
(I
B). Keadaan tersebut akan menyebabkan
resistansi emiter-kolektor
akan menjadi kecil sekali mendekati nol, sehingga arus akan
mengalir ke kaki kolektor (I
C). Hal ini menyebabkan tegangan pada kaki kolektor mendekati
0V. Keadaan tersebut menyatakan keadaan transistor dalam keadaan
on
. Sebaliknya apabila
tidak ada cahaya infra merah atau dapat dikatakan dalam keadaan gelap, maka tidak ada I
B.
Ketika tidak ada arus I
B, maka resistansi emiter-kolektor menjadi besar dan tidak ada arus
kolektor (I
C), sehingga tegangan di kaki kolektor terhadap
ground
(Vc) sama dengan Vcc,
sehingga transistor dalam keadaan
off
. Rangkaian penerima dapat dilihat pada gambar 2.5.
Besarnya arus kolektor yang dihasilkan pada rangkaian dipengaruhi oleh bias
cahaya yang dihasilkan oleh LED inframerah. Besarnya arus kolektor dapat diperoleh dari
persamaan matematis, sebagai berikut:
λ
β
I
I
C=
... (2.3)
λ
I
adalah intensitas cahaya yang diterima oleh kaki basis
fototransistor
. Persamaan
matematis untuk mencari nilai R
Eadalah:
2.5)
(
...
...
...
...
)
4
.
2
..(
...
...
...
...
...
...
…
…
…
…
…
…
−
=
−
=
C CE CC E
E CE CC E
I
V
V
R
R
V
V
I
Besarnya V
Odari gambar 2.4 jika
fototransistor
mendapat bias cahaya dari LED
inframerah dapat diperoleh melalui persamaan matematis 2.6.
E E
O
I
R
V
=
×
……….. (2.6)
2.4 Pengkondisi Sinyal
Pengkondisi sinyal disini menggunakan IC74LS14 yang di dalamnya terdapat
rangkaian
schmitt trigger
.
Schmitt trigger
merupakan suatu rangkaian yang digunakan
sebagai pembanding tegangan yang telah melintasi suatu peringkat tertentu[2].
Schmitt
trigger
berfungsi untuk membuat gelombang keluaran dari sensor menjadi kotak penuh,
sehingga memperjelas kondisi 0 dan 1 atau disebut juga sebagai pembentuk pulsa.
Pada gambar 2.6 terlihat bentuk gelombang sinyal masukan yang mempunyai waktu
naik-turun yang sangat lambat. Bentuk seperti ini akan dapat menyebabkan operasi dan
berhubungan langsung ke rangkaian penghitung atau rangkaian lainnya. Untuk itu perlu
ditambahkan rangkaian pengkondisi sinyal yang berupa pembanding histerisis.
Gambar 2.6 Bentuk gelombang masukan dan keluaran pembanding histerisis
Rangkaian pada pembanding histerisis menghasilkan bentuk gelombang dengan
pinggiran naik dan pinggiran turun yang tajam dan waktu naik-turun yang cepat. Waktu
bangkit yang cepat ini sangat dibutuhkan karena rangkaian-rangkaian dimaksudkan untuk
bekerja dengan tegangan masukan dua keadaan.
Tabel 2.3. Tabel fungsi IC 74LS14
Masukan
Keluaran
L
H
H
L
Keterangan : H = Level logika
HIGH
, L = Level logika
LOW
2.5 LCD HD44780U
LCD (
Liquid Crystal Display
) adalah suatu tampilan (
display
) dari bahan cairan
kristal yang dioperasikan dengan menggunakan sistem dot matriks. Pada perancangan alat ini
sebanyak 32 karakter. Masing-masing karakter tersebut terbentuk dari susunan
dot
yang
berukuran 8 baris dan 5 kolom
dot
seperti terlihat pada gambar 2.7
.
Jenis LCD yang
digunakan dalam perancangan alat ini adalah LCD HD44780U, dimana interface LCD
dengan mikrokontroler dapat dilakukan dengan sistem 4-bit ataupun 8-bit.
Tiap segment
Layar LCD terdiri dari 5 x 8
dot
Gambar 2.7 Layar LCD 2
×
16
Total jumlah karakter yang dapat ditampilkan sekaligus dalam satu layar adalah
sebanyak 32 karakter, dimana masing-masing karakter tersebut, terbentuk dari susunan
titik-titik (
dot
) yang berukuran 5 x 8.
Tabel 2.4 Pin LCD HD44780U
Nomor Pin
Simbol
1
V
EE(0V)
2
V
CC(5V)
3
GND (0V)
4
RS
5
R/W
6
E
7
DB0
8
DB1
9
DB2
10
DB3
11
DB4
12
DB5
13
DB6
14
DB7
15
A
Deskripsi pin:
1. DB0 s/d DB7, merupakan jalur data yang dipakai untuk menyalurkan kode ASCII
maupun perintah pengatur kerja LCD tersebut.
2. RS
(Register Select),
merupakan pin yang dipakai untuk membedakan jenis data yang
dikirim ke LCD. Jika RS berlogika ‘0’ maka data yang dikirim adalah perintah untuk
mengatur kerja LCD tersebut, jika RS berlogika ‘1’ maka data yang dikirim adalah
kode ASCII yang ditampilkan.
3. R/W
(Read/Write),
merupakan pin yang digunakan untuk mengaktifkan pengiriman
dan pengambilan data ke dan dari LCD. Jika R/W berlogika ‘0’ maka akan diadakan
pengiriman data ke LCD, jika R/W berlogika ‘1’ maka akan diadakan pengambilan
data dari LCD.
4. E
(Enable)
, merupakan sinyal sinkronisasi. Saat E berubah dari logika ‘1’ ke ‘0’,
maka data di DB0 s/d DB7 akan diterima atau diambil dari
port
mikrokontroler.
5. A
(Anoda)
dan K
(Katoda)
, merupakan pin yang digunakan untuk menyalakan
backlight
dari layer LCD.
2.6 Rangkaian Reset
Reset digunakan untuk mengembalikan mikrokontroler pada kondisi awal. Pada
keadaan tertentu, mikrokontroler dapat memasuki kondisi tak tentu akibat terjebak dalam
suatu loop atau sebab lain. Hal ini semacam “
hang up
” pada komputer.
Pada saat mikroprosesor mendapat reset, alamat dari
Program Counter
(PC) pada
mikroprosesor akan otomatis berisi nilai paling kecil ataupun paling besar (tergantung
arsitektur dari prosesor) dimana nilai pada
Program Counter
tersebut menunjuk ke alamat
program yang paling awal yang terdapat di dalam ROM
.
Rangkaian reset harus bisa
dikenal dengan
Power on Reset
, hal ini fungsinya untuk menjamin bahwa mikroprosesor
memulai mengambil instruksi dari awal program. Secara umum rangkaian untuk melakukan
reset terdiri dari 2 macam, yakni:
1.
Reset active high
: reset akan terjadi bila pada pin reset mendapat logika 1
selama beberapa saat.
2.
Reset active low
: reset akan terjadi bila pada pin reset mendapat logika 0
selama beberapa saat..
Pada kebanyakan mikroprosesor dibutuhkan waktu beberapa saat pin reset
mendapat logika 1 supaya terjadi reset, tetapi untuk PIC16F84 diberikan logika 0 untuk reset,
sehingga yang digunakan dalam perancangan ini adalah rangkaian
reset active low
.
gambarnya dapat dilihat pada gambar 2.8.
Gambar 2.8 Reset
active low
Pada saat pertama rangkaian di atas mendapat power, tegangan pada titik x
(tegangan kapasitor) akan sama dengan 0, sehingga terjadi reset. pada saat muatan di
kapasitor terisi dan mendekati penuh, maka pada titik x akan mulai muncul tegangan, yang
ditekan, seluruh muatan pada kapasitor maupun tegangan yang mengalir pada R akan
dialirkan semua ke
ground
(titik yang lebih rendah), sehingga titik x akan berlogika 0 dan
terjadilah reset. Waktu reset tersebut dapat dihitung dengan rumus T = RC. Untuk keamanan
dan untuk mencegah
bouncing
dari tombol reset yang dapat menyebabkan reset terjadi
beberapa kali meskipun tombol cuma sekali ditekan, maka ada baiknya pin reset diberi logika
0 selama lebih kurang 20 - 100 ms. Cara menanggulanginya adalah dengan mengatur nilai
pada resistor dan kapasitor yang mempengaruhi lama pengisian dan pembuangan muatan dari
kapasitor. Cara untuk menentukan nilai ini ialah dengan mencari konstanta waktu ( τ ),
dengan τ = R.C. Nilai τ menunjukkan waktu yang dibutuhkan kapasitor untuk melakukan
charging / discharging
sebesar 63,7 % dari tegangan catu, dan waktu yang dibutuhkan untuk
charging / discharging
penuh ialah 5 kali konstanta waktu (5.τ). Umumnya nilai R untuk
BAB III
RANCANGAN PENELITIAN
3.1 Perancangan Perangkat Keras
Gambar dibawah ini merupakan blok diagram pada perancangan perangkat keras.
Gambar 3.1 Blok diagram alat ukur pencacah banyaknya putaran motor
3.2 Pendeteksi Putaran Motor
Rangkaian pendeteksi putaran motor dalam perancangan ini berfungsi untuk
mendeteksi ada atau tidaknya tanda hitam pada beban motor (piringan), untuk itu
ditempelkan tanda hitam/gelap pada piringan tersebut (seperti terlihat pada gambar 3.2).
Terdeteksinya tanda hitam menandakan telah terjadinya 1 putaran.
Gambar 3.2 Penempelan tanda hitam pada motor
Sensor pendeteksi putaran motor disini menggunakan rangkaian LED inframerah
sebagai rangkaian sumber cahaya dan rangkaian fototransistor sebagai penerima cahaya.
Suatu putaran terdeteksi jika pancaran cahaya infra merah tersebut terkena tanda hitam pada
motor, sehingga pancaran cahaya tersebut akan dipantulkan dan diterima oleh fototransistor
ditunjukkan gambar 3.3.
Gambar 3.3 Keadaan sensor mengenai tanda hitam
Jika cahaya inframerah tidak terkena tanda hitam (terkena badan piringan), maka
cahaya inframerah tidak akan dipantulkan ke fototransistor (gambar 3.4).
Gambar 3.4 Keadaan sensor mengenai badan piringan
Rangkaian pendeteksi putaran motor mempunyai dua bagian yaitu rangkaian
3.2.1 Rangkaian Sumber Cahaya
Rangkaian sumber cahaya dari rangkaian deteksi putaran motor pada perancangan
ini menggunakan sebuah LED inframerah, rangkaian sumber cahaya dapat dilihat pada
gambar 2.5. Keluaran LED inframerah berupa bias cahaya dengan intensitas tertentu dan
dianggap sebagai sumber arus bagi kaki basis fototransistor. Dalam menentukan hambatan R
dsebagai pembatas arus pada LED inframerah, maka perlu diketahui tegangan bias maju dan
arus bias maju maksimum yang dimiliki oleh LED inframerah. Dari
datasheet
[4] diperoleh
data bahwa LED inframerah memiliki batas arus bias maju maksimum I
F= 100mA dan
tegangan bias maju maksimum V
F= 1.6V. Pada perancangan ini ditetapkan arus yang
mengalir pada LED inframerah sebesar I
F= 20mA dan tegangan catu yang digunakan adalah
5V, sehingga dapat diperoleh nilai resistor Rd dari persamaan matematis 2.2 adalah:
Ω
=
−
=
170
02
,
0
6
,
1
5
dR
Agar resistor dapat diperoleh di pasaran maka diambil nilai Rd yang mendekati
yaitu Rd = 180
Ω
.
3.2.2 Rangkaian Penerima
Bagian penerima cahaya dari rangkaian pendeteksi putaran adalah sebuah
fototransistor, rangkaian sumber cahaya dapat dilihat pada gambar 2.4. Pada perancangan
diinginkan fototransistor berprasikap sebagai saklar, sehingga fototransistor dibuat
saturasi
dengan cara membuat tegangan antara kaki kolektor dan emiter (V
CE) = 0,4V, I
Csat = 0,1 mA
sesuai dengan datasheet[4]. Keadaan tersebut dapat dicapai dengan cara memberi hambatan
pada kaki emiter (R
E).
V
CCyang diberikan pada fototransistor adalah V
CC= 5V, I
E≈
I
Csat sehingga dapat
Ω
≅
−
=
k
R
E46
0001
,
0
4
,
0
5
Pada perancangan digunakan nilai R
E= 47k
Ω
yang ada di pasaran.
Besarnya V
Odari gambar 3.5 jika fototransistor mendapat bias cahaya dari LED
inframerah dapat diperoleh melalui persamaan matematis 2.6. Jika I
Ehasil perancangan
adalah 1.8 mA, R
E= 4700
Ω
maka dapat diperoleh nilai V
O:
47000
0001
,
0
×
=
O
V
Volt
V
O=
4
,
7
Jika fototransistor tidak mendapat bias cahaya dari LED inframerah maka tegangan
V
O= 0V karena tidak ada arus I
Eyang mengalir melewati R
E. Keadaan keluaran pendeteksi
putaran motor saat terdeteksi tanda hitam dan tidak ada tanda hitam yang dideteksi dari
perancangan dapat dilihat pada tabel 3.5.
Gambar 3.5 Rangkaian deteksi adanya putaran
Rangkaian pendeteksi putaran motor ini memiliki dua keadaan keluaran, jika ada
tanda hitam pada badan piringan maka keluaran rangkaian deteksi putaran adalah 0,25 V
(Logika ‘0’ IC 74LS14 dari
datasheet
[4]). Sebaliknya jika tidak ada tanda hitam pada badan
piringan maka keluaran rangkaian deteksi putaran adalah 3,4 V (Logika ‘1’ IC 74LS14 dari
datasheet
[4]).
3.3 Rangkaian Reset
Pada perancangan ini waktu reset 100 ms dengan menggunakan nilai kapasitor C =
10 uF maka nilai resistansi dapat dihitung sebagai berikut :
FxR
ms
10
µ
100
=
Κ Ω
=
=
−−10
10
.
10
10
.
100
6 3
R
Sehingga rangkaiannya menjadi:
VCC
PIC16F877
Reset
Res et 10k
10u
x
Gambar 3.6 Rangkaian reset
3.4 Koneksi LCD dengan Mikrokontroler PIC16F84
LCD yang dipakai pada pada alat pencacah ini menggunakan sistem pengiriman
data 8-bit dan diperlukan 10 jalur data untuk berhubungan dengan sistem mikrokontroler
FRANKIE TJANDRA
NIM = 015114022
1. Delapan jalur data untuk mengirimkan data instruksi dan data karakter yang akan
ditampilkan, kedelapan jalur tersebut secara berurutan yaitu kaki 7 (DB0), kaki 8 (DB1),
kaki 9 (DB2), kaki 10 (DB3), kaki 11 (DB4), kaki 12 (DB5), kaki 13 (DB6), kaki 14
(DB7).
2. Dua jalur lainnya adalah kaki 4 (RS
/Register select
), dan kaki 6 (E
/Enable
).
Gambar 3.7. LCD dengan Pengiriman data 8 bit
3.4.2 Tampilan Perkenalan
Gambar 3.8 Tampilan perkenalan pada LCD
Begitu tombol power ditekan, maka LCD akan menampilkan nama dan nomor mahasiswa
PENCACAH PUTARAN
CACAH = 7654321
selesai
3.4.3 Tampilan Pencacah
Gambar 3.9 Tampilan pencacah pada LCD
Keterangan:
1. Pencacah satuan
2. Pencacah puluhan
3. Pencacah ratusan
4. Pencacah ribuan
5. Pencacah puluhan ribu
6. Pencacah ratusan ribu
7. Pencacah jutaan
3.4.4 Tampilan Akhir
Gambar 3.10 Tampilan akhir
Setelah pencacah mencapai cacahan 9.999.999, maka LCD akan menampilkan tulisan
3.5 Diagram Alir
3.5.1 Diagram Alir Utama
mulai
Inisialisasi pencacah dan inisialisasi LCD
Tampilan tunggu
Start ditekan?
Ya
Tidak
Deteksi sensor
Pencacah mencacah Ada tanda
hitam?
Tidak
Ada
Selesai
Gambar 3.11 Diagram alir utama
Inisialisasi pencacah berisi pemesanan tempat register untuk menyimpan data
unit-unit pencacah dan pemberian nilai awal tiap unit-unit pencacah. Inisialisasi LCD digunakan untuk
mengkonfigurasikan tampilan LCD sesuai dengan tampilan yang kita kehendaki. Tampilan
tunggu berisi tampilan perkenalan yang mencakup Nama Mahasiswa dan NIM, serta tampilan
dan pencacah akan mulai mencacah setiap kali sensor terkena tanda hitam yang dimulai dari
pencacah satuan.
3.5.2 Diagram Alir Pencacah Mencacah
Tambahkan ‘satuan’ dengan 1 Satuan >9? Tambahkan ‘puluhan’ dengan 1 Puluhan >9? Tambahkan ‘ratusan’ dengan 1 Mulai Ya Tidak Tampilkan LCD Tampilkan LCD Tampilkan LCD Tidak Ya Ribuan >9? Tambahkan ‘puluhan ribu’ dengan 1 Puluhan ribu >9? A Tampilkan LCD Ya Ya Tidak Tidak Tampilkan LCD Nolkan satuan Nolkan puluhan Nolkan ribuan Tambahkan ‘ribuan’ dengan 1 Nolkan ratusan Ratusan ribu>9? Tambahkan ‘jutaan’ dengan 1 Jutaan >9? Selesai Tampilkan LCD Ya Ya Tidak Tidak Tampilan LCD “SELESAI” Nolkan ratusan ribu Tambahkan ‘ratusan ribu’ dengan 1 Tampilkan LCD Ratusan>9? A A A Tidak Ya Nolkan puluhan ribu
Jika sensor mendeteksi tanda hitam, maka pencacah satuan akan ditambahkan dengan
1 kemudian tampilkan ke LCD. Kemudian jika satuan belum bernilai 9, maka satuan akan
ditambahkan 1 jika sensor mendeteksi tanda hitam. Jika satuan telah bernilai 9, maka nilai
satuan akan di-nol-kan dan pencacah puluhan ditambahkan dengan 1 kemudian tampilkan ke
LCD. Setiap pencacah satuan >9, maka pencacah puluahan akan ditambahkan dengan 1. Jika
nilai puluhan telah >9, maka nilai puluhan akan di-nol-kan dan pencacah ratusan akan
ditambahkan dengan 1 kemudian ditampilkan LCD. Demikian seterusnya sampai semua unit
pencacah bernilai 9, maka LCD akan menampilkan tulisan “SELESAI”.
3.5.3 Diagram Alir Tampil LCD
Pindahkan data PORTB ke W
Set pin RS pada LCD
Panggil tunda 200us
Panggil tunda 200us Set pin E pada
LCD
Clearkan pin E pada LCD
Panggil tunda 200us
Selesai Mulai
Data-data yang ada pada PORTB (yang akan ditampilkan) dipindahkan ke register W.
LCD akan menuliskan data dengan cara men-
set
pin RS (untuk mengakses register data)
kemudian men-
set
pin E (untuk penulisan data) dan men-
clear
-kannya lagi. Untuk tiap-tiap
langkah tersebut diberikan waktu delay agar LCD dapat mengakses perintah-perintah
BAB IV
ANALISA DAN PEMBAHASAN
4.1 Rangkaian Sensor
Pada rangkaian sensor ini terdiri dari pemancar dan penerima. Pada bagian pemancar
menggunakan infra merah, yang mana arus yang dibutuhkan pada perancangan untuk
memancarkan sinar infra merah yang baik atau kuat sekitar 20 mA agar jarak yang ditempuh
dapat maksimal. Jika dioda infra merah dialiri arus yang lebih besar dari 100 mA maka dioda
akan rusak (sesuai dengan
datasheet
). Pada rangkaian dioda infra merah ini digunakan
resistor yang besarnya 174 Ω menggunakan tegangan Vcc 5,02 V.
Dari pengamatan dioda infra merah didapatkan hasil pengukuran V
led= 1,23 V dengan V
R=
3,79 V, maka berdasarkan Hukum Ohm didapatkan:
mA
I
I
R
V
I
R7
,
21
174
79
,
3
=
=
=
Sedangkan pada pengamatan didapatkan Id terukur 21,2 mA.
Tabel 4.1. Tabel pengamatan rangkaian sensor
Keadaan
Fototransistor
V
c(V)
I
c(mA)
74LS14
(V)
Terkena tanda hitam
4,02
0,02
0,04
Terkena badan piringan
0,15
0,1
4,4
Pada saat fototransistor menerima cahaya infra merah akan dalam keadaan jenuh
sehingga tegangan dikaki kolektor akan mendekati ground yaitu 0,1 V. Semakin fokus infra
merah tersebut terhadap fototransistor maka tegangan pada kaki kolektor akan semakin
mendekati ground (0 V)
Pada saat fototransistor terkena tanda hitam pada piringan motor maka tegangan pada
kaki kolektor akan naik menjadi 4,02 V. Kejadian tersebut akan menaikkan nilai cacahan
pada tampilan LCD.
Gambar dibawah ini merupakan gambar sinyal keluaran pada photo transistor.
Gambar 4.1 Sinyal keluaran pada phototransistor
4.2 Pengkondisi Sinyal
Perubahan tegangan dari tinggi ke rendah atau sebaliknya sudah dapat mengaktifkan
schmitt trigger yang dihubungkan pada kaki kolektor fototransistor. Perubahan tegangan pada
kaki kolektor ini akan di inisialisasikan oleh schmitt trigger perubahan logika rendah ke
tinggi yang keluaran dari schmitt trigger dengan perubahan yang sebaliknya dengan tegangan
yang terukur dari 3,78 V untuk logika tinggi menuju 0,16 V untuk logika rendah.
Dengan adanya perubahan ini maka didapatkan gambar dari keluaran dari
fototransistor dan schmitt trigger. Dengan melihat gambar gelombang keluaran saat
fototransistor terhalang dan tidak terhalang didapatkan bentuk gelombang yang kurang tegas
antara perubahan keadaan rendah ke tinggi maka diperlukan schmitt trigger untuk
memperbaiki gelombang dari fototransistor. Dari gambar keluaran schmitt trigger didapat
gelombang yang tegas antara perubahan keadaan tinggi ke rendah dengan bentuk gelombang
trigger ini selain berfungsi untuk memberikan bentuk gelombang kotak yang tegas yang
dibutuhkan IC TTL juga membalikkan keluaran dari tinggi ke rendah.
Gambar 4.2. Sinyal keluaran pada 74LS14
4.3 Program Mikrokontroler
Dari diagram alir dapat dibuat program pada mikrokontroler PIC16F84.Data yang tersimpan
dalam bentuk 8 bit disajikan dalam tabel berikut :
Tabel 4.2. penyimpan data dalam berbagai format
Data
BCD unpacked
(8 bit)
BCD packed
(4 bit)
Biner
(4 bit)
ASCII
0
0000 0000
0000 0000
0000 0000
30H
1
0000 0001
0000 0001
0000 0001
31H
2
0000 0010
0000 0010
0000 0010
32H
3
0000 0011
0000 0011
0000 0011
33H
4
0000 0100
0000 0100
0000 0100
34H
5
0000 0101
0000 0101
0000 0101
35H
6
0000 0110
0000 0110
0000 0110
36H
7
0000 0111
0000 0111
0000 0111
37H
8
0000 1000
0000 1000
0000 1000
38H
9
0000 1001
0000 1001
0000 1001
39H
10
0000 0001
0000 0000
0001 0001
0000 1010
30H 31H
11
0000 0001
0000 0001
0001 0010
0000 1011
31H 31H
12
0000 0001
0000 0010
0001 0010
0000 1100
31H 32H
13
0000 0001
0000 0011
0001 0011
0000 1101
31H 33H
14
0000 0001
0000 0100
0001 0100
0000 1110
31H 34H
15
0000 0001
0000 0101
Penyimpan data menggunakan tipe data BCD
unpacked
(8 bit) memudahkan dalam
penampilan data, data mudah diubah menjadi format ASCII yang dapat ditampilkan secara
langsung melalui tampilan LCD. Sedangkan tipe data hexa lebih menghemat tempat. Format
data untuk hexa bila akan ditampilkan harus dilakukan konversi terlebih dahulu. Format data
hexa cocok untuk pengolahan data secara langsung.
4.4 Tampilan Pencacah
Berikut merupakan tampilan pencacah dengan 3 buah metode yang berbeda:
4.4.1 Metode manual
Metode ini dilakukan dengan cara memutar piringan pada motor sebanyak data yang
didapatkan seperti yang telah tertulis pada tabel 4.3.
Gambar 4.3 Sensor dan alat uji
Gambar 4.3 merupakan gambar sensor dan alat uji untuk pengujian data pada tabel
4.3 dan tabel 4.4
Tabel 4.3 Tabel pengamatan tampilan LCD terhadap tanda hitam.
Tanda Hitam ke-
Tampilan LCD
1
1
2
2
:
:
90
90
91
91
92
92
:
:
299
299
300
300
301
301
:
:
Dari pengambilan data pada metode ini, tampilan putaran pada LCD sesuai dengan
banyaknya sensor yang mendeteksi benda hitam
.
4.4.2
Metode Pemberian Tegangan
Metode ini dilakukan dengan menggunakan alat uji pada gambar 4.3 dengan cara
memberikan tegangan pada motor. Kecepatan motor pada alat uji dapat diketahui dari periode
pada keluaran 74LS14 (Gambar 4.2). Berikut merupakan data pengukuran:
Tabel 4.4 Data pengukuran jumlah putaran
No.
Periode
(ms)
Cacah=
Periode
60
rpm
(perhitungan)
Banyaknya cacah
1"
2"
5"
10"
1
58
1034
1030
2058
4655
10292
1038
2060
4650
10295
2
50
1200
1180
2390
5980
11803
1185
2397
5988
11813
3
34
1764
1756
3528
8792
17660
1758
3530
8797
17655
4
27
2222
2250
4470
11130
22516
2257
4473
11139
22526
5
25
2400
2391
4764
11855
23920
Jumlah putaran motor(rpm) =
Periode
putar
Waktu
(det)
……… (5.1)
Pengukuran banyaknya putaran motor dilakukan selama 1 menit, 2 menit, 5 menit,
dan 10 menit pada setiap periode. Banyaknya cacah putaran motor dalam perhitungan dapat
dibandingkan dengan data cacah putaran motor dalam waktu 1 menit.
Menurut rumusan 5.1, maka data perhitungan yang diperoleh pada tabel 4.4 masih
terdapat selisih dengan data pengamatan yang disebabkan oleh beberapa hal, antara lain:
1. Sulitnya mengukur/mengamati periode yang tepat pada layar osiloskop karena resolusi
pada osiloskop (keterbatasan alat ukur).
2. Sulit untuk menentukan waktu yang tepat pada motor untuk berhenti pada waktu yang
ditentukan.
4.4.3 Metode Perbandingan
Metode ini dilakukan dengan membandingkan dengan tampilan pada ‘mesin uji
kelelahan bahan’ dengan cara memberikan tanda hitam yang kecil/tipis pada motor yang
berputar. Berikut ini merupakan gambar hasil perbandingan putaran dengan ‘Alat Uji
Kelelahan Bahan’ pada Laboratorium Teknik Mesin.
Data-data perbandingan hasil putaran dengan ‘MesinUji Kelelahan Bahan’ dapat
dilihat pada tabel 4.5.
Tabel 4.5 Perbandingan jumlah putaran dengan ‘Alat uji kelelahan bahan’
No.
Jumlah putaran
LCD
Digital counter
Error (%) =
−
×
100
%
nt
DigitalCou
LCD
nt
DigitalCou
1
1142
1161
1,63
2
3760
3803
1,13
3
5668
5728
1,04
4
9103
9187
0,91
5
9243
9329
0,92
6
10074
10176
1
7
10823
10925
0,93
8
23993
24298
1,25
9
26198
26458
0,98
10
26450
26716
0,99
Dari data yang diperoleh pada tampilan cacah pada LCD masih terdapat
perbedaan/selisih dari tampilan pada ‘Mesin Uji Kelelahan Bahan’. Ini dapat berarti bahwa
alat ini sudah dapat untuk mendeteksi cacah putar pada kecepatan 2880 rpm, tetapi dengan
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
1. Pengolahan data yang tersimpan dalam pencacah tergantung pada tipe data yang
dipakai pada pencacah.
2. Alat ini dapat dikembangkan untuk dapat menjadi alternatif pencacah pada ‘alat uji
kelelahan bahan’.
3. Dilihat dari segi ekonomis alat ini mempunyai kelebihan jika dibandingkan dengan
sensor mesin uji kelelahan bahan, yaitu lebih murah dan mudah didapat di
pasaran.
5.2 Saran
1. Jarak antara sensor dengan putaran motor
≤
0,5cm agar dapat menghasilkan jumlah
cacahan yang baik.
2. Agar mudah mengamati putaran motor dengan baik, maka digunakan kecepatan
putaran motor yang rendah terlebih dahulu.
3. Sebaiknya digunakan tanda hitam yg kecil/tipis agar dapat menampilkan cacahan
yang benar.
4. Dengan mengurangi
level stack
yang digunakan, alat ini dapat dikembangkan lagi
untuk tampilan cacahan lebih dari 9.999.999.
5. Untuk menentukan kebenaran jumlah putaran yang terjadi pada ‘Mesin Uji
Kelelahan Bahan’, maka harus ada alat ukur yang dapat mengukurnya secara
tepat.
DAFTAR PUSTAKA
1. Pratomo, Andi,
Belajar Cepat Dan Mudah Mikrokontroler PIC16F84
, Gramedia,
Jakarta, 2004
2. Stanley.W.O, “
Operational Amplifier With Linier Integrated Circuit
” New York. Mc.
Millan College Publishing Co. 1994
3. www.jdm.homepage.dk
Re
47k
Sensor
RPOT
CONTRAST
1
3
2
START
R1
10k
RANGKAIAN SENSOR
5 V
4MHz
XTAL
10k
R1
U1
PIC16F84
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
RA2
RA3
RA4/TOCKI
MCLR
Vss
RB0/INT
RB1
RB2
RB3
RB4
RB5
RB6
RB7
VD
D
OSC1/CLKIN
OSC2/CLKOUT
RA0
RA1
RESET
U2A
74LS14
1
2
14
7