UKUR KECEPATAN PUTARAN MOTOR
Diajukan untuk memenuhi salah satu syarat memperoleh gelar sarjana Teknik
pada Program Studi Teknik Elektro Fakultas Teknik
Universitas Sanata Dharma
Disusun oleh
ANDREAS OKTAVIANTO
NIM : 005114068
PROGRAM STUDI TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
Final Project
Presented as a partial fulfillment of the requirements to obtain the TEKNIK Degree in
Electrical Engineering Study Program
By
ANDREAS OKTAVIANTO
Student Number : 005114068
ELECTRICAL ENGINEERING STUDY PROGRAM
ELECTRICAL ENGINEERING DEPARTMENT
ENGINEERING FACULTY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2007
Saya menyatakan dengan sesungguhnya bahwa tugas akhir yang saya tulis ini
tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam
kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.
Yogyakarta,
_______________
Penulis
Andreas oktavianto
♠ Tuhanku Yesus kristus & Bunda Maria
♠ Kedua Orang tuaku tercinta …
♠ kakak-kakakku dan adikku terima kasih
Atas dukungannya
♠ Semua Teman-teman dan sahabatku …
♠ Almamaterku…
mengukur kecepatan putaran motor yaitu menggunakan tachometer. Kelemahan
menggunakan metode ini yaitu membutuhan waktu dan tidak segera tampak keadaan
stabil.
Pada penelitian ini, dirancang suatu alat ukur kecepatan putaran motor dengan
menggunakan metode dinamometer. Pengukuran dengan dinamometer adalah
pengukuran tegangan balik motor akibat adanya putaran pada motor. Unit pengolah
menggunakan mikrokontroler PIC16F877 yang di dalamnya terdapat ADC 10 bit
Alat ukur ini mampu mengukur kecepatan putar motor dengan jangkauan antara
0–10000 RPM, tampilan pengukuran menggunakan LCD.
Kata kunci : aplikasi mikokontroler, pengukuran kecepatan putaran
speed rotation of machine display. The methods of motor speed rotation measurement
usually use tachometer. The weaknesses of this methods was need time to complete
and steady state
In this research, an instrument to measure rotation speed of motor using
dynamometer has also been designed. Measurement using dynamometer method was
measurement of motor back tension as result of existence of rotation at motor. Processor
unit using PIC16F877 microcontroller which consist of 10 bit ADC .
This measuring instrument was able to measure the angular speed of the motor
with the range between 0 - 10000 rpm, the display measurement used LCD.
Keywords: microcontroller application, angular speed measurement
.
pimpinan dan penyertaan-Nya sehingga penulis dapat meyelesaikan Tugas Akhir yang
berjudul “
APLIKASI MIKROKONTROLER PIC16F877 SEBAGAI ALAT UKUR
KECEPATAN PUTARAN MOTOR
”. Tugas Akhir ini disusun sebagai salah satu syarat
untuk memperoleh gelar Sarjana Teknik. Dalam penyusunannya, banyak pihak yang telah
membantu dan memberikan dukungan pada penulis, oleh karena itu, penulis ingin
mengucapkan terima kasih kepada:
1. B. Djoko Untoro S., SSi, MT selaku Pembimbing I yang bersedia meluangkan
waktunya untuk membimbing dalam proses penyusunan tugas akhir ini.
2. Bapak Ir. Iswanjono, M.T selaku penguji.
3. Bapak Ir. Tjendro selaku penguji.
4. Bapak Damar Widjaja, ST , MT selaku penguji.
5. Mas Broto Mardi, mas Suryo, Hardi yang telah membantu dalam penyediaan alat di
Lab.
6. Bapak dan ibu dosen pada Jurusan Teknik Elektro yang telah membagi dan
mengajarkan banyak ilmu kepada penulis.
7. Bapak, Ibu, kakak_kakakku mas didik,mas dwi, mas wawan dan adiku ambar
trimakasih atas dukungannya selama ini.
8. Tim hibahku Koko dan franki, matur nuwun frend.
9. Tim hibah PHK andry cs, galuh, nandy, indra , hernomo, sulis dan tim phk yang lain.
Irwan ST, Purnomo ST, Aan ST, Agus Florent ST, Robert ST, Wayan ST, Arnold
ST, Wisnu ST , serta semua angkatan TE 2000.
12. Anak-anak kost putra “pondok lawu ” wawan, wiwit, panjol, indra, ki topek, tam, nur,
dedi, yudi, dilli, venus, nando, dwik, Mas welly mbak nia, ibuk.
13. Anak-anak kost putra Tangkadas, herri, simbah,sinung,pandi charles, terimakasih.
14. Teman-teman operator warnet GARDENet & JUPITERnet, Mas ardi & mbak tanti,
bambang, vero, teo, kang ari, bertus, haning dan teman2 OP yang lain thank's.
Penulis menyadari bahwa penulisan skripsi ini masih banyak terdapat kesalahan
dan kekurangannya, maka dari itu kritik dan saran sangat diharapkan dari berbagai pihak
agar penulis dapat lebih maju dan lebih baik.
Akhirnya penulis juga berharap semoga karya tulis ini bermanfaat bagi pembaca,
sekian dan terima kasih.
Yogyakarta…………
Penulis
Andreas Oktavianto
HALAMAN JUDUL………
i
HALAMAN JUDUL BAHASA INGGRIS ……….. ii
HALAMAN PERSETUJUAN………. ..
iii
HALAMAN PENGESAHAN ……….…………..…………
iv
PERNYATAAN KEASLIAN KARYA……….….…………
v
HALAMAN PERSEMBAHAN………..………
vi
INTISARI………... vii
ABSTRACT………... viii
KATA PENGANTAR……….
ix
DAFTAR ISI………
xi
DAFTAR TABEL………
xv
DAFTAR GAMBAR………...
xvi
DAFTAR LAMPIRAN………. ..
xxi
BAB I.
PENDAHULUAN……….………….
1
1.1
judul………
1
1.2 Latar Belakang Masalah………...
1
1.6 Metodologi penelitian………...
3
1.7 Sistematika Penulisan………...
4
BAB II.
DASAR TEORI……….
5
2.1. beberapa macam cara pengukuran putaran motor ……….. 5
2.2. Pengukuran kecepatan dengan metode generator ………. ……. 7
2.3. pengkondis sinyal ………. . 8
2.4. LCD……… 8
2.5. Rangkaian reset ……… 12
2.6. Mikrokontroller PIC16F877 ……… …… 15
2.6.1 Arsitektur PIC16F877……….…………. ... 18
2.6.2 Instruksi-intruksi untuk seri PIC16………... 20
2.6.3
Instruksi-instruksi
transfer data ……… 20
2.6.4
Instruksi-instruksi
aritmatika dan logika ………. …… 21
2.6.5 Instruksi-instruksi Operasi bit ……….. 22
2.6.6 Instruksi Pengarah aliran program……… 23
2.6.7 Instruksi-intruksi lain ……… …….. 24
3.1.1 Perancangan perangkat keras untuk metode tachogenerator… 29
3.2 Pengamatan sensor tachogenerator……….. 30
3.3 Perancangan pengkondisi sinyal ……… 36
3.4 Perancangan ADC……… 37
3.5 Perancangan antarmuka LCD dengan Mikrokontroler……… 37
3.6 Rangkaian reset……… 39
3.7 Perancangan perangkat lunak ……….
40
3.8 Penjelasan diagram alir utama ………
41
3.8.1 Diagram alir program utama ………..…………..
41
BAB IV. DATA DAN PEMBAHASAN………. 44
4.1 Hasil akhir perancangan ………... 44
4.2 Pengukuran kecepatan putaran motor dengan multimeter………... 45
4.3 Perbandingan data hasil pengukuran menggunakan multimeter
terhadap data pengukuran dengan alat ……… 46
4.4
Pembahasan……….
49
BAB V
KESIMPULAN DAN SARAN ……… 51
5.1
Kesimpulan
………...
51
Tabel 2.3
Kemampuan yang ada pada PIC16F877...
17
Tabel 2.4
Instruksi pada PIC16F877... ...
21
Tabel 3.1
Data hasil pengamatan pada tachogenerator...
32
Tabel 3.2
Selisih setiap kenaikan putaran motor dan kenaikan
tachogenerator...
34
Tabel 4.1
Perbandingan data hasil pengukuran menggunakan
multimeter terhadap data pengukuran dengan alat ...
42
Tabel 4.2
percobaan dengan memberikan input alat ukur berupa
tegangan………
48
Gambar 2.3
Pengukuran menggunakan photo interuptor...
6
Gambar 2.4
Bagian-bagian dari tachogenerator DC...
7
Gambar 2.5
Rangkaian pembagi tegangan...
8
Gambar 2.6
Display LCD 2 × 16 karakter...
10
Gambar 2.7
Reset active low... 14
Gambar 2.8
Mikrokontroler PIC16F877……….
15
Gambar 2.9
Arsitektur Mikrokontroler PIC16F877………
18
Gambar 2.10
Format register status………..
25
Gambar 3.1
Diagram blok alat pengukur kecepatan motor...
28
Gambar 3.2
Menangkap putaran mesin dengan cara mencapit ujung
motor yang akan diukur………
29
Gambar 3.3
menangkap putaran mesin dengan cara menempelkan
bagian motor yang akan diukur………..
29
Gambar 3.4
Motor tachogenerator...
31
Gambar 3.5
Percobaan untuk mengetahui karakteristik tachogenerator….
32
Gambar 3.6
Grafik perbandingan antara kecepatan puataran motor
dengan tegangan yang dihasilkan oleh tachogenerator …....
33
Gambar 3.7
Rangkaian pembagi tegangan...
36
Gambar 3.8
Antarmuka LCD dengan Mikrokontroler...
38
Gambar 3.9
Tampilan nama dan nama mahasiswa...
38
Gambar 3.10
Rangkaian reset...
38
Gambar 3.11
Diagram alir program utama...
40
Gambar 3.12
Diagaram alir proses pengolahan pada mikrokontroler agar
data dapat ditampilkan ke LCD ...
41
Gambar 4.1
Alat ukur kecepatan putaran motor...
44
Gambar 4.2
Pengukuran kecepatan putaran motor dengan multimeter...
45
Gambar 4.3
Pengukuran kecepatan putaran motor menggunakan alat
ukur dan multimeter……….
46
BAB I
PENDAHULUAN
1.1 Judul
Aplikasi Mikrokontroler PIC16F877 sebagai alat ukur kecepatan putaran
motor.
1.2 Latar Belakang Masalah
Pengukuran merupakan suatu kegiatan yang penting untuk mengetahui
ukuran sesuatu. Pengukuran yang dilakukan di laboratorium, terutama
laboratorium otomotif antara lain: pengukuran suhu (meliputi suhu radiator, suhu
oli pelumas dan suhu saluran gas buang), pengukuran kecepatan putaran motor
dan lain-lain.
Metode yang banyak digunakan untuk mengukur kecepatan putaran motor
yaitu menggunakan tachometer. Kelemahan menggunakan metode ini yaitu
diperlukan waktu pengukuran minimal 1 detik. Perubahan kecepatan tidak segera
tampak. Untuk putaran motor (mesin) perubahan kecepatan dapat terjadi kurang
dari 1 detik. Pada penelitian ini akan dirancang dan diimplementasikan suatu alat
ukur kecepatan motor menggunakan metode tachogenerator berbasis
mikrokontroler PIC16F877. Dengan metode ini diharapkan pengukuran kecepatan
bisa lebih cepat. Hasil yang akan dicapai adalah tersedianya suata alat ukur
kecepatan putaran motor yang dapat mengukur dan menampilkan hasil
pengukuran dengan tampilan berupa LCD.
1.3 Tujuan
Tujuan dari perancangan dan pembuatan alat ini adalah membuat peralatan
yang dapat dipakai untuk mengukur kecepatan putaran motor per menit (rpm),
dengan jangkauan pengukuran hingga 10000 RPM. Hasil pengukuran
ditampilkan menggunakan tampilan berupa LCD 2x16.
1.4 Batasan Masalah
Alat ukur kecepatan putaran motor yang dirancang mempunyai batasan
masalah sebagai berikut :
1. Jangkaun pengukuran kecepatan putaran hingga 10000 RPM.
2. Hasil pengukuran di tampilkan pada LCD.
3. Pengukuran dalam satuan RPM (Rotation per minute)
1.5 Manfaat
Manfaat yang dapat dicapai dari penelitian ini, antara lain :
1. Menambah literatur tentang aplikasi mikrokontroler menggunakan PIC.
2. Dapat dijadikan sebagai acuan dalam pengembangan terhadap aplikasi
mikrokontroler PIC16F877.
I.6. Metodologi Penelitian
Pada penelitian ini, penulis menggunakan langkah-langkah sebagai
berikut:
1. Perumusan masalah, yaitu bagaimana mengimplementasikan suatu alat
ukur kecepatan putaran motor.
2. Pengumpulan dokumen pendukung, berupa buku-buku dan data sheet
yang berhubungan dengan elektronika dan mikrokontroler.
3. Perancangan untuk menyelesaikan masalah, berupa perhitungan
matematis, penentuan komponen dan nilai-nilai yang digunakan,
menggambar rangkaian serta membentuk diagram alir.
4. Implementasi dari perancangan.
5. Pengambilan data dengan melakukan pengukuran di lab.
6. Pengolahan data dengan membandingkan hasil pengukuran dengan
hasil perhitungan matematis.
7. Penyajian data dengan grafik dari hasil percobaan dan perhitungan
matematis.
8. Penulisan laporan.
I.7 Sistematika Penulisan
Penulis melakukan penelitian dengan merancang alat dan mengambil data
dari alat yang telah dirancang tersebut. Laporan penelitian dibagi menjadi 5 bab
yang secara singkat dapat dijelaskan sebagai berikut:
BAB I
Memuat pendahuluan yang berisi latar belakang penelitian, batasan
masalah, tujuan dan manfaat penelitian, metodologi penelitian, serta
sistematika penulisan laporan.
BAB II Berisi dasar teori yang dipakai oleh penulis untuk melakukan
penelitian.
BAB III Berisi tentang perancangan alat yang terdiri dari diagram blok,
perhitungan nilai komponen, gambar tiap rangkaian beserta diagram alir
program.
BAB
IV Berisi data hasil percobaan alat yang telah dibuat beserta
pembahasannya.
BAB V Berisi kesimpulan dari penelitian yang telah dilakukan serta saran yang
dianggap perlu.
BAB II
DASAR TEORI
II.1 Beberapa Macam Cara Pengukuran Putaran Motor
Untuk pengukuran kecepatan putaran motor terdapat beberapa cara
diantaranya :
1. Pengukuran kecepatan dengan metode generator
Gambar 2.1 Pengukuran menggunakan metode generator
Pada gambar 2.1 jika motor berputar maka generator akan ikut
berputar,sehingga akan menimbulkan tegangan. Tegangan yang timbul
pada generator sebanding dengan kecepatan putar motor.
2. Pengukuran menggunakan photo reflector pada tachometer
Gambar 2.2 Pengukuran menggunakan photo reflector pada
tachometer
Tachometer pada gambar 2.2 menghasilkan sinar dan pada sumbu
motor dipasang suatu lapisan yang dapat memantulkan sinar.
Banyaknya pulsa yang masuk ke tachometer menunjukkan kecepatan
putaran motor.
3. Pengukuran menggunakan photo interuptor
Gambar 2.3 Pengukuran menggunakan photo interuptor
Motor pada gambar 2.3 di beri piringan yang bercelah, piringan berputar
sesuai dengan kecepatan motor. Piringan ditempatkan pada sensor photo
interuptor, dan menghasilkan pulsa yang sebanding dengan kecepatan dan
cacah celah piring.
4. Pengukuran menggunakan stroboscope
Stroboscope merupakan suatu alat yang berkedip dan dapat diatur
kedipannya, bila kedipannya sebanding dengan putaran maka akan
membentuk suatu pola tertentu.
Beberapa cara diatas hanya merupakan beberapa contoh pengukuran putaran
motor.
II.2 Pengukuran Kecepatan Motor Dengan Metode Tachogenerator
Pengukuran menggunakan metode putaran (photo interuptor) memerlukan
pengukuran sebesar satu detik. Untuk putaran motor (mesin) perubahan kecepatan
dapat terjadi dalam waktu kurang satu detik. Pada penelitian ini akan dicoba
pengukuran kecepatan motor menggunakan metode generator.
Gambar 2.4 Bagian-bagian dari tachogenerator DC
Sensor yang sering digunakan untuk sensor kecepatan angular adalah
tachogenerator. Tachogenerator adalah sebuah generator kecil yang
membangkitkan tegangan DC ataupun tegangan AC. Dari segi eksitasi
tachogenerator dapat dibangkitkan dengan eksitasi dari luar atau imbas
elektromagnit dari magnit permanen.
Tachogenerator DC dapat membangkitkan tegangan DC yang langsung
dapat menghasilkan informasi kecepatan, sensitivitas tachogenerator DC cukup
baik terutama pada daerah kecepatan tinggi. Tachogenerator DC yang bermutu
tinggi memiliki kutub-kutub magnit yang banyak sehingga dapat menghasilkan
tegangan DC dengan riak gelombang yang berfrekuensi tinggi sehingga mudah
diratakan. Tegangan yang timbul pada generator sebanding dengan kecepatan
putar motor. Pada saat terjadi putaran ,maka motor DC akan menghasilkan
tegangan induksi yang besarnya sebanding dengan kecepatan putar.
ω
emfV
≅
=
. Ω ………. (2.1)
emfV
K
eDengan ω merupakan kecepatan sudut motor dan
merupakan konstanta
motor, semakin cepat motor berputar maka tegangan induksi yang terjadi juga
sangat besar. Dengan melakukan kalibrasi maka tegangan yang timbul dari
tachogenerator dapat di buat menjadi skala kecepatan .
e
K
II.3 Pengkondisi Sinyal
Output dari tachogenerator sangat besar, biasanya melebihi dari tegangan
input ADC dari mikrokontroler, oleh karena itu diperlukan suatu pengkondisi
sinyal. Rangakaian pembagi tegangan diperlukan agar output tachogenerator
bisa disesuiakan dengan input ADC dari mikrokontroler.
Dari gambar 2.5 Vout dapat dicari dengan :
Vin
R
R
R
Vo
1
2
1
+
=
………..(2.2)
II.4 LCD (Liquid Crystal Display )
LCD (
Liquid Crystal Display) adalah suatu tampilan (display) dari bahan
cairan kristal yang dioperasikan dengan menggunakan sistem dot matriks. Pada
perancangan alat ini digunakan Display LCD 2 × 16 karakter, yang artinya LCD
ini memiliki 2 baris dan 16 kolom karakter, sehingga jumlah total karakter yang
dapat ditampilkan sekaligus adalah sebanyak 32 karakter. Masing-masing karakter
tersebut terbentuk dari susunan dot yang berukuran 8 baris dan 5 kolom dot.
Jenis LCD yang digunakan dalam perancangan alat ini adalah LCD
HD44780U. Interface LCD HD44780U dengan mikrokontroler dapat dilakukan
dengan sistem 4-bit ataupun 8-bit.
LCD yang dipakai pada alat pencacah ini menggunakan sistem pengiriman
data 8-bit dan diperlukan 10 jalur data untuk berhubungan dengan sistem
mikrokontroler PIC16F877. Kesepuluh jalur data tersebut adalah :
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).
Gambar 2.6. Display LCD 2 × 16 karakter
HD44780U memiliki beberapa bagian, yaitu:
1. Register
HD44780U memiliki dua buah register 8-bit, yaitu IR (Instruction
Register) dan DR (Data Register). IR merupakan register yang hanya
dapat ditulis untuk menyimpan kode-kode instruksi seperti clear display,
cursor shift, dan juga untuk alamat dari DDRAM (display data RAM)
ataupun CGRAM (Character Generator RAM). Sedangkan DR (Data
Register) merupakan register yang dapat ditulis maupun dibaca untuk
penyimpanan sementara data yang akan ditulis atau dibaca dari atau
kedalam DDRAM ataupun CGRAM.
2. BF (Busy Flag)
Jika BF berlogika ‘1’ maka driver HD44780U akan menjalankan operasi
internal, sehingga instruksi selanjutnya tidak dapat dijalankan. Maka untuk
dapat menjalankan instruksi selanjutnya perlu diperiksa apakah BF
tersebut berlogika ‘0’, atau dapat juga dilakukan dimana pengiriman data
selanjutnya dilakukan dalam waktu yang lebih lama dari waktu yang
dibutuhkan untuk melakukan eksekusi instruksi data sebelumnya.
3. AC (Address Counter)
Fungsi AC adalah untuk mengalamati DDRAM dan juga CGRAM.
4. DDRAM (Display Data RAM)
DDRAM digunakan untuk menyimpan tampilan data yang
direpresentasikan dalam bentuk 8-bit kode karakter. DDRAM memiliki
kapasitas 80× 8 bit atau jenis 80 karakter.
5. CGROM (Character Generator ROM)
CGROM merupakan RAM (Read Only Memory) berukuran 64× 8 bit yang
memungkinkan pemakai untuk memprogram bentuk karakter yang
diinginkan. LCD yang digunakan adalah LCD buatan Hitachi dengan
driver HD44780U yang memiliki 16 pin seperti yang ditunjukkan pada
tabel berikut:
Tabel 2.1 Display LCD HD44780U
Nomor Pin
Simbol
Nomor
Simbol
1 VEE (0V)
9
DB2
2 VCC (5V)
10
DB3
3 GND
(0V)
11 DB4
4 RS 12
DB5
5 R/W 13
DB6
6 E 14
DB7
7 DB0 15 A
8 DB1 16 K
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.
II.5 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 menjamin, bahwa ketika sistem mendapat daya,
reset harus otomatis terjadi atau yang lebih 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 PIC16F77 diberikan
logika 0 untuk reset, sehingga yang digunakan dalam perancangan ini adalah
rangkaian reset active low. gambarnya dapat dilihat pada gambar 2.7.
Gambar 2.7 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 dianggap oleh pin reset sebagai logika 1, sehingga reset
pun tidak terjadi. Pada saat tombol 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 rangkaian reset berkisar antara 1-10 kΩ dan untuk C
berkisar antara 0,1 - 10 µF.
II.6 Mikrokontroler PIC16F877
Berikut merupakan mikrokontroler yang akan digunakan pada
perancangan, yaitu PIC16F877.
Tabel 2.2 Nama setiap pin PIC16F877
Pin Number
Description
1
MCLR/Vpp - Master clear input (active low)
2
RA0/AN0 - Port A
3
RA1/AN1 - Port A
4
RA2/AN2/Vref/CVref - Port A
5
RA3/AN3/Vref - Port A
6
RA4/TOCK1/C1OUT - Port A
7
RA5/AN4/SS/C2OUT - Port A
8
RE0/RD/AN5 - Port E
9
RE1/WR/AN6 - Port E
10
RE2/CS/AN7 - Port E
11
Vdd - Positive Power Supply
12
Vss - Ground
13
OSC1/CLKIN - Oscillator
14
OSC2/CLKOUT - Osciallator
15
RC0/T1OSO/T1CKI - Port C
16
RC1/T1OSI/CCP2 - Port C
17
RC2/CCP1 - Port C
18
RC3/SCK/SCL - Port C
19
RD0/PSP0 - Port D
20
RD1/PSP1 - Port D
21
RD2/PSP2 - Port D
22
RD3/PSP3 - Port D
23
RC4/SDI/SDO - Port C
24
RC5/SDO - Port C
25
RC6/TX/CK - Port C
26
RC7/RX/DT - Port C
27
RD4/PSP4 - Port D
28
RD5/PSP5 - Port D
29
RD6/PSP6 - Port D
30
RD7/PSP7 - Port D
31
Vss - Ground
32
Vdd - Positive Power Supply
33
RB0/INT - Port B
Tabel 2.2 (Lanjutan) Nama setiap pin PIC16F877
Pin Number
Description
35
RB2 - Port B
36
RB3/PGM - Port B
37
RB4 - Port B
38
RB5 - Port B
39
RB6/PGC - Port B
40
RB7/PGD - Port
Mikrokontroler PIC16F877 merupakan mikrokontroler yang
dikembangkan dan diproduksi oleh perusahaan Microchip. Mikrokontroler
PIC16F877 termasuk dalam mikrokontroler 8 bit, yang berarti dapat melakukan
pengolahan data sebanyak 8 bit secara langsung.
Tabel 2.3 Kemampuan yang ada pada PIC16F877 yaitu sebagai berikut :
FITUR PIC16F877
Max operating freq
20Mhz
Flash Program Memory ( 14 bit word )
1K
Data Memory (byte)
368
EEPROM (byte)
256
I/O port
Port A,B,C,D,E
Interupsi 14
Timer 3
ADC
10 bit, 8 ch
II.6.1 Arsitektur PIC16F877
Gambar 2.9 Arsitektur mikrokontroler PIC16F877
Bagian-bagian utama dari mikrokontroler PIC16F877 (gambar 2.2), yaitu:
1. ALU
Merupakan bagian mikrokontroler yang bertanggungjawab terhadap
operasi aritmatika (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 aritmatika 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 33 I/O dalam PIC16F877.
7. Timer
Timer
digunakan untuk keperluan menghasilkan tunda, mencacah pulsa,
8. A/D converter
Digunakan untuk mengubah sinyal analog menjadi sinyal digital.
9. USART
Digunakan untuk berkomunikasi secara serial dengan PC.
II.6.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 aritmatika dan logika, 2 instruksi pengarah aliran program dan instruksi
umum.
II.6.3 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 ,e,indah kan 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.
II.6.4 Instruksi-instruksi Aritmatika Dan Logika
Mikrokontroler PIC seri 16 hanya mengenal operasi aritmatika 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
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.
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.
II.6.5 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 akan diberi logika 1.
II.6.6 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 ke pekerjaan awal, melanjutkan pekerjaan yang
ditinggalkan akibat adanya interupsi.
II.6.7 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.
Tabel 2.4 Instruksi pada PIC16F877
II.6.8 Register Status
Register status berisi status aritmatika 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
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 aritmatika atau logika sama dengan nol.
1 = hasil operasi sama dengan nol
0 = hasil operasi tidak sama dengan nol
Bit 3 = PD (Power Down bit)
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
BAB III
PERANCANGAN ALAT
III.1 Perancangan Perangkat Keras
Pada perancangan perangkat keras ini meliputi sensor, rangkaian
pengkondisi sinyal, tombol (power dan reset), unit penampil LCD. Untuk
bagian-bagian dari perancangan alat ukur kecepatan putaran motor secara lengkap dapat
dilihat pada gambar 3.1
Penangkap putaran
motor
sensor
Tachogenerator
PIC16F877
ADC
Unit penampil
LCD
Pengkondisi sinyal
Tombol power
Tombol reset
III.1.1 Perancangana Perangkat Keras Untuk Metode Tachogenerator
Pada perancangan ini yang akan di ukur adalah kecepatan putaran motor.
Ada beberapa cara pengukuran, antara lain dengan menjepit ujung dari bagian
motor yang akan diukur ( gambar 3.2) dan menempelkan penangkap putaran pada
ujung bagian motor yang akan di ukur ( gambar 3.3 )
Gambar3.2 menangkap putaran mesin dengan cara mencapit ujung
motor yang akan diukur.
Gambar3.3 menangkap putaran mesin dengan cara menempelkan
bagian motor yang akan diukur.
Pada saat motor yang akan di ukur berputar tachogenerator juga ikut
berputar dan menghasilkan tegangan induksi yang besarnya sebanding dengan
kecepatan putar motor .
III.2 Pengamatan Sensor Tachogenerator
Pengamatan pada sensor tachogenerator sangat diperlukan mengetahui
karakteristik dari tachogenerator.
Pada pengamatan penulis menggunakan
tachogenerator yang ada di laboratorium tugas akhir (gambar 3.4).
Tachogenerator ini telah menjadi satu dengan motor dc, jika motor dc diputar
maka tachogenerator akan ikut berputar dan menghasilkan tegangan yang
besarnya tergantung dari kecepatan putar motor dc. Semakin cepat motor dc
berputar semakin besar pula tegangan yang dihasilkan oleh tachogenerator.
Untuk mengetahui berapa kecepatan putaran motor dan berapa tegangan
keluaran tachogenerator dilakukan suatu percobaan. Pada percobaan yang
dilakukan digunakan piringan yang bercelah (rotary encoder) yang ditempatkan
pada ujung motor, dan diantara piringan diberi sensor berupa optokopler (gambar
3.5) untuk mengetahui kecepatan putar motor DC. Dan untuk mencari kecepatan
putaran motor dc dapat dicari dengan rumus :
rpm =
h
JumlahCela
Fin
x 60s
Karena jumlah celah yang digunakan 60 buah, maka persamaannya dapat
disederhanakan menjadi:
rpm = Fin
Keterangan :
Fin = Frekuensi yang terukur pada sensor optokopler.
Pengukuran frekuensi dilakukan dengan dengan menggunakan multimeter digital.
Gambar 3.4 Motor tachogenerator
Keterangan gambar :
1. Motor DC dengan tachogenerator
2. Input power supply untuk motor DC
3. Output tachogenerator
Gambar 3.5 Percobaan untuk mengetahui karakteristik tachogenerator
Tabel 3.1 Data hasil pengamatan pada tachogenerator.
Pengamatan
Kecepatan putaran motor DC
Tegangan output tachogenerator
(RPM)
(Volt)
1 250
0.76
2 508
1.63
3 760
2.43
4 1069
3.42
5 1245
3.98
6 1526
4.9
7 1731
5.55
8 2001
6.36
9 2272
7.3
10 2500
8
11 2753
8.8
12 3003
9.61
13 3272
10.30
14 3512
11.25
15 3758
11.89
16 4005
12.78
17 4261
13.58
18 4510
14.37
19 4776
15.21
20 5004
15.91
21 5225
16.71
22 5519
17.55
23 5738
18.20
24 5965
18.89
Tabel 3.1 (Lanjutan) Data hasil pengamatan pada tachogenerator.
Pengamatan
Kecepatan putaran motor DC
Tegangan output tachogenerator
(RPM)
*
Huruf tebal pada data diatas menunjukkan pengambilan data dilakukan dengan menghitung selisih data setiap kenaikan putaran motor dan tegangan tachogenerator.(Volt)
25 6229
19.76
26 6517
20.67
27 6762
21.39
28 7010
22.19
29 7247
22.92
30 7517
23.71
31
7787
24.5
32 8057
25.29
33 8327
26.08
34 8597
26.87
35 8867
27.66
36 9137
28.45
37 9407
29.24
38 9677
30.03
39 9947
30.82
40 10217
31.61
Grafik perbandingan antara kecepatan putaran motor dengan tegangan yang dihasilkan tachogenerator
0 5 10 15 20 25 30 35 40 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 11000
Kecepatan putaran motor (RPM)
T e gangan t achogener a to r (V o lt)
Gambar 3.6 Grafik perbandingan antara kecepatan puataran motor dengan
tegangan yang dihasilkan oleh tachogenerator
Dari data tabel 3.1 dan grafik 3.1 dapat dilihat bahwa semakin cepat
putaran motor maka tegangan yang dihasilkan tahogenerator juga semakin besar.
Untuk pengukuran diatas 10000 RPM belum didapatkan data karena motor yang
di gunakan belum mampu berputar mencapai 10000 RPM. Oleh karena itu untuk
mendapatkan data kecepatan putaran motor agar mencapai 10000 RPM maka dari
data diatas dapat diambil rata-rata berapa kenaikan tegangan setiap kenaikan
putaran motor, dengan menghitung jumlah selisih kenaikan putaran motor dan
kenaikan tegangan, kita dapat mengambil berapa rata-rata kenaikannya.
Tabel 3.2 selisih setiap kenaikan putaran motor dan kenaikan tegangan
tachogenerator
No
Selisih data
pengamatan untuk
setiap kenaikan
Selisih setiap kenaikan
putaran
(RPM)
Selisih setiap kenaikan
tegangan
(Volt)
1
Data 2 - Data 1
258
0.87
2
Data 3 - Data 2
252
0.8
3
Data 4 - Data 3
309
0.99
4
Data 5 - Data 4
176
0.56
5
Data 6 - Data 5
291
0.92
6
Data 7 - Data 6
265
0.65
7
Data 8 - Data 7
270
0.81
8
Data 9 - Data 8
271
0.94
9
Data 10 - Data 9
278
0.7
10
Data 11 - Data 10
253
0.8
11 Data 12 - Data 11
250
0.81
12
Data 13 - Data 12
269
0.69
13
Data 14 - Data 13
285
0.95
14
Data 15 - Data 14
246
0.64
15
Data 16 - Data 15
247
0.89
16
Data 17 - Data 16
256
0.80
17
Data 18 - Data 17
349
0.79
18
Data 19 - Data 18
266
0.84
19
Data 20 - Data 19
288
0.70
20
Data 21 - Data 20
256
0.80
21
Data 22 - Data 21
294
0.84
Tabel 3.2 (Lanjutan) selisih setiap kenaikan putaran motor dan kenaikan tegangan
tachogenerator
No
Selisih data
pengamatan untuk
setiap kenaikan
Selisih setiap kenaikan
putaran
(RPM)
Selisih setiap kenaikan
tegangan
(Volt)
22
Data 23 - Data 22
269
0.65
23
Data 24 - Data 23
275
0.69
24
Data 25 - Data 24
264
0.87
25
Data 26 - Data 25
288
0.91
26
Data 27 - Data 26
345
0.72
27
Data 28 - Data 27
248
0.80
28
Data 29 - Data 28
237
0.73
Σ = 7562
Σ = 22.16
rata-rata kenaikan putaran =
data
jumlah
putaran
kenaikan
ap
selisih ti
jumlah
=
270
,
071
28
7562 =
RPM ≈ 270 RPM
rata-rata kenaikan tegangan =
data
jumlah
gangan
selisih te
Jumlah
volt
7914
.
0
28
16
.
22
=
=
≈ 0.79 volt
Sehingga didapatkan data pada tabel 3.1 (yang di tandai dengan huruf
tebal). Untuk putaran motor 10271 RPM output yang dihasilkan oleh
tachogenerator adalah 31.61 Volt. Karena tegangan yang di hasilkan terlalu besar
maka diperlukan pengkondisi sinyal agar bisa disesuaikan dengan ADC pada
mikrokontroler.
Dari tabel 3.1 ternyata sinyal keluaran dari tachogenerator ternyata lebih
besar dari tegangan pada ADC pada mikrokontroler. Agar sinyal keluaran dapat
diterima oleh ADC maka diperlukan rangkaian pembagi tegangan.
Gambar 3.7 Rangkaian pembagi tegangan
Untuk mencari nilai Vout maka digunakan rangkaian pembagi tegangan
dari data diketahui Vin = 31.61 volt. Untuk R1 ditetapkan terlebih dahulu yaitu
sebesar 10k Ω sehingga untuk mencari R2 agar Vout = 5 volt :
Vin
R
R
R
Vout
1
2
1
+
=
Vin
R
R
R
Vout
.(
2
+
1
)
=
1
.
61
.
31
.
10
)
10
2
.(
5
R
+
K
=
k
k
R
k
R
k
R
k
K
R
22
.
53
2
1
.
266
2
5
50
1
.
316
2
5
1
.
316
50
2
5
=
=
−
=
=
+
Karena nilai R2 = 53.22k Ω tidak ada dipasaran, maka digunakan potensiometer
100k Ω .
Kecepatan putaran motor yang akan diukur harus mampu mengukur hingga
10000 rpm, pada perancangan ADC ini penulis merancang kecepatan putaran
motor sebesar 10230 rpm, dengan resolusi 10 sehingga ADC yang diperlukan
untuk mendapat kan resolusi adalah:
Jumlah perubahan bit =
resolusi
T
Δ
sehingga:
Jumlah perubahan bit =
10
0
10230
−
=1023
Dari persamaan diatas didapat 1023 perubahan bit sehingga ADC yang
dibutuhkan minimal 2
10= 1024 perubahan bit, PIC16F877 adalah mikrokontroler
yang mempunyai ADC internal 10 bit, sehingga untuk resolusi seperti diatas
ADC pada mikrokontroler tersebut masih dapat menangani.
III.5 Perancangan Antarmuka LCD Dengan Mikrokontroler
LCD yang digunakan pada perancangan ini adalah LCD 2 x 16 karakter
dengan driver HD47780U. LCD digunakan sebagai penampil yang memberikan
informasi tentang nilai hasil pengukuran motor. Hasil pengukuran motor diukur
dalam satuan RPM (rotation per minute). Gambar 3.6 dibawah ini merupakan
rangkaian antarmuka antara LCD dengan mikrokontroler..
PIC16F877 19 18 17 24 23 22 16 21 9 10 11 20 12 13 14 15 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 1 2 3 4 5 6 7 8 RD0/PSP0 RC3/SCK/SCL RC2/CPP1 RC5/SDO RC4/SDI/SDO RD3/PSP3 RC1/T1OSI RD2/PSP2 RE1/WR/AN6 RE2/CS/AN7 VDD RD1/PSP1 VSS OSC/CLKIN OSC2/CLKOUT RC0/T1OSO RB7/PGD RB6 RB5 RB4 RB3 RB2 RB1 RB0/INT VDD1 VSS1 RD7/PSP7 RD6/PSP6 RD5/PSP5 RD4/PSP4 RC7/RX/DT RC6/TX/CK MCLR/VPP RA0/AN0 RA1/AN1 RA2/AN2/Vref -RA3/AN3/Vref + RA4/TOCK1 RA5/AN4/SS RE0/RD/AN5 D KONTRAS 1 3 2 +5V C 5 C1 22p K H I H C J B 16 G I LC D 2X 16 F 1 10 4 6 7 9 E G E D B A 2 12 K J 8 3 C2 22p A 11 14 4MHz 15 F +5V
Gambar 3.8 Antarmuka LCD dengan Mikrokontroler
Dalam menampilkan besarnya nilai pengukuran serta karakter yang akan
dipakai maka akan dirancang tampilan berupa nama dan nomor mahasiswa, judul
skripsi, dan tampilan pengukuran dalam satuan RPM.
Urutan tampilan yang akan di tampilkan dalam LCD :
Gambar 3.9 Tampilan nama dan nama mahasiswa
Setelah power di on-kan pertama-tama yang tertampil adalah tampilan judul
nama dan nomor mahasiswa (gambar 3.9 ) kemudian tampilan untuk proses
pegukuran dengan satuan RPM (gambar 3.10).
III.6 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 3R
Sehingga rangkaiannya menjadi:
J E G H SW1 TOMBOL RESET A D PIC16F877 19 18 17 24 23 22 16 21 9 10 11 20 12 13 14 15 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 1 2 3 4 5 6 7 8 RD0/PSP0 RC3/SCK/SCL RC2/CPP1 RC5/SDO RC4/SDI/SDO RD3/PSP3 RC1/T1OSI RD2/PSP2 RE1/WR/AN6 RE2/CS/AN7 VDD RD1/PSP1 VSS OSC/CLKIN OSC2/CLKOUT RC0/T1OSO RB7/PGD RB6 RB5 RB4 RB3 RB2 RB1 RB0/INT VDD1 VSS1 RD7/PSP7 RD6/PSP6 RD5/PSP5 RD4/PSP4 RC7/RX/DT RC6/TX/CK MCLR/VPP RA0/AN0 RA1/AN1 RA2/AN2/Vref -RA3/AN3/Vref + RA4/TOCK1 RA5/AN4/SS RE0/RD/AN5 I R1 10K +5V B K F C C3 CAP
III.7 Perancangan Perangkat Lunak
Dalam perancangan perangkat lunak ini penulis meggunakan beberapa
subroutine yang masing-masing memiliki fungsi sendiri. Subroutine ini
mempermudah dalam pengecekan program saat program diekseskusi dan juga
mudah untuk dipanggil kembali saat diperlukan. Dibawah ini merupakan
diagaram alir utama dari alat ukur putaran motor:
III.8 Penjelasan Diagram Alir Utama
Setelah mendapat gambaran yang jelas tentang perangkat keras (berupa
rangkaian lengkap), maka perangkat lunaknya akan dibuat menyesuaikan
perangkat keras. Perangkat lunak berupa susunan program yang berbasiskan pada
bahasa pemrograman khusus mikrokontroler PIC16F877. Program yang dipakai
secara garis besar dibagi menjadi dua bagian yaitu program utama dan routine
penanganan interupsi, yang didukung oleh routine-routine. Subroutine ini
digunakan untuk mempermudah dalam pengecekan program saat program
diekseskusi dan juga mudah untuk dipanggil kembali saat diperlukan.
III.8.1. Diagram Alir Program Utama
Program utama merupakan bagian yang dikerjakan saat mikrokontroler
diberi catu daya atau saat mikrokontroler di reset. Program dimulai dengan proses
inisialisasi antara lain adalah inisialisasi alamat data dan dan inisialisasi PORT
I/O, inisialisasi LCD. Untuk langkah selanjutnya adalah menampilkan tampilan
tunggu berupa nama dan nomor mahasiswa kenudian tampilan proses pengukuran.
Jika sensor tachogenerator mulai berputar maka dilakukan proses pengukuran.
Setelah proses pengukuran selesai, kemudian hasilnya akan di tampilkan
sebagai kecepatan putaran motor dalam RPM. Langkah selanjutnya, jika tombol
reset ditekan maka program akan meng-nol-kan (reset) tampilan, dan melakukan
proses dari awal.
Untuk proses pengolahan data pada mikrokontroler agar data dapat di
tampilkan pada layar LCD2x16 digambarkan dengan diagram alir seperti pada
gambar 3.13. Program dimulai dengan inisialisasi LCD, kemudian ADC pada
mikrokontroler akan mulai membaca tegangan keluaran dari pembagi tegangan
dan mengubahnya menjadi data biner (sinyal digital).
Sebelum ditampilkan ke LCD, data-data biner ini terlebih dahulu harus
diubah menjadi nilai-nilai rpm dengan proses konversi. Nilai –nilai rpm tersebut
masih dalam bentuk hexa. Untuk beberapa proses tertentu seperti kalkulasi data,
bentuk hexa ini sudah dapat diproses. Namun agar dapat ditampilkan ke LCD
dengan bentuk bilangan yang dikenali umum, yaitu bentuk bilangan desimal,
maka terlebih dahulu dilakukan proses konversi dari hexa de desimal dan
dilanjutkan ke bentuk ASCII.
Agar nilai RPM yang tampil pada layar LCD dapat terlihat dengan jelas,
program akan menambahkan waktu tunda selama satu detik sebelum proses
pengambilan nilai rpm yang baru dilakukan. Oleh karena itu, perubahan rpm akan
dideteksi setelah waktu tunda selama satu detik tersebut terlewati.
Inisialisasi LCD
Ambil data ADC
Konversi nilai
tegangan ke RPM
Konversi ke
desimal
Konversi ke
ASCII
Tampilkan ke lcd
Tunda 1 detik
Gambar 3.13 Diagaram alir proses pengolahan pada mikrokontroler
agar data dapat ditampilkan ke LCD
BAB IV
DATA DAN PEMBAHASAN
IV.1. Hasil Akhir Perancangan
Bentuk perangkat keras dari alat ukur kecepatan putaran motor dapat
dilihat pada gambar 4.1 .
Gambar 4.1 Alat ukur kecepatan putaran motor
Cara kerja alat :
Berikut akan dijelaskan bagaimana alat ukur kecepatan putaran motor
akan di jalankan :
1. Pertama-tama sambungkan alat ke jala-jala listrik 220volt, alat di sini telah
terpasang catu daya. Kemudian tekan tombol power untuk menghidupkan
alat tersebut.
2. Setelah alat menyala akan muncul tulisan pada LCD berupa tampilan
nama dan nomor mahasisiwa gambar 3.9. Kemudian tampilan untuk
proses pengukuran gambar 3.10
3. Setelah muncul tampilan proses pengukuran maka alat sudah siap untuk
melakukan proses pengukuran. Jika sensor tachogenerator mulai
berputar, maka proses pengukuran dimulai.
4. Untuk kembali ketampilan awal kita tekan tombol reset.
IV. 2 Pengukuran Kecepatan Putaran Motor Dengan Multimeter
Untuk membandingkan hasil pengukuran dari perangkat ini menggunakan
multimeter sebagai acuannya. Multimeter yang digunakan sanwa PC510, dimana
multimeter ini dapat mengukur frekuensi. Pengukurannya menggunakan sensor
berupa optokopler dan piringan bercelah dengan jumlah celah sebanyak 60 celah.
Gambar 4.2 Pengukuran kecepatan putaran motor dengan multimeter
Cara mengamati dan mengambil data adalah : probe dari multimeter
dihubungkan dengan keluaran dari sensor optokopler. Saat motor yang akan
diukur mulai berputar maka pengukuran dapat terlihat langsung pada multimeter
berupa frekuensi. Dari persamaan (3.1), kita bisa mengetahui berapa kecepatan
motor yang akan diukur dalam RPM.
Untuk membandingkan hasil pengukuran, maka motor yang akan diukur
dihubungkan dengan sensor tachogenerator seperti gambar 4.3.
Gambar 4.3 Pengukuran kecepatan putaran motor menggunakan
alat ukur dan multimeter
IV.3 Perbandingan Data Hasil Pengukuran Menggunakan Multimeter
Terhadap Data Pengukuran Dengan Alat
Pada saat motor yang akan diukur berputar maka tachogenerator dan
piringan cacah ikut berputar (gambar 4.3) sehingga didapatkan data hasil
pengukuran :
Tabel 4.1 Perbandingan data pengukuran dengan alat ukur dan multimeter
Perhitungan Kesalahan
Percobaan
Pengukuran
dengan alat
(rpm)
Pengukuran dengan
multimeter
(rpm)
E (rpm)
ε
(%)
1 240
275 35
12,72
2 1080 1065 15
1.4
3 1410 1509 99
6.56
4 1910 2027 117
5.77
5 2450 2496 46
1.84
6 2870 3093 223
7.2
Tabel 4.1 (Lanjutan) Perbandingan data pengukuran dengan alat ukur dan
multimeter
Perhitungan Kesalahan
Percobaan
Pengukuran
dengan alat
(rpm)
Pengukuran dengan
multimeter
(rpm)
E (rpm)
ε
(%)
7 3330 3546 216
6.1
8 3780 4020 240
5.97
9 4200 4533 333
7.34
10 5350
5588 238
4.3
11 5510
5705 195
3.41
12 6100
6460 360
5.57
13 6300
6565 265
4.03
Pada percobaan 1 sampai 13, data diambil dari masukan tegangan output
tachogenerator pada saat motor yang diukur berputar. Dengan membandingkan
hasil pengukuran dengan multimeter kita dapat mengetahui berapa selisih
pengukurannya dan kesalahan (error) pada alat yang kita buat
Grafik perbandingan pengukuran kecepatan putaran motor menggunakan multimeter terhadap alat ukur
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 0 1000 2000 3000 4000 5000 6000 7000
Pengukuran dengan multimeter (RPM)
P e ngukur an deng an alat u k ur (RPM )
Pengukuran dengan multimeter Pengukuran dengan alat ukur