Alat Pengukur Jarak Tempuh

ini posting saya yang ke 2 di bulan ini, hehe.. biasa lah orang sibuk *sok :).
kali ini saya akan membahas mengnai alat pengukur jarak. sistem ini banyak digunakan di berbagai aplikasi. salah satunya adalah speedometer. beberapa informasi yang didapat yaitu :
1. jarak yang telah ditempuh
2. kecepatan.

Sensor
Sensor yang digunakan pada alat ini adalah photo dioda, dengan pronsip pemantulan cahaya antara permukaan hitam dan putih pada sebuah bidang yang di putar, maka sensor ini memberikan sinyal informasi.




rangkaian diatas adalah rangkaian dari sensor encoder yang banyak di jual di pasaran. 2 sinyal dari pin A dan B adalah sinyal output sensor, pada alat kali ini hanya akan digunakan satu pin input. karena fungsi lain penggunaan pin A dan B adalah untuk mendapatkan informasi arah putar.

secara mekanikal, penempatan sensor ada pada gambar di bawah ini.
w


output dari sensor ini adalah kombinasi pulsa On dan OFF saat photo dioda dihadapkan pada permukaan yang berbeda warna, yaitu hitam dan putih. jumlah pola hitam dan putih ini dapat diatur tergantung dengan kebutuhan pengguna, salah satu pertimbangannya adalah resolusi alat.
contoh :
keliling Roda = 30 inch
jumlah pola = 300
maka resolusi = 30 / 300 = 0.1 inch

artinya, pengukuran jarak terkecil yang dapat di baca oleh alat ini adalah 0,1 inch. jadi apabila roda berputar kurang dari 0.1 inch, maka jarak tidak dapat diukur.

gambar di bawah adalah output pulsa yang dihasilkan apabila roda diputar dengan kecepatan konstan. sinyal inilah yang akan dijadikan input ke mikrokontroler.


alat pendukung lain yang dibutuhkan :
1. LCD character 16*2
2. Sistem minimum
3. sensor

diagram interkoneksi ada pada gambar dibawah :



push button pada rangkaian diatas adalah push button simulasi yang mensimulasikan sinyal On Of dari encoder.

Pemrograman :

'======================Deklarasi Chip
$regfile = "m32def.dat"
$crystal = 12000000

'satu putaran ada 300 sinyal
'jarak 1 sinyal ke sinyal yang lain 0.1 inch
'satu keliling = 30 inch
'============================= konfigurasi Lcd
Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , Rs = Portc.0 , E = Portc.1
Config Lcd = 16 * 2

'============================== konfigurasi input dan output
Config Portc = Output

'=============================== aktifasi interrupt
Config Int0 = Falling
Enable Int0
Enable Interrupts
On Int0 Hitung

Dim Jumlah_signal As Byte
Dim Jarak As Single
Cursor Off
Cursor Noblink
Cls

Jumlah_signal = 0

Do
Locate 1 , 1
Lcd "jarak Tempuh :"
Locate 2 , 1
Lcd Fusing(jarak , "#.##") ; " inch "
Waitms 10
Loop
End

'=================================== subroutine interrupt
Hitung:
Jumlah_signal = Jumlah_signal + 1
Jarak = 0.1 * Jumlah_signal
Return

ide pemrograman :
pin interrupt akan membaca sinyal input dengan mode falling artinya sinyal yang akan di baca adalah edge trigger positive atau sinyal transisi dari 1 ke 0.
jumlah sinyal yang masuk akan terus di baca dan dihitung.
setiap loop jumlah sinyal tersebut dikalikan dengan resolusi yaitu

jarak = jumlah sinyal yang terbaca * 0.1 inch

download full project disini



Comments

  1. boleh kirim full projectnya di email kah? diansekar21@yahoo.com thx

    ReplyDelete
  2. mas saya mau bikin ini cuma mau tambah jadi argometer gitu. itu encoder apa namanya mas. thanks

    ReplyDelete
  3. mas kalau rotary encoder di fungsikan untuk mengontrol data dalam sebuah micro kontroler bisa gak mas..misal d dalam micro kontroler adfa data 0-9 rotary ini bisa gak untuk menaik turunkan data tersebut misal dari sembilan di puter ke kiri sekali berubah menjadi 8 kemudian putr lagi jadi 7 dan seterusnya sampe 0 dan jika di puter ke kiri lagi mbalik ke sembilan lagi bgtu bisa gak mas

    ReplyDelete

Post a Comment