• Tidak ada hasil yang ditemukan

HASIL DAN PEMBAHASAN

4.3 Analisis Perubahan Suhu

0 0.02 0 50 100 150 200 Tinggi badan (cm)

Gambar 4.2 Grafik hubungan antara Error dengan Tinggi badan

b 2 bahwa suhu media rambatan gelombang

4.3 Analisis Perubahan Suhu

Pengujian alat pengukur tinggi badan ini dilakukan dengan suhu ruangan yang tetap. Seperti dijelaskan pada ba

berpengaruh pada cepat rambat gelombang ultrasonik sehingga berpengaruh terhadap akurasi data.

Tiap 1°C kecepatan rambat gelombang naik 0,6 m/s. Pengaruh perubahan suhu terhadap hasil pengukuran bisa dilihat pada tabel 4.1, dengan pengujian pengukuran yang dilakukan pada suhu ruangan 25°C, dibandingkan dengan hasil yang diperoleh pada suhu 28°C.

Tabel 4.1 Data pengukuran pada suhu 25°C dan 28°C No TB (cm) L (cm) Tteori (ms) T 1 (ms) T 2 (ms) E 1 (ms) E 2 (ms) 1 190 10 0.575 0.6 1.1 0.025 0.525 2 180 20 1.15 1.15 1.56 0 0.41 3 170 30 1.725 1.73 2.08 0.005 0.355 4 160 40 2.3 2.3 2.56 0 0.26 5 150 50 2.875 2.86 3.3 0.015 0.425 6 140 60 3.45 3.47 3.96 0.02 0.51 7 130 70 4.025 4.1 4.48 0.075 0.455 8 120 80 4.6 4.6 5.12 0 0.52 9 110 90 5.175 5.2 5.76 0.025 0.585 10 100 100 5.75 5.9 6.32 0.15 0.57

dengan TB = data tinggi badan sebenarnya

L = jarak tranduser dengan obyek ukur sebenarnya

T2 = tunda waktu pengukuran pada suhu 25°C pada suhu 28ºC

an pada suhu 28ºC memiliki error rata-rata 0,031 ms,

.4 Analisis Perangkat Lunak (Software)

Perangkat lunak pada pengukur tinggi badan belum selesai dibuat, sehingga lat tidak bisa berfungsi untuk mengukur tinggi obyek. Program yang belum

uat antara lain :

r dengan jarak obyek ke

Program untuk mengatur kerja moto

Program untuk membandingkan pulsa yang dihasilkan optocoupler dengan ja byek randuse u progr osisi

T1 = tunda waktu pengukuran pada suhu 28°C

E1 = error pengukuran

E2 = error pengukuran pada suhu 25ºC

Dari tabel 4.1 dapat diketahui bahwa suhu berpengaruh terhadap hasil pengukuran. Pengukur

sedangkan untuk pengukuran pada suhu 25ºC memiliki error rata-rata 0,461 ms. Jadi pengukuran yang memiliki akurasi data yang baik adalah pengukuran yang dilakukan pada suhu 28ºC.

4 a dib

1. Program untuk mengurangkan tinggi alat uku tranduser.

2. r.

3.

rak o ke t r ata am p LCD.

Program yang dah di awali dengan m ukan isasi 0 yang difungsikan sebagai tim it, hal ilakuk enga berikan nilai 21H pada register TMOD, seperti gambar ang m akan hasil simulasi dari inisialisas er. K dian re r TL0 dan TH0 direset dengan diisi nilai 00H,

tin programnya adalah sebagai berikut:

00H 00H

su buat di elak inisial timer er 16 b ini d an d n mem

4.3 y erup i tim emu giste

ru

Init_Timer:

MOV TMOD,#21H ;isi TMOD dengan 21H

Reset_Timer:

MOV TH0,#00H ;register TH0 = #

MOV TL0,#00H ;register TL0 = #

RET

Gambar 4.3 Inisialisasi Timer

er 0 berisi 0000 dan TCON 00 yang artinya timer 0 belum lisasi Timer sesuai dengan yang diharapkan, bahwa

delay waktu

JB P3.2,$ ; Tunggu sampai ada sinyal

SETB P1.0 ; Tranduser non aktif

Pada gambar 4.3, Tim aktif, program untuk inisia

Timer yang dipakai adalah Timer 0. Rutin program selanjutnya adalah melakukan inisialisasi penampil LCD dan menempatkan kursor LCD pada posisi awal yaitu Init_LCD dan posisiAwal_LCD:. Penghitungan waktu oleh timer dimulai dengan memberi nilai logika 0 pada port P1.0, yaitu setelah rutin

sehingga penerima ultrasonik menerima sinyal sebanyak 10 kali selesai dilaksanakan, rutin programnya adalah sebagai berikut:

CLR P1.0 ; Tranduser aktif

LCALL Delay_Ultrasonic ; Tunggu sinyal sampai 10x

SETB TR0 ; Timer 0 aktif

CLR TR0 ; Timer 0 tidak aktif

Gambar 4.4 Kondisi tranduser pemancar aktif

Gambar 4.4 merupakan hasil simulasi dari pemberian logika 0 pada port P1.0, sehingga tranduser ultrasonik sebagai pemancar aktif. Pemancar aktif sampai mengirim sinyal sebanyak 10 kali yang diatur dengan pemanggilan LCALL Delay_Ultrasonic, rutin programnya adalah sebagai berikut:

Delay_Ultrasonic: MOV TH0,#0FEH MOV TL0,#0F0H SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 LCALL Reset_Timer RET

Gambar 4.5 Kondisi timer: (a) saat akan memancarkan sinyal , (b) setelah memancarkan sinyal 10 kali

a b

Pemberian data FEF0 pada Timer 0 seperti pada gambar 4.5a digunakan sebagai awal nilai cacahan, instruksi JNB TF0,$ akan mencacah sampai Timer 0 mengalami overflag seperti keadaan Timer pada gambar 4.5b. Kemudian Timer 0 diset kekeadaan tidak aktif seperti keadaan Timer 0 pada gambar 4.3, pada kondisi ini rutin LCALL Delay_Ultrasonic telah selesai dikerjakan. Rutin LCALL Delay_Ultrasonic yang dibuat sudah sesuai dengan perancangan yang berfungsi untuk memancarkan sinyal sebanyak 10 kali. Dengan instruksi SETB TR0

Timer 0 akan ak yang masuk ke mikrokontroller. Gambar 4.6 merupakan kondisi Timer saat aktif, Timer 0 berisi

sonik yang sesuai tif kembali untuk mencacah sampai ada sinyal

data 08FC yang merupakan contoh lamanya tunda waktu saat sinyal dipancarkan sampai diterima oleh tranduser penerima. Setelah tranduser penerima menerima sinyal, maka P3.2 akan menjadi logika 0 dan P1.0 akan berlogika 1, seperti pada gambar 4.7 yang merupakan hasil simulasi kerja tranduser ultra

dengan perancangan.

Gambar 4.6 Kondisi Timer saat menerima sinyal

Gambar 4.7 Kondisi ada sinyal input dan tranduser pemancar non aktif

Timer 0 akan berhenti menghitung setelah pin P3.2 menerima sinyal low

(penerima menerima sinyal gelombang ultrasonik), selanjutnya nilai cacahan pada gister TL0 dan TH0 dikonversikan ke dalam suatu nilai dengan satuan waktu mikrodetik. Konversi ini perlu dilakukan karena mikrokontroler AT89S51 menggunakan kristal dengan frekuensi 11,0592 MHz sehingga waktu yang diperlukan untuk menaikkan satu nilai cacahan pada timer 0 tidak tepat 1 mikrodetik. Rutin untuk konversi sebagai berikut:

MOV Pengali,#0DAH ; 01A7DAH = 108506d

MOV Pengali+1,#0A7H

MOV Pengali+2,#01H

ACALL Perkalian ; panggil fungsi perkalian

ACALL CopyHasilke_Operand ; simpan hasil

MOV P d Pembagi+1,#086H MOV Pembagi+2,#01H MOV Pembagi+3,#00H ACALL Pembagian re embagi,#0A0H ; 0186A0H = 100000 MOV 51

Gambar 4.8 Kondisi IRAM sebelum perkalian

RAM untuk dikalikan dengan 01A7DAh ilai cacahan pada timer tidak tepat 1 mikrodetik. ubrutin untuk Perkalian dan CopyHasilke_Operand masih error belum bisa menghitung sehingga DATA2 yang merupakan hasil perkalian masih salah, seperti pada gambar 4.9 yang seharusnya berisi 980AE00E yang kemudian dibagi 100000 untuk mendapatkan DATA3 pada gambar 4.10 yang seharusnya berisi BF09.

Data pada Timer 0 dipindah ke I seperti pada gambar 4.8, karena n S

Gambar 4.9 Simulasi IRAM untuk pembagi 100000

Setelah didapatkan data3 yang merupakan nilai konversi waktu, langkah selanjutnya adalah menghitung jarak benda dalam sentimeter berdasarkan persamaan cepat rambat gelombang dengan mengalikan 347 m/s seperti pada gambar 4.10, karena sinyal yang diterima adalah sinyal pantulan dari obyek maka nilai jarak yang didapat harus dibagi dengan 2 seperti pada gambar 4.11, sehingga menghasilkan DATA5 seperti pada gambar 4.12, rutin programnya sebagai berikut: ACALL CopyHasilke_Operand MOV Pengali,#8CH MOV Pengali+1,#87H MOV Pengali+2,#00H ACALL Perkalian ACALL CopyHasilke_Operand MOV Pembagi,#80H MOV Pembagi+1,#84H MOV Pembagi+2,#1EH ACALL Pembagian

Gambar 4.10 Simulasi IRAM untuk perkalian 347 m/s

an kecepatan dan membagi 2 jarak yang perkalian dan pembagian asih menghasilkan data yang bernilai 0.

Program untuk mengalikan waktu deng

dihasilkan gagal dibuat hal ini dikarenakan progam m

Gambar 4.11 Simulasi IRAM untuk pembagi 2

Gambar 4.12 Simulasi Hasil Pembagian 2

Nilai jarak yang dihasilkan berdasarkan program diatas masih dala bentuk format heksadesimal sehingga perlu dikonversikan menjadi format b al. Program asemblernya sebagai berikut: Konversi_Bilangan: MOV HexDec_Ptr,#HexDec_Buff Konversi_Lagi: ACALL CopyHasilke_Operand MOV Pembagi,Dasar_Bilangan MOV Pembagi+1,#10H MOV Pembagi+2,#00H

obyek (DATA5) dengan tranduser ultrasonik m

ilangan desim

ACALL Pembagian MOV R0,HexDec_Ptr MOV @R0,SisaBagi MOV A,HasilBagi MOV R0,#HasilBagi MOV R1,#Pembagi ACALL Perbandingan INC HexDec_Ptr JC Konversi_Selesai AJMP Konversi_Lagi Konversi_Selesai: MOV R0,HexDec_Ptr MOV @R0,HasilBagi MOV A,HasilBagi RET

Semua proses an dan pembagian, namun karena subrutin perkalian dan pembagian gagal maka data yang dihasilkan

Data Simulasi Perhitungan

perhitungan menggunakan subrutin perkali

bernilai 0, untuk perbandingan berapa nilai data yang seharusnya dihasilkan bisa dilihat pada tabel 4.2.

Tabel 4.2 Perbandingan Data hasil Simulasi dengan Perhitungan

DATA2 00000000 980AE00E DATA3 00000000 0000BF09 DATA4 00000000 740D2905

DATA5 0000 002B

Setelah didapatkan nilai desimalnya, maka nilai desimal tersebut dikirimkan rutin sebagai berikut:

ta ke LCD belum berhasil menampilkan yang didapat masih error.

ke penampil LCD melalui pemanggilan LoopKirimPesan_LCD: Mov A,#00H Movc A,@A+DPTR Cjne A,#0FH,Kirim_LCD Ret Kirim_LCD: Acall Kirim_Karakter Inc Dptr Ajmp LoopKirimPesan_LCD ………..

Program untuk menampilkan da data, hasil keluaran

Dokumen terkait