-
TUGAS AKHIR
ALAT UKUR SUHU DENGAN SENSOR TERMOKOPEL BERBASIS MIKROKONTROLER
PIC16F877
Diajukan untuk memenuhi salah satu syarat
memperoleh gelar Sarjana Teknik pada
Program Studi Teknik Elektro
Fakultas Teknik Universitas Sanata Dharma
Disusun oleh
KRISTIANTO WIDIATMOKO
NIM: 015114021
PROGRAM STUDI TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2007
-
FINAL PROJECT
THERMOMETER INSTRUMENT USING THERMOCOUPLE BASED ON PIC16F877
MICROCONTROLLER
Submitted as Partial Fulfillment Of The Requirement forSarjana
Teknik Degree In Electrical Engineering
By:
KRISTIANTO WIDIATMOKONIM: 015114021
DEPARTMENT ELECTRICAL ENGINEERING
FACULTY OF MATHEMATIC, SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2007
i
-
LEMBAR PERSETUJUAN PEMBIMBING
TUGAS AKHIR
ALAT UKUR SUHU DENGAN SENSOR TERMOKOPEL BERBASIS MIKROKONTROLER
PIC16F877
KRISTIANTO WIDIATMOKONIM: 015114021
Telah disetujui pada tanggal __ April 2007
oleh
Pembimbing I
B. Djoko Untoro S. Ssi., MT
Pembimbing II
Martanto, ST, MT
i
-
LEMBAR PENGESAHAN
ALAT UKUR SUHU DENGAN SENSOR TERMOKOPEL
BERBASIS MIKROKONTROLER PIC16F877
Disusun oleh:
KRISTIANTO WIDIATMOKONIM: 015114021
Pada tanggal 3 Februari 2007
dan dinyatakan memenuhi syarat
Susunan Panitia Penguji
Nama Lengkap Tanda Tangan
Ketua : Ir. Th. Prima Ari Setiyani, M.T
Sekretaris : B. Djoko Untoro S. Ssi., MT
Anggota : Augustinus Bayu Primawan, S.T.,M.Eng
Anggota : Martanto, ST, MT
Yogyakarta, ____________2007
Fakultas Teknik Universitas Sanata Dharma Dekan Fakultas
Teknik
Ir. Greg.Heliarko, SJ.,SS.,BST., MT., Msc.
i
-
Pernyataan Keaslian Karya
Saya menyatakan dengan sesungguhnya bahwa tugas akhir yang saya
tulis ini
tidak memuat karya atau bagian karya orang lain kecuali yang
telah disebutkan
dalam daftar pustaka sebagaimana layaknya sebuah karya
tulis.
Yogyakarta, _________________2007
Penulis
KRISTIANTO WIDIATMOKO
v
-
MOTTO
v
PRACTICE MAKE PERFECT
-
Karya ini kupersembahkan untuk:
Tuhan Yesus Kristus sang Juru Selamat
Ayah , Ibu dan Adikku Desi yang sangat aku kasihi serta saudara
- saudaraku yang selalu menyayangiku
Semua teman – teman dan sahabatku…..Almamaterku…
v
-
Intisari
Dalam otomotif, suhu dari sebuah mesin sangat mempengaruhi
kinerja dari sebuah mesin. Gas buang dari mesin bakar suhunya dapat
mencapai 500oC, untuk itu dibutuhkan sebuah alat ukur suhu yang
dapat mengukur hingga 500oC.
Tugas akhir ini membahas perancangan alat ukur suhu dengan
sensor termokopel tipe K dan diproses menggunakan mikrokontroler
PIC16F877 dan hasilnya di tampilkan pada LCD 16x2. Suhu dikonversi
oleh termokopel menjadi tegangan, sebesar 0 mV pada suhu 0 oC
hingga 19,7 mV pada suhu 500 oC. Hasil konversi dikuatkan 253x
melalui pengkondisi sinyal kemudian tegangan keluaran dari
pengkondisi sinyal diolah oleh mikrokontroler PIC16F877 dan
hasilnya ditampilkan melalui LCD 16x2.
Hasil dari perancangan ini adalah alat ukur suhu yang mampu
untuk mengukur suhu hingga 500oC dengan resolusi 0,5oC.
Kata kunci : Termokopel, Aplikasi Mikrokontroler
v
-
Abstract
In automotive, engine temperature influences engine
performances. Engine exhaust temperature can reach 500oC, therefore
temperature measurement was needed.
This final project are discussed about thermometer instrument
using thermocouple type K and processed by PIC16F877
microcontroller and displayed by 16x2 LCD. Temperature converted by
Thermocouple to 0 mV at 0 oC and 19,7 mV at 500 oC. The convertion
result gained 253x by signal conditioner, Then Signal conditioner
output processed by PIC16F877 microcontroller and displayed by 16x2
LCD.
Finally This equipment is able to measure upto 500 oC with 0,5
oC resolution.
Keywords: Thermocouple, microcontroller.
i
-
Kata Pengantar
Dengan memanjatkan puji dan syukur kepada Allah Bapa dan Yesus
Kristus,
atas segala rahmat-Nya sehingga dengan pertolongan dan
petunjuk-Nya akhirnya
penulis dapat menyelesaikan skripsi ini.
Skripsi ini diberi judul : Alat Ukur Suhu Dengan Sensor
Termokopel
Berbasis Mikrokontroler PIC16F877. Penulisan skripsi ini
didasarkan pada hasil-
hasil yang penulis peroleh mulai dari perancangan, pembuatan
alat sampai pada
pengujian alat yang diajukan, juga kemungkinan
pengembangannya.
Penulis mengucapkan terimakasih kepada semua pihak yang telah
membantu
penulis hingga terselesaikannya skripsi ini. Ucapan terimakasih
penulis sampaikan
kepada :
1. Bapak Djoko Untoro Suwarno, S.Si., MT selaku Pembimbing I
yang telah
bersedia meluangkan waktunya untuk membimbing dalam proses
penyusunan
Tugas akhir ini dari awal sampai selesai.
2. Bapak Martanto, S.T.,M.T. selaku pembimbing II yang juga
telah bersedia
membimbing dan mengarahkan sehingga karya ini dapat selesai dan
berhasil
sesuai yang diharapkan.
3. Ibu Ir. Th. Prima Ari Setiyani., M.T. selaku penguji.
4. Bapak Augustinus Bayu Primawan, S.T., M.T. selaku
penguji.
5. Mas Broto, mas Mardi, mas Rony, mas Hardi, mbak Viany, mas
Suryo, yang
telah membantu dalam penyediaan alat di laboratorium dan
literatur.
6. Bapak dan Ibu Dosen jurusan Teknik Elektro yang telah membagi
dan
mengajarkan banyak ilmu kepada penulis.
x
-
7. Bapak, Ibu dan adikku Desi, terimakasih atas doa dan
dukungannya selama
ini
8. Tim Hibahku Andre dan Franki, “terima kasih banyak,. tanpa
kalian karya ini
tidak akan jadi”
9. Semua tim PHK pak Tjendro cs ( Andry, Galuh, Nandy, Marta,
Butet), pak Is
cs ( Bowo, Ari, Danang, Joko, Sulis, Yayuk, Hernomo, Tatang,
Liong) maju
terus dab..
10. Ika, Anink, Yoseph, Iwuk, Krisna, Petrus, Iink dan semua
Mudika
ALOYSIUS GONZAGA, terima kasih atas doanya….
11. Temanku Ririn, Ndoko, Oscar, Agung, Broto, Made, Ulin, Yuli
dan semua
anak – anak JMC.
12. Ledul, Lolok, Badala, Adin yang selalu memberi semangat
kepada penulis…
…
13. Anak – anak kos Tangkadas ( Heri, Sigit, Purba, Fandy,
Sinung, Widi,
Wawan, Andy, Charles dan Purba) yang telah banyak memberi
bantuan
14. Teman – teman operator warnet SECOND HOME ko Aan, ko Dennis,
cik
Tanti, Mamata, Efan, Dony, Jackson, Tyo, Amos, Yulius, dan teman
– teman
operator yang lain thanxs.
Penulis menyadari bahwa dalam karya tulis ini masih banyak
kekurangannya
dan jauh dari sempurna. Oleh karena itu penulis sangat
mengharapkan saran dan
kritik yang dapat membangun dari berbagai pihak. Sehingga
penulis dapat lebih maju
dan lebih baik dari sekarang.
x
-
Akhirnya penulis berharap dan berdoa, semoga karya tulis ini
dapat
bermanfaat bagi pembaca.
Yogyakarta 31 juni 2007
Penulis
Kristianto Widiatmoko
x
-
DAFTAR ISI
HALAMAN JUDUL
...................................................................................
i
HALAMAN JUDUL
(INGGRIS)................................................................
ii
HALAMAN
PERSETUJUAN.....................................................................
iii
HALAMAN
PENGESAHAN......................................................................
iv
PERNYATAAN KEASLIAN
KARYA...................................................... v
HALAMAN MOTTO
.................................................................................
vi
HALAMAN
PERSEMBAHAN..................................................................
vii
INTISARI.....................................................................................................
viii
ABSTRACT.................................................................................................
ix
KATA PENGANTAR
................................................................................
x
DAFTAR
ISI................................................................................................
xiii
DAFTAR
TABEL........................................................................................
xvii
DAFTAR
GAMBAR...................................................................................
xviii
BAB I. PENDAHULUAN
..........................................................................
1
I.1
Judul..............................................................................................
1
I.2 Latar Belakang
.............................................................................
1
I.3 Tujuan dan manfaat
Penelitian.....................................................
2
I.4 Batasan
masalah............................................................................
2
I.5 Metodologi
penelitian...................................................................
2
I.6 Sistematika
penulisan...................................................................
3
BAB II. DASAR
TEORI.............................................................................
5
x
-
2.1 Skala Suhu
....................................................................................
5
2.2 Metode Pengukuran Suhu
........................................................... 6
2.2.1 Metode
Ekspansi...............................................................
6
2.2.2 Metode
Hambatan................................................................
7
2.2.3 Metode Lempeng Bimetal
................................................... 7
2.3 Karakteristik alat
ukur...................................................................
7
2.3.1 Presisi
(ketelitian)................................................................
7
2.3.2 Akurasi (
ketepatan).............................................................
8
2.3.3 Sensitivitas (
Kepekaan).......................................................
8
2.3.4 Resolusi ( kemampuan membaca skala
)............................. 8
2.3.5 Repeatability ( kemampuan mengulang
)............................ 8
2.3.6 Threshold
............................................................................
8
2.3.7
Linearitas.............................................................................
9
2.4 Analisis
Statistik...........................................................................
9
2.4.1 Nilai Rata – rata (Arithmatic
mean)..................................... 9
2.4.2 Penyimpangan Terhadap Nilai Rata –
rata.......................... 10
2.4.3 Penyimpangan Rata-rata (Average
Deviation).................... 10
2.4.4 Deviasi
Standar....................................................................
11
2.4.5 Regresi
Linier.......................................................................
11
2.4.6 Kesalahan baku
penaksiran.................................................. 12
2.4.7 Koefisien
korelasi................................................................
13
2.5
Termokopel...................................................................................
14
2.6 Penguat Tak
Membalik.................................................................
16
x
-
2.7
LCD...............................................................................................
18
2.8 Mikrokontroler
PIC16F877...........................................................
22
2.8.1 ALU (Arithmatic Logic
Unit).............................................. 23
2.8.2 Memori
Program..................................................................
23
2.8.3 Program
counter...................................................................
24
2.8.4 Register
Status......................................................................
24
2.8.5 Pembangkit Clock -
Oscilator.............................................. 24
2.8.6 Unit
I/O................................................................................
24
2.8.7
Timer....................................................................................
24
2.8.8 Analog to Digital Converter
(ADC).................................... 25
2.8.8.1 Register
ADCON0................................................... 25
2.8.8.2 Register
ADCON1................................................... 26
2.8.8.3 Register ADRESH dan ADRESL............................
27
2.8.9
USART................................................................................
27
2.8.10 Instruksi – instruksi
PIC16F877........................................ 27
2.8.11 Register
Status....................................................................
29
BAB III. Perancangan
Peralatan..................................................................
32
3.1 Perancangan ADC
........................................................................
33
3.1.1 Inisialisasi
ADC....................................................................
33
3.1.2 Konversi
ADC......................................................................
34
3.2 Perancangan Pengkondisi
Sinyal.................................................. 34
3.3 Perancangan LCD
........................................................................
37
3.3.1 Tampilan LCD
....................................................................
38
x
-
3.4 Diagram
Alir.................................................................................
39
BAB IV. HASIL PENGUJIAN DAN PEMBAHASAN
............................ 41
4.1 Hasil Pengukuran Dengan Media Uap
Air................................... 41
4.3 Pengujian Dengan Media
Api....................................................... 46
4.4 Pengujian Dengan Media
Es......................................................... 46
BAB V. KESIMPULAN DAN SARAN
..................................................... 48
5.1
Kesimpulan...................................................................................
48
5.2
Saran..............................................................................................
48
DAFTAR
PUSTAKA..................................................................................
49
LAMPIRAN
x
-
DAFTAR TABEL
Tabel 2.1 Sensitivitas Termoelectric dari beberapa material
yang
dikombinasikan dengan platinum pada suhu 0oC (32oF)..........
16
Tabel 2.2 Pin pada LCD
HD44780U........................................................
21
Tabel 2.3 konfigurasi kontrol bit port
A/D................................................ 27
Tabel 2.4 Tabel instruksi
PIC16F877........................................................
28
Tabel 3.1 Tabel tegangan keluaran termokopel tipe K terhadap
temperatur (referensi termokopel 0
oC)..................................... 34
Tabel 4.1 Data Hasil Pengukuran Suhu Dengan Media Uap
Air.............. 41
Tabel 4.2 Tabel komputasi kecocokan alat
ukur............................................... 44
Tabel 4.3 Data hasil pengujian dengan media
api..................................... 46
Tabel 4.4 Data hasil pengujian dengan media
es...................................... 47
x
-
DAFTAR GAMBAR
Gambar 2.1 Termokopel
........................................................................
15
Gambar 2.2 Penguat tak
pembalik...........................................................
17
Gambar 2.3 Display LCD 2 × 16
karakter............................................... 19
Gambar 2.4 Mikrokontroler
PIC16F877.................................................. 22
Gambar 2.5 Arsitektur mikrokontroler
PIC16F877................................. 22
Gambar 3.1 Diagram blok sensor
suhu.................................................... 33
Gambar 3.2 Grafik perubahan emf termokopel Tipe K terhadap
suhu..... 35
Gambar 3.3 Rangkaian akhir pengkondisi
sinyal..................................... 37
Gambar 3.4 Rangkaian
LCD....................................................................
38
Gambar 3.5 Tampilan nama dan nomor
mahasiswa................................ 38
Gambar 3.6 Tampilan hasil pengukuran
suhu.......................................... 39
Gambar 3.7 Diagram alir program
utama................................................ 39
Gambar 4.1 Grafik hubungan suhu terukur terhadap suhu
referensi....... 43
x
-
BAB I
PENDAHULUAN
1.1.Judul
Alat ukur suhu dengan sensor suhu termokopel berbasis
mikrokontroler
PIC16F877.
1.2.Latar Belakang Masalah
Pengukuran merupakan kegiatan yang sangat penting untuk
mengetahui
kuantitas, kualitas suatu benda dalam sebuah penelitian. Salah
satu faktor atau
besaran yang dipakai untuk mengetahui kuantitas, kualitas serta
kemampuan suatu
benda tersebut adalah suhu. Suhu sangat berpengaruh hampir di
tiap percobaan atau
penelitian.
Laboratorium Konversi Energi Universitas Sanata Dharma mempunyai
sebuah
mesin bakar yang saat ini dipakai untuk penelitian oleh fakultas
teknik mesin. Dalam
penelitian mesin bakar tersebut mereka membutuhkan sebuah alat
untuk mengukur
suhu gas buang hasil pembakaran, pelumas serta suhu mesin, untuk
itu mereka
membutuhkan alat ukur suhu yang dapat mengukur suhu hingga
500oC. karena
alasan itulah maka pada tugas akhir kali ini kami membuat alat
ukur suhu
Laboratorium yang dapat mengukur suhu dari 0 oC hingga 500 oC
dengan resolusi 0,5
oC .
1
-
1.3.Tujuan dan Manfaat Penelitian
Tujuan yang ingin dicapai dari pembuatan alat ukur ini yaitu:
pengembangan
alat ukur suhu berbasis mikrokontroler untuk mengukur suhu gas
buang pada mesin
bakar Laboratorium Konversi Energi Universitas Sanata
Dharma.
Manfaat yang dapat diambil dari penelitian ini yaitu:
1. Tersedianya alat ukur suhu untuk laboratorium
2. Mempermudah perolehan data dalam pengukuran di
laboratorium.
3. Tersedianya literatur dalam perancangan alat ukur menggunakan
sensor
termokopel.
1.4.Batasan Masalah
Dalam penelitian ini akan dirancang sebuah alat ukur suhu dari
100oC hingga
500oC dengan resolusi 0.5oC. Sensor suhu yang digunakan adalah
termokopel tipe K
dengan unit pengolah sebuah mikrokontroler PIC16F877. Hasil
pengukuran dapat
ditampilkan di LCD 2X16
1.5.Metodologi Penelitian
Tahap – tahap yang dilakukan untuk memperoleh hasil sesuai
dengan tujuan
penelitian adalah sebagai berikut:
1. Menentukan obyek yang akan diukur (karakteristik dari
obyek).
2. Menentukan komponen yang akan digunakan yang sesuai dengan
karakteristik
dari obyek.
2
-
3. pengumpulan dokumen pendukung, berupa buku – buku dan data
sheet yang
berhubungan dengan kompenen yang akan digunakan pada
perancangan.
4. Perancangan untuk menyelesaikan masalah, berupa perhitungan
matematis dan
menentukan nilai – nilai yang akan digunakan
5. Implementasi dari perancangan.
6. Pengambilan data dengan melakukan pengukuran di
Laboratorium
7. Pengolahan data dengan membandingkan hasil pengukuran dengan
hasil
perhitungan matematis.
8. Penyajian data dengan grafik dari hasil percobaan dan
perhitungan matematis dan
statistik
9. Penulisan laporan.
.
1.6.Sistematika Penulisan
Penulis melakukan penelitian dengan merancang alat dan mengambil
data alat
yangg telah dirancang tersebut. Laporan penelitian dibagi
menjadi 5 Bab yangsecara
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.
3
-
BAB V berisi kesimpulan dari penelitian yang telah dilakukan
serta saran yang
dianggap perlu.
4
-
BAB II
DASAR TEORI
2.1.Skala Suhu
Satuan yang dipakai untuk menyatakan temperatur adalah derajat,
yang paling
umum dipakai adalah derajat Celcius, yang biasa disingkat dengan
oC. Ada pula
satuan oKelvin dan oFahrenheit, masing-masing disingkat sebagai
oK dan oF. Pada
skala Celcius titik nol sama dengan titik beku air, sedangkan
titik didih air berada
pada skala“100 o”. Pada keadaan yang lebih dingin dari pada air
beku, skala ditandai
dengan angka negatif.
Untuk skala suhu Fahrenheit, suhu beku air adalah 32 oF ( tiga
puluh dua derajat
Fahrenheit ) dan suhu didih air berada pada 212 oF, keduanya
pada tekanan atmosfir
standar (1013 millibar). Ada 180 derajat skala Fahrenheit
diantara titik beku dan titik
didih, dibandingkan terhadap 100 skala Celcius, sehingga 1 skala
Fahrenheit
mewakili hanya 180100
, atau 95
dari perubahan suhu sejauh satu derajat Celcius.
Untuk mengubah suhu dari derajat Celcius ke derajat Fahrenheit,
harus
diperhatikan bahwa suatu suhu Celcius ( TC ) adalah besar
derajat Celcius diatas titik
beku. Besar derajat Fahrenheit diatas titik beku adalah 59
dari suhu Celcius, Tetapi,
titik beku pada skala Fahrenheit adalah 32 oF. Sehingga untuk
memperoleh suhu
5
-
Fahrenheit sebesar TF yang sebenarnya, kalikan nilai Celcius
dengan 59
lalu
tambahkan 32 o, atau dapat dituliskan:
TF = 59
TC + 32 o (2.1)
Untuk mengubah Fahrenheit ke Celcius, turunkan persamaan (2.1)
untuk
memperoleh TC , dan didapatkan persamaan:
TC = 95
( TF – 32 o). (2.2)
Skala suhu Kelvin, dinamai untuk menghargai fisikawan Inggris
Lord Kelvin
(1824 – 1907). Satuannya tetap sama besar seperti pada skala
Celcius, tetapi harga
nol digeser sehingga 0 K = 273,15 oC atau
TK = TC + 273,15 (2.3)
Pada khasanah SI, “derajat” tidak digunakan pada skala Kelvin;
suhu 293 Kelvin
dibaca sebagai “293 Kelvin”, bukan “293 derajat Kelvin”.
2.2.Metode Pengukuran Suhu
Pengukuran suhu dapat dilakukan dengan beberapa metode,
diantaranya:
2.2.1.Metode Ekspansi
Termometer cairan dalam kaca terdiri dari pipa kapiler dengan
suatu
gelembung yang berisi suatu cairan ( biasanya cairan Raksa ).
Maka ketika suhu
berubah, volume cairan berekspansi dari kaca dan gelembung
karena perbedaan
dalam koefisien ekspansi suhu antara kaca dan fluida. Perubahan
deferensial dalam
6
-
volume menyebabkan cairan mengisi pipa kapiler. Suatu skala yang
dilekatkan pada
kaca digunakan untuk menandai perubahan cairan pada pipa kapiler
terhadap suhu.
2.2.2.Metode Hambatan
Termometer hambatan terdiri atas suatu elemen sensor yang
memperlihatkan
suatu perubahan dalam hambatan ketika terjadi perubahan suhu.
Dua jenis sensor
yang biasanya digunakan adalah RTD (Resistance Temperatur
Detector) dan
termistor.
2.2.3.Metode Lempeng Bimetal
Termometer ini terdiri dari dua buah lembaran logam dengan bahan
yang
berbeda dan saling direkatkan. Ketika dipanaskan, salah satu
logam berekspansi
lebih jauh dibandingkan logam lainnya, sehingga gabungan
lembaran akan
melengkung jika suhu berubah.
2.3.Karakteristik Alat Ukur
Dalam pengukuran digunakan istilah – istilah yang menentukan
karakteristik
suatu alat ukur, antara lain:
2.3.1.Presisi (ketelitian)
Presisi merupakan suatu ukuran kemampuan untuk mendapatkan
hasil
pengukuran serupa. Dengan memberikan suatu harga tertentu bagi
sebuah variabel,
7
-
ketelitian (presisi) merupakan suatu ukuran tingkatan yang
menunjukkan perbedaan
hasil pengukuran pada pengukuran – pengukuran yang dilakukan
secara berurutan.
2.3.2.Akurasi (ketepatan)
Akurasi merupakan sifat kedekatan pembacaan alat ukur dengan
nilai
sebenarnya dari variabel yang diukur. Akurasi ditentukan dengan
cara mengkalibrasi
dengan kondisi operasi tertentu.
2.3.3.Sensitivitas (kepekaan)
sensitivitas merupakan perubahan terkecil dari masukan yang
mempengaruhi
keluaran.
S= InputOutput
∆∆
(2.4)
2.3.4.Resolusi (kemampuan membaca skala)
Resolusi merupakan perubahan terkecil dari keluaran yang masih
bisa
dibedakan.
2.3.5.Repeatability (kemampuan mengulangi)
Repeatability adalah sebagai ukuran deviasi dari hasil uji nilai
rata – rata. Hal
ini mengindikasikan kedekatan diantara sejumlah pengukuran yang
dilakukan secara
berulang dengan kondisi yang sama.
8
-
2.3.6.Treshold
Treshold merupakan nilai minimum perubahan masukan yang tidak
dapat
diamati atau dideteksi, bila masukannya berangsur – angsur
bertambah dari nol.
2.3.7.Linearitas
Linearitas merupakan kemampuan untuk menghasilkan ukuran alat
ukur yang
menghasilkan keluaran yang secara linear. Dalam hal ini, dapat
didefinisikan dengan
persamaan berikut ini:
y = mx + c (2.5)
keterangan :
y = nilai – nilai taksiran untuk variabel tak bebas
x = nilai variabel bebas
m = kemiringan (slope)
c = offset
2.4.Analisis Statistik
Analisis statistik terhadap data pengukuran adalah untuk
menentukan
penentuan ketidakpastian hasil pengujian akhir secara analisis.
Hasil dari suatu
pengukuran dengan metode tertentu dapat diramalkan berdasarkan
contoh (data
sampel), tanpa memiliki informasi atau keterangan yang lengkap
mengenai semua
faktor – faktor gangguan.
Agar cara–cara statistik dan keterangan yang diberikan
bermanfaat, biasanya
diperlukan sejumlah pengukuran banyak.
9
-
2.4.1.Nilai Rata-rata (Arithmatic Mean)
Nilai yang paling mungkin dari suatu variabel yang diukur adalah
nilai rata –
rata dari semua pembacaan yang dilakukan. Pendekatan paling baik
akan diperoleh
bila jumlah pembacaan untuk suatu besaran sangat banyak. Secara
teoritis,
pembacaan yang tak berhingga akan memberikan hasil paling baik,
walaupun dalam
prakteknya hanya dapat dilakukan pengukuran yang terbatas.
Nilai rata – rata diberikan oleh persamaan:
x = nxxxx n++++ .......321 =
nx∑ (2.6)
Dimana x = nilai rata –rata
x1,x2,xn = pembacaan yang dilakukan
n = jumlah pembacaan
2.4.2.Penyimpangan Terhadap Nilai Rata-rata
Penyimpangan (deviasi) adalah selisih antara suatu pembacaan
terhadap nilai
rata- rata dalam sekelompok pembacaan. Jika penyimpangan
pembacaan pertama x1
adalah d1, penyimpangan pembacaan kedua x2 adalah d2 dan
seterusnya, maka
penyimpangan terhadap nilai rata-rata adalah:
d1 = x1- x d2 = x2 – x x dn = xn - x (2.7)
perlu dicatat bahwa penyimpangan terhadap nilai rata – rata
boleh positif atau
negatif dan jumlah aljabar semua penyimpangan tersebut harus
nol.
10
-
2.4.3.Penyimpangan Rata-rata (Average Deviation)
Deviasi rata –rata adalah suatu indikasi ketepatan instrumen –
instrumen yang
digunakan untuk pengukuran. Menurut definisi, deviasi rata –
rata adalah
penjumlahan nilai – nilai mutlak dari penyimpangan –
penyimpangan dibagi jumlah
pembacaan. Deviasi rata – rata dapat dinyatakan dengan:
D = n
dn
dddd n ∑=++++ ......321 (2.8)
2.4.4.Deviasi Standar
Deviasi standar (root mean square) merupakan salah satu cara
untuk
menganalisis kesalahan – kesalahan acak secara statistik.
Deviasi standar dari
jumlah data terbatas didefinisikan sebagai akar dari penjumlahan
semua
penyimpangan (deviasi). Setelah dikuadratkan dibagi dengan
banyak pembacaan.
Tetapi dalam praktek, jumlah penjumlahan yang mungkin adalah
terbatas. Deviasi
standar untuk sejumlah data terbatas adalah:
11.... 2223
22
21
−=
−++++
=∑n
dn
dddd tnσ (2.9)
2.4.5.Regresi Linier
Untuk mempermudah melakukan perumusan dan analisis hubungan
dua
kejadian, maka dua kejadian tersebut dilambangkan dengan
variabel – variabel, yaitu
kejadian pertama dilambangkan dengan variabel X dan kejadian
kedua dilambangkan
dengan variabel Y.
11
-
Yang dimaksud dengan garis regresi atau regresi adalah garis
lurus atau garis
linear yang merupakan garis taksiran atau perkiraan untuk
mewakili pola hubungan
antara variabel X dengan variabel Y. dalam hal ini X disebut
variabel bebas dan Y di
sebut variabel tak bebas.
Garis regresi mempunyai persamaan yang umum yaitu sebagai
berikut:
^Y = a + bX (2.10)
^Y = adalah nilai – nilai taksiran untuk variabel tak bebas
Y
X = niai – nilai variabel bebas
a = intersep ( pintasan) bilamana X = 0
b = koefisien arah atau slope dari garis regresi
Dalam hal ini a dan b disebut koefisien regresi tersebut
persamaan regresi yang paling baik dari sebaran data adalah
regresi yang
mempunyai total kuadrat kesalahan atau total kuadrat selisih
atau total kuadrat error
yang paling minimum.Untuk memperoleh total kuadrat error yang
paling minimum
tersebut dipakai metode kuadrat minimum ( last square method ).
Dengan metode
ini, persamaan regresi linier akan mempunyai total kuadrat error
minimum bilamana
koefisien a dan b dihitung dengan rumus berikut
( )∑ ∑∑ ∑ ∑
−
−= 22
2
XXn
YXXYnb (2.11)
−=
∑∑n
Xb
nY
a (2.12)
12
-
2.4.6.Kesalahan baku penaksiran
Kesalahan baku penaksiran atau disebut juga standard error of
estimate oleh
bXaY +=^ kesalahan ini menunjukkan ukuran menyeluruh dari
pencaran titik-titik
(X1,Y1),(X2,Y2),(X3,Y3), …….,(Xn,Yn) disekitar garis regresi.
Rumus dari
kesalahan baku penaksiran :
nXYbYaY
SXY
∑ ∑ ∑−−=
2
^
(2.13)
2.4.7.Koefisien Korelasi
Salah satu teknik statistik yang kerapkali digunakan untuk
mencari hubungan
antara dua variabel adalah teknik korelasi. Dua variabel yang
hendak diselidiki
hubungannya itu biasa diberi kode variabel X dan variabel Y.
bilamana kenaikan
nilai variabel X selalu disertai kenaikan nilai variabe Y, dan
sebaliknya turunnya
nilai variabel X selalu diikuti oleh turunnya nilai variabel Y,
maka hubungan seperti
itu disebut hubungan yang positif. Akan tetapi sebaliknya
bilamana niliai variabel X
yang rendah selalu diikuti oleh variabel Y yang tinggi, hubungan
antara kedua
varibel itu disebut hubungan negatif. Ada juga kemungkinan bahwa
dua variabel
tidak mempunyai hubungan itu tidak mampunyai hubungan. Dua
variabel disebut
tidak mempunyai hubungan atau dalam istilah teknis statistik
dikatakan mempunyai
hubungan yang nihil, bilamana kenaikan variabel yang satu
kadang-kadang desertai
turunnya nilai variabel lainnya, dan kadang – kadang diikuti
oleh kenikan nilai
variabel yang lain itu.
13
-
Biasanya besar kecilnya hubungan dinyatakan dalam bilangan.
Bilangan yang
menyatakan besar-kecilnya hubungan itu disebut koefisien
hubungan atau koefisien
korelasi. Koefisien korelasi itu bergerak antara 0,000 sampai
+1,000 atau diantara
0,000 sampai-1,000, tergantung kepada arah korelasi, nihil,
positif atau
negatif.koefisien yang bertanda positif menunjukkan arah
korelasi positif, koefisien
negatif menunjukkan arah korelasi yang negatif, sedang koefisien
yang bernilai
0,000 menunjukkan tidak adanya korelasi antara X dan Y.
Koefisien korelasi pearson dicari dengan rumusan matematis
sebagai berikut:
{ }{ }∑ ∑∑ ∑∑ ∑ ∑
−−
−=
2222 )()( YYnXXn
YXXYnr (2.14)
Perbandingan antara variasi yang dijelaskan dengan variasi total
yaitu
∑∑
−−
= 2
2^
2
)()(
YYYY
r (2.15)
r2 disebut koefisien determinasi, jika tidak terdapat variasi
yang dijelaskan maka
r2 = 0. jika r2 = 1 maka tidak terdapat variasi yang tidak
dijelaskan. Dalam keadaan –
keadaan yang lain perbandingan tersebut terletak antara 0 dan 1,
yaitu 0
-
menghasilkan tegangan yang sangat kecil yang disebut
electromotive force (emf),
seperti ditunjukkan pada gambar 2.1
Gambar 2.1. Termokopel
Efek yang terjadi pada termokopel ini ditemukan oleh Thomas J.
Seebeck pada tahun
1822, sehingga dinamakan efek Seebeck. emf yang dihasilkan dapat
dirumuskan
sebagai berikut:
ε = ∫2
1
T
T(QA – QB)∂T (2.16)
dengan : ε : emf yang dihasilkan dalam volt
T1, T2 : Suhu sambungan dalam Celcius
QA, QB : konstanta perpindahan panas untuk logam A dan B
Persamaan (2.16) menunjukkan bahwa emf yang dihasilkan
proposional dengan
perbedaan suhu dan perbedaan konstanta aliran panas, sehingga
persamaan (2.16)
dapat ditulis kembali menjadi:
ε = α ( T1 – T2) (2.17)
dengan α adalah konstanta dalam Celcius
Volt = QA –QB (2.18)
emfTemperatur referensi
Ujung panas
Logam A
Logam B
15
-
Tabel 2.1. Sensitivitas Termoelectric dari beberapa material
yang dikombinasikan
dengan platinum pada suhu 0oC (32oF)
Material Q (konstanta material)μV/oC μV/oFBismuth -72 -40
Constantan -35 -19,4Nickel -15 -8,3Alumel -13,6 -7,6
Nisil -10,7 -5,9Platinum 0 0Mercury +0,6 0,3Carbon +3 +1,7
Alumunium +3,5 +1,9Lead +4 +2,2Silver +6,5 +3,6
Copper +6,5 +3,6Gold +6,5 +3,6
Tungsten +7,5 +4,2Nicrosil +15,4 +8,6
Iron +18,5 +10,3Chromel +25,8 +14,3
Germanium +300 +167Silicon +440 +244
Tellurium +500 +278Selenium +900 +500
Konstanta perpindahan panas untuk jenis logam yang digunakan
dalam pembuatan
Termokopel dapat dilihat pada tabel 2.1.
2.6.Penguat Tak Pembalik
Gambar 2.2 adalah sebuah penguat tak membalik, yaitu tegangan
keluaran
mempunyai polaritas yang sama dengan tegangan masukannya Ei =
Vo,
16
-
Gambar 2.2. Penguat tak pembalik
Karena tegangan antara terminal (+) dan terminal (-) idealnya
adalah 0, maka
kedua pasak tersebut berada pada potensial yang sama, sehingga
:
I = 1R
Ei (2.19)
Arus masukan ke terminal (-) opamp dapat diabaikan. Karenanya, I
mengalir
melalui Rf dan penurunan tegangan melintasi Rf dinyatakan oleh
VRf dan dinyatakan
sebagai:
VRf = I(Rf) = 1R
R f x Ei (2.20)
Tegangan keluaran Vo didapat dengan menambahkan penurunan
tegangan melintasi
R1, yang adalah Ei, ke tegangan melintasi Rf, yang adalah
VRf:
Vo = Ei + 1R
R f Ei (2.21)
Atau
Vo =
+
11
RR f Ei (2.22)
Vo
R1I
~o
Ei
x Ia=
RfI
17
-
Dengan menyusun kembali persamaan (2.31) untuk menyatakan
penguatan
tegangannya, kita dapatkan
Acl = 1E
Vo = 1 +
1RR f (2.23)
2.7.LCD
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 16 × 2 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. Untuk berhubungan dengan mikrokontroler atau perangkat
elektronik
lainnya, LCD HD44780U dengan berdasarkan panjang datanya
mempunyai dua buah
teknik antarmuka, yaitu antarmuka 4 bit dan antarmuka 8 bit.
Pada teknik antarmuka
8 bit, data yang ditulis atau dibaca oleh mikrokontroler ke atau
dari LCD dilakukan
sekali proses, teknik ini membutuhkan 8 buah jalur data dalam
proses antarmukanya
sehingga juga membutuhkan 8 bit I/O pada mikrokontroler sebagai
data bus (jalur
data). Pada teknik antarmuka, 4 bit penulisan atau pembacaan
data dilakukan
sebanyak dua kali untuk 8 bit data, yaitu 4 bit untuk nibble
atas (bit 7 hingga bit 4)
dan dilanjutkan dengan nibble bawah (bit 3 hingga bit 0).
18
-
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).
2. Dua jalur lainnya adalah kaki 4 (RS/Register select), dan
kaki 6 (E/Enable).
Gambar LCD 2 x 16 dapat dilihat pada gambar 2
Gambar 2.3. 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
19
-
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 (2.2)
20
-
Tabel 2.2 Pin pada LCD HD44780U
Nomor Pin Simbol1 VEE (0V)2 VCC (5V)3 GND (0V)4 RS5 R/W6 E7 DB08
DB1
Nomor
Pin
Simbol9 DB210 DB311 DB412 DB513 DB614 DB715 A16 K
Deskripsi pin:
1. DB0 sampai dengan 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.
21
-
2.8.Mikrokontroler PIC16F877
Gambar 2.4 Mikrokontroler PIC16F877
Gambar 2.5 Arsitektur mikrokontroler PIC16F877
22
-
Mikrokontroler PIC16F877 seperti ditunjukkan pada gambar 2.4
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.
Bagian-bagian utama dari mikrokontroler PIC16F877 seperti yang
ditunjukkan
pada gambar 2.5, yaitu:
2.8.1.ALU (Arithmetic Logic Unit)
Merupakan bagian mikrokontroler yang bertanggungjawab terhadap
operasi
aritmatika (penjumlahan dan pengurangan) dan logika, termasuk
pergeseran dalam
register (shfting). PIC 16F877 mempunyai sebuah ALU 8-bit dan
sebuah register
kerja W ( Working Register).
2.8.2.Memori Program
Memori program direalisasikan dalam teknologi FLASH memory
yang
memungkinkan pemrogram melakukan program hapus - tulis hingga
seribu kali.
Pemrograman PIC16F877 dilakukan sebelum dipasang pada rangkaian
aplikasi, atau
ketika sistem sudah terpasang namun dikehendaki adanya up-dating
pada program di
dalamnya. Ukuran memori program untuk PIC16F877 adalah 8 Kbyte
lokasi dengan
lebar kata (word) 14 bit. Lokasi 0000h dan 0004h berturut-turut
digunakan untuk
vektor reset dan vektor interupsi.
23
-
2.8.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
melalui register PCLATH.
2.8.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).
2.8.5.Pembangkit clock - osilator
Rangkaian osilator yang dibutuhkan oleh mikrokontroler untuk
menyediakan
clock bagi mikrokontroler.
2.8.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.
2.8.7.Timer
Timer digunakan untuk keperluan menghasilkan tunda, mencacah
pulsa,
mengetahui keberadaan proses yang sedang berlangsung, dan
sebagainya.
24
-
2.8.8.Analog to Digital converter (ADC)
Mikrokontroler seri PIC16F877 mempunyai 10 bit ADC internal
untuk
mengkonversi tegangan menjadi data digital. Data digital hasil
konversi adalah dari
‘000’H sampai ‘3FF’H (0 – 1023). Modul ADC pada PIC16F877
mempunyai
tegangan referensi (+) dan tegangan referensi (-), kombinasi
keduanya diatur melalui
software(VDD, VSS, RA2 atau RA3). ADC pada PIC16F877 mempunyai 4
register,
antara lain:
2.8.8.1.Register ADCON0
Bit 7-6 ADCS1:ADCS0 : bit untuk memilih waktu konversi
00 = Fosc/2
01 = Fosc/8
10 = Fosc/32
11 = FRC ( Clock dari RC oscilator internal)
Bit 5-3 CHS2:CHS0: bit untuk memilih chanel analog
000 = chanel 0, (RA0/AN0)
001 = chanel 1, (RA1/AN1)
010 = chanel 2, (RA2/AN2)
011 = chanel 3, (RA3/AN3)
100 = chanel 4, (RA5/AN4)
101 = chanel 5, (RE0/AN5)
25
-
110 = chanel 6, (RE1/AN6)
111 = chanel 7, (RE2/AN7)
Bit 2 GO/DONE: status konversi ADC
1 = ADC sedang bekerja ( mengeset bit ini akan mulai
mengkonversi)
0 = ADC off, ( otomatis =0 jika konversi selesai)
Bit 1 tidak dipakai
Bit 0 ADON: A/D on bit
1 = ADC on
0 = ADC shutdown (tidak mengkonsumsi arus)
2.8.8.2.Register ADCON1
Bit 7 ADFM: Format pemilihan bit hasil konversi
1= Right justified. 6 Msb ADRESH dibaca 0
0 = Left justified. 6 Lsb ADRESL dibaca 0
Bit 6 - 4 tidak dipakai
Bit 3 – 0 PCFG3:PCFG0:Konfigurasi kontrol bit port A/D
26
-
Tabel 2.3 konfigurasi kontrol bit port A/D
2.8.8.3.Register ADRESH dan ADRESL
Register ADRESH dan ADRESL adalah tempat menyimpan hasil
konversi
ADC.
2.8.9.USART
Digunakan untuk berkomunikasi secara serial dengan komputer.
2.8.10.Instruksi-instruksi PIC16F877
Mikrokontroler seri PIC16 instruksi yang digunakan relatif
sedikit, hanya 35
instruksi. Instruksi – instruksi tersebut terdiri atas 6
instruksi untuk transfer data, 15
instruksi aritmatika dan logika, 2 instruksi pengarah aliran
program dan 3 instruksi
umum.
Instruksi – instruksi PIC16F877 juga dapat dikelompokkan
berdasarkan medan
operasinya yaitu: instruksi literal dan kontrol, instruksi
berorientasi byte, dan
instruksi berorientasi bit.
27
-
Tabel 2.4 Tabel instruksi PIC16F877
Mnemonic,
OperandKeterangan Siklus
14-bit opcode
Msb Lsb
Status yang
dipengaruhiPENGALAMATAN BERORIENTASI BYTE
ADDWF f,d Jumlahkan W dan f 1 00 0111 d f f f f f f f
C,DC,ZANDWF f,d AND W dan f 1 00 0101 d f f f f f f f ZCLRF f
Bersihkan f 1 00 0001 1 f f f f f f f ZCLRW Bersihkan w 1 00 0001
0xxx xxxx ZCOMF f,d Complement f 1 00 1001 d f f f f f f f ZDECF
f,d Decrement f 1 00 0011 d f f f f f f f ZDECFSZ f,d Decrement f,
lompati jika 0 1(2) 00 1011 d f f f f f f f INCF f,d Increment f 1
00 1010 d f f f f f f f ZINCFSZ f,d Increment f, lompati jika
bernilai 0 1(2) 00 1111 d f f f f f f f IORWF f,d Inclusive OR W
dengan f 1 00 0100 d f f f f f f f ZMOVF f,d Move f 1 00 1000 d f f
f f f f f ZMOVWF f Move f ke W 1 00 0000 1 f f f f f f f NOP Tidak
ada operasi 1 00 0000 0xx0 0000 RLF f,d f digeser ke kiri melewati
Carry 1 00 1101 d f f f f f f f CRRF f,d f digeser ke kanan
melewati Carry 1 00 1100 d f f f f f f f CSUBWF f,d Kurangi W
dengan f 1 00 0010 d f f f f f f f C,DC,ZSWAPF f,d Tukar nible pada
f 1 00 1110 d f f f f f f f XORWF f,d Exclusive OR W dengan f 1 00
0110 d f f f f f f f Z
PENGALAMATAN BERORIENTASI BITBCF f,b Bersihkan bit pada f 1 01
00bb b f f f f f f f BSF f,b Set bit pada f 1 01 01bb b f f f f f f
f BTFSC f,b Check Bit di f, lompati jika =0 1(2) 01 10bb b f f f f
f f f BTFSS f,b Check Bit di f, Lompati jika =1 1(2) 01 11bb b f f
f f f f f
OPERASI LITERAL DAN KONTROLADDLW k Literal dijumlahkan dengan W
1 11 111x kkkk kkkk C,DC,ZANDLW k Literal diAND-kan dengan W 1 11
1001 kkkk kkkk ZCALL k Panggil subrutine 2 10 0kkk kkkk kkkk CLRWDT
Bersihkan Wacthdog Timer 1 00 0000 0110 0100 TO,PDGOTO k Menuju ke
alamat 2 10 1kkk kkkk kkkk IORLW k Inclusive OR Literal dengan W 1
11 1000 kkkk kkkk ZMOVLW k Pindahkan Literal ke W 1 11 00xx kkkk
kkkk RETFIE Kembali dari Interupsi 2 00 0000 0000 1001 RETLW k
Kembali dengan Literal ke W 2 11 01xx kkkk kkkk RETURN kembali ke
program utama 2 00 0000 0000 1000 SLEEP Mode Standby 1 00 0000 0110
0011 TO,PDSUBLW k W dikurangi dengan literal 1 11 110x kkkk kkkk
C,DC,ZXORLW k Exclusive OR Literal dengan W 1 11 1010 kkkk kkkk
Z
Instruksi – instruksi pada mikrokontroler PIC16F877 ditunjukkan
pada tabel 2.4
Simbol “k” pada instruksi Literal dan kontrol menunjukkan suatu
nilai Literal,
suatu nilai konstanta atau label. Untuk instruksi berorientasi
byte, “f” menunjukkan
28
-
suatu register file dan ”d” menunjukkan suatu tujuan yang
merupakan lokasi untuk
menyimpan hasil operasi.
2.8.11.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 CGambar 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)
29
-
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)
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.
30
-
1 = bank 2 dan bank 3
2 = bank 1 dan bank 0
31
-
BAB III
PERANCANGAN PERALATAN
Alat ukur suhu ini dirancang untuk mengukur suhu mesin otomotif
hingga
500oC. Untuk alasan tersebut maka sensor yang dapat dipakai
untuk pengukuran
suhu mesin yaitu Termokopel tipe K, karena:
1. Termokopel tipe K banyak dipakai dan mudah diperoleh.
2. Harga relatif lebih murah.
3. Mempunyai range suhu yang relatif besar (lebih dari 500 oC
).
Untuk merealisasi perancangan alat yang akan dibangun diperlukan
identifikasi
kebutuhan yaitu:
1. Tranduser atau sensor suhu untuk mengubah besaran non-listrik
menjadi besaran
listrik
2. Pengkondisi sinyal
3. Pengubah sinyal elektris dari sensor menjadi data-data
digital.
4. Perangkat penampil data-data digital supaya dapat dibaca
dalam bentuk desimal.
Diagram blok perancangan alat ukur suhu ini ditunjukkan pada
gambar 3.1.
Pertama – tama suhu ditangkap oleh sensor suhu (termokopel)
kemudian diubah
menjadi tegangan. Penguat digunakan Untuk menyesuaikan level
keluaran dari
termokopel dengan level tegangan Analog to Digital Convertion
(ADC). ADC akan
mengubah tegangan keluaran dari pengkondisi sinyal menjadi
sinyal digital. Data
digital diolah oleh mikrokontroler agar dapat ditampilkan dalam
bentuk desimal oleh
LCD 16x2.
32
-
Gambar 3.1 Diagram blok sensor suhu
Berdasarkan aturan pengukuran Termokopel ( Bab 2.6 ), maka
diperlukan satu
buah sensor lagi untuk mengukur suhu sambungan antara termokopel
dengan
penguat. Sensor suhu yang digunakan adalah LM35 dengan resolusi
10mV/oC.
3.1.Perancangan ADC
Suhu yang akan diukur adalah 0oC hingga 500oC dengan resolusi
0,5oC,
sehingga ADC yang diperlukan untuk mendapatkan resolusi 0,5oC.
Karena ADC
yang digunakan adalah ADC internal yang digunakan adalah ADC
internal dari
PIC16F877 maka proses konversi dilakukan melalui software.
3.1.1.Inisialisasi ADC
Proses inisialisasi pada ADC adalah untuk menentukan port yang
digunakan
sebagai input analog, tegangan referensi, dan kecepatan
konversi. Berikut tahap –
tahap proses inisisalisasi ADC :
1. RA0 – RA5 sebagai input dan port RA6 dan RA7 sebagai output
yaitu dengan
mengisi register TRISA dengan b’00111111’.
penguat
Pic16f877
Lcd 16 x 2
ADCLm35VCC
termokopel
8 bit
33
-
2. ADFM untuk left justified, Vref - = Vs, Vref + = AN3, input
Analog = AN0
(port RA0) yaitu dengan mengisi register ADCON1 dengan
b’01000001’.
3.1.2.Konversi ADC
Supaya ADC dapat mengkonversi data input analog maka GO/DONE bit
pada
register ADCON0 harus diset high, maka ADC akan mulai
mengkonversi input
analog, kemudian tunggu hingga ADC selesai mengkonversi.
3.2.Perancangan Pengkondisi Sinyal
Pengkondisi sinyal yang diinginkan adalah agar dapat
menyesuaikan level
tegangan dari termokopel dengan level ADC. Tegangan keluaran
termokopel yang
dihasilkan oleh termokopel terhadap perubahan suhu dapat dilihat
pada tabel 3.1
dibawah. Dari tabel 3.1 dapat dilihat bahwa keluaran termokopel
sangat kecil
sehingga perlu adanya penguatan untuk menyesuaikan sinyal
keluaran dari
termokopel dengan sinyal yang menuju ke mikrokontroler.
Tabel. 3.1 Tabel tegangan keluaran termokopel tipe K terhadap
temperatur
(referensi termokopel 0 oC)
Temperatur(oC)
Output Voltage(mV)
-200 -7,88-100 -3,94
0 0100 3,94200 7,88300 11,82400 15,76500 19,7600 23,64700
27,58
34
-
Temperatur(oC)
Output Voltage(mV)
800 31,52900 35,46
1000 39,41100 43,341200 47,281300 51,22
Gambar 3.2 adalah grafik emf dari termokopel tipe K terhadap
perubahan
temperatur berdasarkan dari tabel 3.1. Pada gambar 3.2 tersebut
keluaran termokopel
pada suhu 0oC hingga 500oC cukup linear sehingga tidak perlu
adanya linearisasi
keluaran termokopel.
Perubahan emf termokopel Tipe K terhadap suhu
51.22
35.46
15.76
-3.94
-20
-10
0
10
20
30
40
50
60
-400 -200 0 200 400 600 800 1000 1200 1400
suhu (oC)
emf
(mV)
Gambar 3.2 Grafik perubahan emf termokopel Tipe K terhadap
suhu
Dari tabel 3.1 dapat dilihat bahwa saat tegangan termokopel
3,94mV
suhunya adalah 100oC, dengan kata lain saat tegangan termokopel
3,94mV maka
tegangan input ke ADC adalah 1V ( keluaran dari LCD saat input
1V = 100oC).
sehingga dengan persamaan (2.32) penguatan adalah:
Acl = 31094,31
−x
35
-
Dari didapat:
Acl = 253,81
sinyal dari termokopel dikuatkan menggunakan penguat tak
membalik, sehingga
dari persamaan (2.32) diperoleh:
Acl =
+
11
RR f
dengan memperhitungkan komponen resistor yang terdapat di
pasaran dan untuk
mempermudah perhitungan maka penguatan dibulatkan menjadi 254x,
dengan
persamaan (2.32) dan R1 = 1k sehingga :
254 = 1 + 1000
fR
didapat:
Rf = 253 Kohm
Dengan menyesuaikan nilai resistor yang ada di pasaran maka Rf =
220 kohm+ 33
kohm = 253 Kohm.
Keluaran dari lm35 adalah berupa tegangan dan digunakan sebagai
tegangan
referensi oleh potensiometer. Keluaran dari potensiometer
digunakan sebagai
referensi penguat, sebagai pengkalibrasi jika suhu pada tampilan
tidak cocok dengan
suhu referensi.
.
36
-
1K
To mikrokontroler
+-
TERMOKOPEL
+-
VCC
VCC
VCC
5K
13
2
+
-LM358
3
21
84
+
-LF353
3
21
84
220K
VEE
VCC
1K
LM35
1 2
3
VS+ VOUT
GN
D1K
33K
Gambar 3.3 Rangkaian akhir pengkondisi sinyal
Rangkaian akhir pengkondisi sinyal dapat dilihat pada gambar
3.3.
3.3.Perancangan LCD
Alat pengukur suhu berbasis Mikrokontroler PIC16F877 ini
menggunakan alat
penampil berupa sebuah LCD 16X2. dari bab 2.7. LCD yang
digunakan adalah
HD44780U, LCD ini dapat menampilkan karakter sepanjang 32
karakter dengan 2
baris tampilan. Kontras dari display diatur dengan potensiometer
R2. pin enable dari
display dihubungkan pada port C pin 2 dari mikrokontroler, jika
kaki ini
mendapatkan sinyal high maka mikrokontroler akan membaca data
dari display dan
jika kaki ini mendapatkan sinyal low, maka mikrokontroler akan
mengirimkan data
ke display. Pada alat ukur ini data yang dikirimkan ke display
merupakan data 8 bit
dengan menggunakan pin data D0 – D7 dari display yang
dihubungkan ke port B
pada mikrokontroler.
37
-
PIC16F877
151617
3334353637383940
RCO/T1OSO/T1CKIRC1/T1OSI/CCP2
RC2/CCP1
RBO/INTRB1RB2RB3RB4RB5RB6RB7
VCC
lcd 16 x 2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
R1
POT13
2
Gambar 3.4 Rangkaian LCD
3.3.1.Tampilan LCD
Ketika alat pengukur suhu dihidupkan pertama kali maka LCD
akan
menampilkan karakter seperti ditunjukkan pada gambar 3.5.
kemudian tampilan
karakter pada gambar 3.5 akan hilang dan dilanjutkan dengan
menampilkan karakter
seperti pada gambar 3.6. karakter 000oC seperti yang ditunjukkan
pada gambar 3.6
akan berubah-ubah sesuai dengan besaran suhu yang terukur
Gambar 3.5 Tampilan nama dan nomor mahasiswa
38
Kristianto WNIM: 015114021
-
Gambar 3.6 Tampilan hasil pengukuran suhu
3.4.Diagram Alir:
mulai
Inisialisasi LCD
Ambil data suhu
TampilkanHasil
pengukuran
Tampilan perkenalan
Tunda 1detik
Konversi ke desimal
Konversi ke ASCII
Gambar 3.7 Diagram alir program utama
39
sensor suhusuhu = 0000 oC
-
Proses pengolahan data pada mikrokontroler agar data dapat di
tampilkan pada
layar LCD2x16 dan komputer digambarkan dengan diagram alir
seperti pada gambar
3.7 program dimulai dengan inisialisasi LCD kemudian mengirimkan
karakter
tampilan perkenalan seperti pada gambar 3.5. kemudian ADC pada
mikrokontroler
akan mulai membaca tegangan keluaran dari pengkondisi sinyal dan
mengubahnya
menjadi data biner (sinyal digital).
Sebelum ditampilkan ke LCD, data-data biner ini terlebih dahulu
harus diubah
menjadi nilai-nilai suhu dengan proses konversi. Nilai –nilai
suhu 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 suhu yang tampil pada layar LCD dapat terlihat dengan
jelas,
program akan menambahkan waktu tunda selama satu detik sebelum
proses
pengambilan nilai suhu yang baru dilakukan. Oleh karena itu,
perubahan suhu akan
dideteksi setelah waktu tunda selama satu detik tersebut
terlewati.
40
-
BAB IV
HASIL PENGUJIAN DAN PEMBAHASAN
4.1.Hasil Pengukuran Suhu Dengan Media Uap Air
Pengujian dan pengambilan data pengukuran suhu dilakukan
dengan
membandingkan keluaran termometer referensi dengan keluaran
termometer digital
rancangan yang terlihat pada layar LCD. Media yang dipakai saat
pengujian adalah
suhu uap air hasil pemanasan dengan pemanas listrik. Hasil
pengukuran tersebut
dapat dilihat pada tabel berikut.
Tabel 4.2 Data hasil pengukuran suhu dengan media uap air
no
suhu pembanding suhu tampilan
rata rata galat tegangansuhu tampilan atau keluaran LM35
oC oC oC selisih mV
1 10
119.5
10.510 10.25
1 308.4-0.5 308.40.5 308.40 308.4
2 22
2121.522.522 21.75
1 308.4-0.5 308.40.5 308.40 308.4
3 25
2424.523.523 23.75
-1 308.4-0.5 308.4-1.5 308.4-2 308.4
4 30
2929.530.531.5 30.125
-1 308.4-0.5 308.40.5 308.41.5 308.4
5 35
35.53534
34.5 34.75
0.5 308.40 308.4-1 308.4
-0.5 308.4
6 40
4140
39,539 40
1 308.40 308.4
-0.5 308.4-1 308.4
41
-
no
suhu
pembandingsuhu
tampilan
rata rata galat tegangansuhu
tampilan atau keluaran LM35oC oC oC selisih mV
7 45
44.545
45.545.5 45.125
-0.5 308.40 308.4
0.5 308.40.5 308.4
8 50
5150.55049 50.125
1 308.40.5 308.40 308.4-1 308.4
9 55
5554.55456 54.875
0 308.40.5 308.4-1 308.41 308.4
10 60
59.5596160 59.875
-0.5 308.4-1 308.41 308.40 308.4
11 65
65.5646665 65.125
0.5 308.4-1 308.41 308.40 308.4
12 70
6968
69.569 68.875
-1 308.4-2 308.4
-0.5 308.4-1 308.4
13 75
7474.575
74.5 74.5
-1 308.4-0.5 308.4
0 308.4-0.5 308.4
14 80
7978
79.580 79.125
-1 308.4-2 308.4
-0.5 308.40 308.4
15 85
8585.584.585 85
0 308.40.5 308.4-0.5 308.4
0 308.4
16 90
89.5908989 89.375
-0.5 308.40 308.4-1 308.4-1 308.4
42
-
Dari tabel 4.1 diatas dapat dilukiskan perbandingan antara
termometer
referensi dan hasil rata- rata pengukuran pada grafik dengan
bentuk scatter. Anggap
termometer referensi sebagai x dan hasil pengukuran sebagai y
maka didapat gambar
grafik sebagai berikut.
Grafik Hubungan Suhu Terukur terhadap Suhu Referensi
89.375
65
50.125
34.75
0102030405060708090
100
0 20 40 60 80 100
suhu referensi (oC)
suhu
yan
g te
ruku
r (oC
)
Gambar 4.1. Grafik hubungan suhu terukur terhadap suhu
referensi
Dari hasil pengukuran pada tabel 4.1 dapat dianalisis dengan
regeresi linier.
Pembacaan termometer referensi dianggap sebagai x dan rata –
rata pembacaan
termometer hasil pengukuran dianggap sebagai y.
Pengolahan data ditunjukkan dibawah ini dengan menggunakan
regresi linier
menghasilkan:
N = 16
∑x = 837
∑y = 832,625
∑ 2x = 52559
∑ 2y = 52011,27
∑ xy = 52282,88
43
-
Dengan memakai persamaan (2.11) maka koefisien regresinya
adalah:
b = ( )∑ ∑∑ ∑ ∑
−
−22 XXn
YXXYn =
b = ( ) ( ) ( )
( ) ( ) 28325225916625,83283788,5228216
−−
= 0,9946
a =
−16837
9946,016
625,832 = 0,0083
jadi persamaan regresinya adalah XY 9946,00083,0^
+= , dengan persamaan
tersebut kita dapat menentukan taksiran nilai – nilai Y dan
kuadrat kesalahannya.
Yaitu disajikan pada tabel berikut:
Tabel 4.3 Tabel hasil komputasi kecocokan alat ukur
No X Y X2 Y2 XY ^Y 2^)( YY −
1 10 10.25 100 105.0625 102.5 9.883 0.1346892 22 21.75 484
473.0625 478.5 21.835 0.0072253 25 23.75 625 564.0625 593.75 24.823
1.1513294 30 30.125 900 907.5156 903.75 29.803 0.1036845 35 34.75
1225 1207.563 1216.25 34.783 0.0010896 40 40 1600 1600 1600 39.763
0.0561697 45 45.125 2025 2036.266 2030.625 44.743 0.1459248 50
50.125 2500 2512.516 2506.25 49.723 0.1616049 55 54.875 3025
3011.266 3018.125 54.703 0.029584
10 60 59.875 3600 3585.016 3592.5 59.683 0.03686411 65 65 4225
4241.266 4233.125 64.663 0.21344412 70 68.875 4900 4743.766 4821.25
69.643 0.58982413 75 74.5 5625 5550.25 5587.5 74.623 0.01512914 80
79.125 6400 6260.766 6330 79.603 0.22848415 85 85 7225 7225 7225
84.583 0.17388916 90 89.375 8100 7987.891 8043.75 89.563
0.035344
∑ 837 832.625 52559 52011.27 52282.88 832.42 3.084275
44
-
dari tabel diperoleh total kuadrat kesalahan ∑
−
2^YY = 3,084275
dengan memakai rumus pada persamaan (2.13) maka kesalahan baku
dari
taksiran regresi tersebut adalah
n
YYS
XY
∑
−
=
2^
^
= 16
084275,3 =0,43905
Dari persamaan regresi XY 9946,00083,0^
+= ditunjukkan bahwa arah garis
regresi mendekati 1 ini berarti bahwa hasil pengukuran
linear.
Dengan memakai rumus pada persamaan (2.14) maka Koefisien
korelasinya
adalah:
{ }{ }∑ ∑∑ ∑∑ ∑ ∑
−−
−=
2222 )()( YYnXXn
YXXYnr
= { }{ }22
)625,832()27,52011(16)837()52559(16)625,832)(837()88,52282(16
−−
−
= 0.9999
Oleh karena r = 0,9999 terletak antara 0,9 dan 1,0 maka terdapat
hubungan
positif yang kuat antara suhu yang terukur pada alat ukur hasil
rancangan dengan alat
ukur referensi.
Koefisien determinasinya, yaitu r2 = (0,9999)2 = 0,9996 =
99,96%, artinya
variasi hasil pengukuran suhu yang dapat dijelaskan oleh variasi
peningkatan suhu
referensi oleh persamaan XY 9946,00083,0^
+= adalah sebesar 99,96 % sisanya
45
-
sebesar 0,04% dijelaskan oleh faktor lain diluar variabel pada
persamaan regresi
tersebut.
4.2.Pengujian Dengan Media Api
Pengujian dengan menggunakan media api ini dilakukan untuk
menguji
apakah alat ini mampu untuk mengukur hingga suhu 500oC.
Pengujian dan
pengambilan data ini dilakukan dengan mendekatkan kedua ujung
sensor alat ukur
dan sensor alat ukur referensi pada media api. Agar pengamatan
dapat mudah maka
yang diamati adalah penurunan suhu dari alat ukur dan alat ukur
referensi. Data hasil
pengukuran disajikan pada tabel 4.4:
Tabel 4.4 pengujian dengan media api
nosuhu
referensi (oC)
suhu yang terukur (oC)
error %
1 100 125 82 200 222 73 300 254 154 400 297 345 500 431 236 Over
Load 500
Rata-rata 300 304.8333333 17.4
Dari tabel 4.4 diatas dapat dilihat bahwa alat ukur ini mampu
untuk
menampilkan suhu yang terukur hingga 500 oC. dari data dapat
dilihat bahwa error
yang terjadi untuk pengukuran dengan media api lebih besar dari
pada pengukuran
dengan media air, hal ini disebabkan karena perbedaan kecepatan
penurunan suhu
sensor pada alat dan sensor pada alat ukur referensi mempunyai
kecepatan penurunan
suhu yang berbeda.
46
-
4.3.Pengujian Dengan Media Es
Pengujian dengan media es ini dilakukan untuk menguji kemampuan
alat
ukur untuk suhu yang rendah. Pengujian ini dilakukan dengan
mengukur uap es dari
es dengan mengatur jarak sensor terhadap balok es. Data dari
hasil pengukuran
ditunjukkan pada tabel 4.5 berikut:
Tabel 4.5 data hasil pengujian dengan media es
noSuhu
terukur (oC)
Suhu referensi
(oC)error %
1 10 10.25 12 22 21.75 13 23 23 04 24 24 05 25 24.5 26 26 27
4.5
rata - rata 21.66667 21.75 1.417
Dari data tabel 4.5 dapat dilihat bahwa alat ini mampu untuk
mengukur suhu
yang rendah dengan error yang terjadi relatif lebih rendah.
47
-
BAB V
KESIMPULAN DAN SARAN
5.1.Kesimpulan
Dari hasil pengamatan dan percobaan yang telah diuraikan pada
bagian
sebelumnya maka dapat diambil beberapa kesimpulan antara
lain:
1. Alat ini mampu mengukur suhu hingga suhu 500oC dengan
resolusi 0,5oC
2. Semakin besar suhu yang diukur galat yang terjadi semakin
besar hingga
mencapai 23 % pada pengukuran dengan media api
3. Berbedanya media yang diukur error yang terjadi pada
pengukuran juga berbeda
4. Alat ini lebih cocok untuk mengukur suhu uap air atau gas
dibandingkan untuk
untuk mengukur suhu sebuah benda padat ataupun api.
5.2.Saran
Alat ukur yang telah dibuat masih jauh dari sempurna. Untuk
pengembangan
lebih lanjut maka saran dari penulis agar alat bisa lebih baik
yaitu: sensor yang
digunakan untuk mengukur suhu referensi sebaiknya digunakan
sensor dengan
sensitivitas yang sama dengan termokopel.
48
-
DAFTAR PUSTAKA
Ramon Pallas-areny, sensors and signal conditioning, second
edition, John Willey &
sons, inc.
Sears and Semansky, 2002, Fisika Universitas edisi ke
sepuluh
J. Michael Jacob. 1989. Prentice Hall, Inc. Engle Wood Cliffs,
NJ. USA
Herman Widodo Soemitro. 1982. “Penguat Operasional dan Rangkaian
Terpadu
Linier edisi kedua” (Robert F. Coughlin dan Frederick F.
Driscoll..
terjemahan). Operational Amplifier and Liner Integrated Circuits
second
edition. Buku asli diterbitkan tahun 1982
William D. Stanley. 1994. Operational Amplifier With Linear
Integrated Circuits
(third edition) , Macmillan College Publishing Company,
inc.United States of
America.
Andi Pratomo, 2004, Belajar Cepat dan Mudah Mikrokontroler
PIC16F877, PT Elex
Media Komputindo, Jakarta.
Paulus Andi Nalwa, 2004, Panduan Praktis Pengguanaan dan
Antarmuka Modul
LCD M1632, PT Elex Media Komputindo, Jakarta.
Dr. Boediono dan Dr.Ir. Wayan Koster, M.M. 2001, Teori dan
Aplikasi Statistika
dan Probabilitas, Jakarta.
http://www.Hobby-elec.com/
Http://www.microchip.com/
Http://www.datasheetcatalog.com/
Http://www.electroniclab.com/
49
http://www.electroniclab.com/http://www.datasheetcatalog.com/http://www.microchip.com/http://www.Hobby-elec.com/
-
;------------------------------------------------------------------------------;
ALAT UKUR SUHU DENGAN SENSOR TERMOKOPEL BERBASIS
MIKROKONTROLER PIC16F877A; OLEH : KRISTIANTO WIDIATMOKO; NIM :
015114021;------------------------------------------------------------------------------;;
**LCD Pinouts; 1 Vss - Ground, 3rd pin of the potentiometer; 2 Vcc
- 5V DC, 1st pin of the potentiometer; 3 Vee - Middle pin of the
potentiometer; 4 RS - RA0 (Data - 1, Instruction - 0); 5 R/W - RA1
(R - 1, W - 0); 6 E - RA2 (Enable Pulse); 7 DB0 - RB0 (LSB); 8 DB1
- RB1; 9 DB2 - RB2; 10 DB3 - RB3 (Lower 4 bits); 11 DB4 - RB4
(Upper 4 bits); 12 DB5 - RB5; 13 DB6 - RB6; 14 DB7 - RB7 (MSB);;
Instruction Cycle Time = 1 / (4MHz / 4) = 1us per
instruction;-------------------------------------------------------------------------------
N EQU 0x20FIXDELAY EQU 0x21 ; General Purpose Registers.sela equ
0x22sela1 equ 0x23R0L equ 0x24R0H equ 0x25R1L equ 0x26SUBM equ
0x27SUBD equ 0x28RATUSAN equ 0x29PULUHAN equ 0x2ASATUAN equ
0x2Bvisdelay EQU 0x2CdataL EQU 0x2D
tempL EQU 0x2E ; Temp. variable registers.tempH EQU
0x2FtempCfract EQU 0x30
-
tempHtrans EQU 0x31 ; Data to be passed to PC.tempLtrans EQU
0x32
TAMBAH EQU 0X33KALI32 EQU 0X34KALI2 EQU 0X35KOMA EQU 0X36DID EQU
0X37
;---------------------------------------------------------------------------;PROGRAM
UTAMA DARI ALAT UKUR
SUHU;---------------------------------------------------------------------------
org 0x0000BCF PCLATH,3BCF PCLATH,4goto startorg 0x0004
start call initports ; Inisialisasi Port output/input.
call INITLCD ; Inisialisasi LCD.maincall
call tampilan1 ; tampilan perkenalancall clrscreencall
tampilan2
ulang CALL nextline7 ; tampilan hasil suhu yang terukurCALL
tempconvgoto ulang
goto start
;----------------------------------------------------------------------------;
Subrutin untuk inisialisasi PORT
Input/Output.;----------------------------------------------------------------------------
initportsbanksel PORTB ;konfigurasi bank0clrf PORTB ; Clear
PORT.clrf PORTCclrf PORTA
banksel TRISB ;konfigurasi input output untuk PORTBmovlw 0x00 ;
PORTB and PORTC sebagai Output.movwf TRISB
-
movwf TRISCmovlw 0x3fmovwf TRISARETURN
;----------------------------------------------------------------------------;
Inisialisasi
ADC;----------------------------------------------------------------------------
initadcbanksel TRISA ; konfigurasi I/O pada PORTA.movlw
b'00111111' ; Inisialisasi RA0 - RA5 sebagai Input.movwf TRISA
banksel ADCON1 ; Konfigurasi register ADCON1.movlw b'00000101' ;
ADFM for Left Justified, Vref-=Vss
Vref+=AN3 Analog In=AN0, AN1 (R/C = 1/2).movwf ADCON1
banksel ADCON0 ; Konfigurasi register ADCON0.movlw b'01000001' ;
Fosc/8, Channel 0, Enable the ADC
(Default Chan. 0)movwf ADCON0
return;---------------------------------------------------------------------------;
rutine mulai mengkonversi ADC dan tunggu hingga selesai
mengkonversi.;---------------------------------------------------------------------------
startadcbanksel ADCON0 ; konfigurasi register ADCON0.bsf ADCON0,
GO ; Set "GO" bit untuk mulai
mengkonversi AD.
banksel ADCON0 ; konfigursi register ADCON0.checkdone btfsc
ADCON0, GO ; apakah selesai mengkonversi?
goto checkdone ; jika belum, dicek lagi (kembali ke
checkdone).
return ; jika sudah selesai kembali ke program utama.
;---------------------------------------------------------------------------;
memilih chanel AN0 sebagai input
Analog.;---------------------------------------------------------------------------
-
chan0banksel ADCON0bcf ADCON0, 5bcf ADCON0, 4bcf ADCON0, 3
return;----------------------------------------------------------------------------;
subrutin untuk mengkonversi dari anlog input menjadi bilangan
heksa.;----------------------------------------------------------------------------
tempconvcall initadc ; Inisialisasi dan mulai ADC pada AN0.call
chan0call delay20 ; Delay untuk menunggu hingga
capacitor penuh.call startadc ; Start ADC dan tunggu hingga
selesai.
banksel ADRESH ; hasil konversi high byte diletakkan di alamat
tempH.
movf ADRESH, wmovwf tempHmovwf tempHtrans
banksel ADRESL ; hasil konversi low byte diletakkan di
tempL.
movf ADRESL, wbanksel tempLmovwf tempL
MOVLW 0X02MOVWF DID
arrgtemp; Rearrange tempL dari xx00 0000 ke
0000 00xx.BCF STATUS,CRLF tempH,f ; geser isi tempH kekiri
1xbtfsc STATUS,C ; apakah carry =0?GOTO arrg1 ; jika tidak lompat
ke arrg1
BCF STATUS,C ; jika ya geser tempL 1xRLF tempL,fbtfsc STATUS,C ;
apakah carry=0?BSF tempH,0 ; jika tidak set bit pertama tempHGOTO
BLK ; jika ya check apakah sudah bergeser 2x
-
arrg1BCF STATUS,C ; geser tempL 1xRLF tempL,fbtfsc STATUS,C ;
apakah carry=0?BSF tempH,0 ; jika tidak set bit pertama tempHBSF
tempL,0 ; jika ya set bit pertama tempL
BLKDECFSZ DID,1 ; apakah sudah digeser 2xGOTO arrgtemp ; jika
belum kembali geser
;----------------------------------------------------------------------------;memisahkan
high nibble dengan low nibble;high nibble di simpan di R0L dan low
nibble disimpan di
R0H;------------------------------------------------------------------------------
PISAHMOVF tempH,W ;pindahkan isi register ADRESH
ke register WMOVWF R0L ;simpan di R0LMOVLW 0XF0 ;jumlahkan R0L
dengan 'F0'HANDWF R0L,FSWAPF R0L,F ;hasil disimpan di R0LMOVF
tempH,W ;pindahkan isi register ADRESH
ke register WMOVWF R0H ;simpan di R0LMOVLW 0X0F ;jumlahkan
dengan 0FANDWF R0H,F ;simpan hasil di R0H
;------------------------------------------------------;MENDAPATKAN
NILAI RATUSAN;tempL DIKALI 32 KEMUDIAN DI BAGI
25;------------------------------------------------------
CLRF RATUSAN ;bersihkan isi register RATUSAN
MOVLW 0x1f ;isi akumulator dengan 1fMOVWF KALI32 ;pindahkan ke
register KALI32MOVFtempL,w ;pindahkan hasil konversi ADC
ke akumulatorlagi ADDWF tempL,f ;jumlahkan tempL dengan
-
akumulator, hasil disimpan di tempLdecfsz kali32,1 ;turunkan
regKALI32 1x, hasil simpan
di KALI32goto lagi ;menjumlah lagiMOVLW 0x19 ;isi akumulator
dengan 19H (25d)
BAGI25 INCF RATUSAN,1 ;naikkan reg RATUSAN 1XSUBWF tempL,f
;kurangi tempL dengan
akumulator, hasil disimpan di tempLBTFSC STATUS,C ;apakah hasil
=(-)? jika y lompati inst
berikutnyaGOTO BAGI25 ;membagi lagiDECF RATUSAN,1 ;turunkan
RATUSAN 1xADDWF tempL,F ;jumlahkan tempL dengan
akumulator hasil disimpan di tempL
;-------------------------------------------------------;R0L
DIKALIKAN 2 KEMUDIAN DIBAGI 25;HASIL DIJUMLAHKAN DENGAN
RATUSAN;SISANYA DIJUMLAHKAN DENGAN
R0H;-------------------------------------------------------
MOVLW 0x01 ;isi akumulator dengan 01hMOVWF KALI2 ;pindahkan ke
reg kali2MOVFR0L,W ;pindahkan isi R0L ke
akumulatorAGAIN ADDWF R0L,F ;jumlahkan R0L dengan akumulator dan
hasil disimpan di R0L
decfsz KALI2,1 ;turunkan reg kali2 1x, jika sudah 0 lompati
instruksi berikutnya
GOTO AGAIN ;menjumlah lagiMOVFtempL,W ;pindahkan isi reg tempL
ke
akumulatorADDWF R0L,F ;jumlahkan R0L dengan
akumulator
MOVLW 0x19 ;isi akumulator dengan 19h (25d)BAGI19 INCF RATUSAN,1
;naikkan register RATUSAN 1x
SUBWF R0L,F ;kurangi R0L dengan 19h, hasil disimpan di R0L
BTFSC STATUS,C ;hasil = (-)? jika ya lompati instruksi
berikutnya
GOTO BAGI19 ;mengurang lagiDECF RATUSAN,1 ;turunkan register
RATUSAN 1xADDWF R0L,f ;jumlahkan isi register R0L
dengan akumulator hasil disimpan di R0L
;-------------------------------------------------------
-
;hasil penjumlahan dibagi 25 hasil dijumlahkan dengan
RATUSAN;sisa dikali
8;-------------------------------------------------------
MOVLW 0x07 ;isi akumulator dengan 07hMOVWF KALI2 ;pindahkan ke
akumulatorMOVFR0L,W ;pindahkan isi register R0L ke
akumulatorAGAIN1 ADDWF R0L,F ;jumlahkan R0L dengan
akumulator
decfsz KALI2,1 ;turunkan register KALI2 1x, jika sudah 0 lompati
instruksi berikutnya
GOTO AGAIN1 ;menjumlah lagiMOVFR0L,W ;pindahkan isi R0L ke
akumulatorADDWF R0H,F ;jumlahkan R0H dengan
akumulator hasil disimpan di R0H
;-------------------------------------------------------;MENDAPATKAN
NILAI PULUHAN;R0H DI DIBAGI
20;-------------------------------------------------------
CLRF PULUHAN ;bersihkan PULUHANMOVLW 0X14 ;isi akumulator dengan
14h (20d)
BAGI14 INCF PULUHAN,1 ;naikan register PULUHAN 1xSUBWF R0H,F
;kurangi R0H dengan
akumulator, hasil disimpan di R0HBTFSC STATUS,C ;apakah hasil=
(-)? jika y lompati
instruksi berikutnyaGOTO BAGI14 ;mungurang lagiDECF PULUHAN,1
;turunkan PULUHAN 1xADDWF R0H,F ;jumlahkan R0H dengan
akumulator, hasil disimpan di
R0H;-------------------------------------------------------;untuk
mendapatkan nilai satuan;R0H dibagi 2 kemudian sisanya ditaruh
dikoma;-------------------------------------------------------
CLRF SATUAN ;bersihkan SATUANMOVLW 0X02 ;isi akumulator dengan
02h
BAGI2H INCF SATUAN,1 ;naikkan SATUAN 1xSUBWF R0H,F ;kurangi R0H
dengan akumulator
hasil disimpan di R0HBTFSC STATUS,C ;apakah hasil = (-)? jika y
lompati
instruksi berikutnyaGOTO BAGI2H ;mengurang lagiDECF SATUAN,1
;turunkan SATUAN 1x
-
ADDWF R0H,F ;jumlahkan R0H dengan akumulator, hasil disimpan di
R0H
CLRF KOMA ;bersihkan KOMAMOVLW 0x04 ;isi akumulator dengan
04hMOVWF KALI2 ;pindahkan ke KALI2MOVFR0H,W ;pindahkan R0H ke
akumulator
AGAIN2 ADDWF R0H,F ;jumlahkan akumulator dengan R0H, hasil
disimpan di R0H
decfsz KALI2,1 ;turunkan KALI2 1x, jika sudah 0 lompati
instruksi berikutnya
GOTO AGAIN2 ;menjumlah lagiMOVFR0H,W ;pindahkan R0H ke
akumulatorMOVWF KOMA ;pindahkan isi akumulator
ke KOMA
MOVLW 0X0A ;isi akumulator dengan 0Ah (10d)SISA INCF RATUSAN,1
;naikkan RATUSAN 1X
SUBWF PULUHAN,F ;kurangi puluhan dengan akumulator, hasil
disimpan di PULUHAN
BTFSC STATUS,C ;apakah hasil =(-)? jika y lompati instruksi
berikutnya
GOTO SISA ;mengurang lagiDECF RATUSAN,1 ;kurangi RATUSAN 1XADDWF
PULUHAN,F ;jumlahkan PULUHAN dengan
akumulator hasil disimpan di PULUHAN
MOVLW 0X0A ;isi akumulator dengan 0Ah (10d)SISA1 INCF PULUHAN,1
;naikkan PULUHAN 1X
SUBWF SATUAN,F ;kurangi SATUAN dengan akumulator, hasil disimpan
di SATUAN
BTFSC STATUS,C ;apakah hasil = (-)? jika y lompati instruksi
berikutnya
GOTO SISA1 ;mengurang lagiDECF PULUHAN,1 ;turunkan PULUHAN
1XADDWF SATUAN,F ;jumlahkan SATUAN dengan
akumulator, hasil disimpan di SATUAN
MOVLW 0X0A ;isi akumulator dengan 0Ah (10d)SISA2 INCF SATUAN,1
;naikkan SATUAN 1x
SUBWF KOMA,F ;kurangi KOMA dengan akumulator, hasil disimpan di
KOMA
BTFSC STATUS,C ;apakah hasil = (-)? jika y lompati instruksi
berikutnya
GOTO SISA2 ;mengurang lagi
-
DECF SATUAN,1 ;turunkan SATUAN 1xADDWF KOMA,F ;jumlahkan
akumulator dengan
KOMA, hasil disimpan di
KOMA;----------------------------------------------------------;mengubah
bill heksa menjadi ascii dan hasil dikirim ke
LCD;----------------------------------------------------------
MOVFRATUSAN,W ;pindahkan isi reg RATUSAN ke akumulator
ADDLW 0X30 ;jumlahkan dengan 30H untuk mengkonversi ke ASCII
CALL PUTCHAR ;panggil PUTCHARGOTO KRMPUL ;lompat ke KRMPUL
KRMPUL MOVFPULUHAN,W ;pindahkan PULUHAN ke akumulator
ADDLW 0X30 ;jumlahkan dengan 30HCALL PUTCHAR ;kirim ke LCD
KRMSATUAN MOVFSATUAN,W ;pindahkan SATUAN ke akumulator
ADDLW 0X30 ;jumlahkan dengan 30HCALL PUTCHAR
KIRIMKOMA MOVLW B'00101100' ;karakter koma (,)CALL PUTCHAR
MOVFKOMA,W ;pindahkan KOMA ke akumulator
ADDLW 0X30 ;jumlahakn dengan 30HCALL PUTCHAR
MOVLW " " ;spasiCALL PUTCHARMOVLW b'11011111' ;derajatCALL
PUTCHARMOVLW "C" ;karakter "c"CALL PUTCHARMOVLW " "CALL
PUTCHARMOVLW " "CALL PUTCHAR
return
-
;------------------------------------------------------------;
Inisialisasi
LCD.;------------------------------------------------------------
INITLCDBANKSEL PORTBMOVLW 0xE6 ; 46ms delayCALL NDELAY ; tunggu
hingga VCC pada LCD
mencapai 5V
BCF PORTC, 0 ; Clear RS untuk mengeset Instruction Reg.
BCF PORTC, 1 ; Clear R/W untuk menulis
MOVLW B'00111011' ; Function Set to 8 bits, 2 lines and 5x7 dot
matrix
MOVWF PORTBCALL ENABLEPULSECALL DELAY50CALL ENABLEPULSECALL
DELAY50CALL ENABLEPULSECALL DELAY50 ; delay 50us dan tunggu
hingga
instruksi selesai
MOVLW B'00001000' ; Display OFFMOVWF PORTBCALL ENABLEPULSECALL
DELAY50 ; delay 50us dan tunggu hingga
instruksi selesai
MOVLW B'00000001' ; bersihkan layarMOVWF PORTBCALL
ENABLEPULSEMOVLW 0x09 ; delay 1.8ms tunggu hingga
instruksi selesaiCALL NDELAY
MOVLW B'00000010' ; Cursor HomeMOVWF PORTBCALL ENABLEPULSEMOVLW
0x09 ; delay 1.8ms tunggu hingga
instruksi selesaiCALL NDELAY
MOVLW B'00001100' ; Display ON, Cursor ON,
-
Blinking ONMOVWF PORTBCALL ENABLEPULSECALL DELAY50 ; delay 50us
tunggu hingga
instruksi selesai
MOVLW B'00000110' ; Entry Mode Set, Increment & No display
shift
MOVWF PORTBCALL ENABLEPULSECALL DELAY50 ; delay 50us
BSF PORTC, 0 ; Set RS untuk memilih Data Reg.
BCF PORTC, 1 ; menulis
RETURN
;-----------------------------------------------------------------------------------------------------;
Enable Pulse for writing or reading instructions or
data;-----------------------------------------------------------------------------------------------------
ENABLEPULSE BCF PORTC, 2 ; 2us LOW followed by 3us HIGH Enable
Pulse and 2us LOW.
NOPNOPBSF PORTC, 2NOPNOPNOPBCF PORTC, 2NOPNOPRETURN
;-------------------------------------------------------------------------------------;
N DELAY subrutin, delay in multiples of 200us up to 200us*255 =
51ms;--------------------------------------------------------------------------------------NDELAY
MOVWF N ; N is delay multiplierNOTOVER CALL DELAY200 ; Call for
200us
DECFSZ N, 1 ; Decrease N by 1GOTO NOTOVER ; The delay isn't
doneRETURN
;------------------------------------------------------------------------------------------
-
; FIXED delay
200us;------------------------------------------------------------------------------------------
DELAY200MOVLW 0x42 ; 66 LOOPSMOVWF FIXDELAY ; 200us fixed
delay
NOTDONE200 DECFSZ FIXDELAY, 1 ; Decrement of FIXDELAY
GOTO NOTDONE200 ; If 200us isn't up go back to NOTDONE200
RETURN ; If 200us is up then return to instruction.
;-------------------------------------------------------------------------------------------;
FIXED delay
50us;-------------------------------------------------------------------------------------------
DELAY50MOVLW 0x10 ; 10 LOOPSMOVWF FIXDELAY ; 50us fixed
delay
NOTDONE50 DECFSZ FIXDELAY,1 ; Decrement of FIXDELAY
GOTO NOTDONE50; If 50us isn't up go back to NOTDONE50
RETURN ; If 50us is up then return to instruction.
;--------------------------------------------------------------------------------------------;
FIXED 20us DELAY (Possibly more due to execution time of the DECFSZ
instruction.);--------------------------------------------------------------------------------------------
DELAY20MOVLW 0x7 ; 7 LOOPSMOVWF FIXDELAY ; 50us fixed delay
NOTDONE20 DECFSZ FIXDELAY,1 ; Decrement of FIXDELAYGOTO
NOTDONE20; If 50us isn't up go back to
NOTDONE50RETURN ; If 50us is up then return to
instruction.
;-----------------------------------------------------------------------------------------------------;
sub-rutin mengirim karakter ke
LCD.;-----------------------------------------------------------------------------------------------------
PUTCHAR
-
MOVWF PORTBCALL ENABLEPULSECALL CHKBUSYcall tundaRETURN
;----------------------------------------------------------------;
Subrutin untuk mengecek BUSY
flag.;----------------------------------------------------------------tunda
movlw h'ff'
movwfselatunda1 movlw h'ff'
movwfsela1tunda2 decfsz sela1,1
goto tunda2decfsz sela,1goto tunda1return
CHKBUSYbcf PORT