TUGAS AKHIR - Alat ukur pencacah putaran `mesin uji kelelahan bahan` dengan tampilan LCD menggunakan mikrokontroler PIC16F84 - USD Repository

TUGAS AKHIR

  

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

FINAL PROJECT

  

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

  

Tulisan ini kupersembahkan untuk

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“

KATA PENGANTAR

  Puji Tuhan karena telah memberikan bimbingan dan kasih-Nya kepada penulis untuk

menyelesaikan skripsi yang berjudulAlat 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.

  

10. Anak-anak “Tangkadas Putra” (Niko, N’kong, Alven, Aris, Yono, Wawan, Sigit, Koko,

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 nd

  Home 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

  

DAFTAR ISI

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 Mikrokontroler PIC16F84 ...........................................................................................

  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 Diagram alir................................................................................................................... 33

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

  

DAFTAR GAMBAR

Gambar 2.1 Mikrokontroler PIC16F84................................................................................. 6Gambar 2.2 Arsitektur PIC16F84.......................................................................................... 8Gambar 2.3 Format register status......................................................................................... 15Gambar 2.4 Rangkaian sumber cahaya.................................................................................. 17Gambar 2.5 Rangkaian penerima menggunakan fototransistor............................................. 19Gambar 2.6 Bentuk gelombang masukan dan keluaran pembanding histerisis..................... 20Gambar 2.7 Layar LCD 2x16................................................................................................ 21Gambar 2.8 Reset active low .............................................................................................. 24Gambar 3.1 Blok diagram alat ukur pencacah banyaknya putaran motor............................. 26Gambar 3.2 Penempelan tanda hitam pada motor................................................................. 26Gambar 3.3 Keadaan sensor mengenai tanda hitam.............................................................. 27Gambar 3.4 Keadaan sensor mengenai badan piringan ........................................................ 27Gambar 3.5 Rangkaian deteksi adanya putaran motor.......................................................... 29Gambar 3.6 Rangkaian reset.................................................................................................. 30Gambar 3.7 LCD dengan pengiriman data 8 bit ................................................................... 31Gambar 3.8 Tampilan perkenalan pada LCD........................................................................ 31Gambar 3.9 Tampilan pencacah pada LCD........................................................................... 32Gambar 3.10 Tampilan akhir................................................................................................. 32Gambar 3.11 Diagram alir utama........................................................................................... 33Gambar 3.12 Diagram alir pencacah mencacah..................................................................... 34Gambar 3.13 Diagram alir tampil ke LCD............................................................................ 35Gambar 4.1 Sinyal keluaran pada fototransistor.................................................................... 38Gambar 4.2 Sinyal keluaran pada 74LS14............................................................................. 39Gambar 4.3 Sensor dan alat uji.............................................................................................. 40Gambar 4.4 Perbandingan jumlah putaran dengan ‘alat uji kelelahan bahan’....................... 42

  

DAFTAR TABEL

Tabel 2.1 Deskripsi pin PIC16F84......................................................................................... 6Tabel 2.2 Tabel instruksi PIC16F.......................................................................................... 14Tabel 2.3 Tabel fungsi IC 74LS14......................................................................................... 21Tabel 2.4 Pin LCD HD44780U.............................................................................................. 22Tabel 3.1 Keluaran rangkaian pendeteksi putaran................................................................. 29Tabel 4.1 Tabel pengamatan rangkaian sensor...................................................................... 37Tabel 4.2 Penyimpanan data dalam berbagai format............................................................. 39Tabel 4.3 Tabel pengamatan tampilan LCD terhadap tanda hitam ....................................... 41Tabel 4.4 Data pengukuran jumlah putaran........................................................................... 41Tabel 4.5 Perbandingan jumlah putaran dengan ‘alat uji kelelahan bahan ........................... 43

  DAFTAR LAMPIRAN

  

A. Gambar Rangkaian ...................................................................................................... L1

  

B. Listing Program............................................................................................................ L2

  

C. Data Sheet..................................................................................................................... L3

  

ALAT UKUR PENCACAH PUTARAN ‘MESIN UJI KELELAHAN

BAHAN’ DENGAN TAMPILAN LCD MENGGUNAKAN

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

  

ROTATION COUNTER MEASUREMENT AT ‘ROTARY BENDING MACHINE’

WITH LCD APPEARANCE USING PIC16F84 MICROCONTROLLER

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.

  1

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

  2

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. Sensor yang digunakan untuk mendeteksi putaran adalah fototransistor dan infrared.

  3

  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 Pada bab ini berisi tentang penjelasan perancangan pencacah putaran.

  4

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.

DAFTAR PUSTAKA

  5

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

  16

sebanyak 65536 (2 ) 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

  10 RB4 - Port B

  18 RA1 - Port A

  17 RA0 - Port A

  

16 OSC1/CLKIN - Oscillator Input

  15 OSC2/CLKOUT - Oscillator Output

  

14 Vdd - Positive Power Supply

  13 RB7 - Port B

  12 RB6 - Port B

  11 RB5 - Port B

  9 RB3 - Port B

Tabel 2.1 Deskripsi pin PIC16F84

  8 RB2 - Port B

  7 RB1 - Port B

  6 RB0/INT – Port B

  5 Vss – Ground

  4 MCLR - Master clear input (active low)

  3 RA4/TOCK1 - Port A

  2 RA3 - Port A

  1 RA2 - Port A

  Pin Number Description

  6

  7 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) 2. 68 Byte memori data

  8 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

Gambar 2.2 Arsitektur mikrokontroler PIC16F84

  9 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 clock - 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 dialamati sebagaimana layaknya lokasi memori. Ada 13 I/O dalam PIC16F84.

  10

  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) bawah pada register f dan hasilnya dletakkan pada tujuan d.

  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 dengan nilai literal k. Hasilnya dikembalikan ke register W.

  11

2.2.2.2 Instruksi-instruksi Aritmetika dan Logika

  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.

  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 akan diberi logika 1.

  12

2.2.2.3 Instruksi-instruksi Operasi Bit

  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 ke pekerjaan awal, melanjutkan pekerjaan yang ditinggalkan akibat adanya interupsi.

  13

2.2.2.4 Instruksi Pengarah Aliran Program

  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.

Tabel 2.2 Tabel instruksi PIC16F

  14

2.2.2.5 Instruksi-instruksi lain

  15

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 3 = PD (Power Down bit)

  16 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

dan untuk penerimanya menggunakan fototransistor.

  17

  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

  I R ) V .......... .......... .......... .......... .......... .......... ..( 2 . 1 ) CC = F × d F

  • V (

  V V CCF

  R .......... .......... .......... .......... .......... . .(2.2) = … … … … d

  I F Vcc = tegangan 5V

  V F = tegangan dioda

  I F = arus IRLED R d = resistor

  18

2.3.2 Fototransistor