Oleh :
Nama : Tofik Hidayat
NIM : 11.11.2360
Kelas : TI 11 S
I. PENDAHULUAN
Penggunaan prosesor MSP430F413 buatan Texas Instrumen untuk mengendalikan
alat ukur jarak yang menggunakan gelombang ultrasonik 40 kHz.
Mikroprosesor pada alat
ini berperan sebagai pengendali yang mengaktifkan pengirim sinyal, mengukur
waktu propagasi sinyal dengan menunggu aktifnya penerima sinyal atau menunggu
kedatangan sinyal pantulan, kemudian menghitung jarak antara alat ini dengan
benda yang memantulkan sinyal ultrasonik serta menampilkan hasil perhitungannya
dalam bilangan desimal pada display 7-segment.
· Secara umum, alat ini terdiri dari 4
komponen utama, yaitu :
Sistem mikroprosesor single chip. Atau Chip tunggal yang mengandung prosesor, memory dan I/O meskipun dengan kapasitas yang sangat kecil
Sistem mikroprosesor single chip. Atau Chip tunggal yang mengandung prosesor, memory dan I/O meskipun dengan kapasitas yang sangat kecil
· Rangkaian elektronika penghasil dan
penerima gelombang ultrasonik
· Display 7-segment
·
Program dalam bahasa asembli yang
terdiri dari beberapa modul, yaitu inisialisasi, pembaca tombol aktif, pengendali pengirim dan
penerima, pengukur durasi propagasi gelombang, penghitung jarak dan penampil ke
7-segment.
A. LATAR BELAKANG
A. LATAR BELAKANG
SENSOR ULTRASONIK Yaitu
suatu alat yang berfungsi mengukur besaran
jarak dan kecepatan dan sensor ini tidak langsung dapat masuk ke
mikrokontroller karena perlu pentesuaian besaran tegangan dan lain-lainnya maka
dikondisikan dulu sinyalnya dibagian pengkondisi sinyal (signal conditioner),
sehingga levelnya sesuai atau dapat dimengerti oleh bagian input
mikrokontroller atau prosseor lainnya.
Tampilan Kristal Cair
(Liquid Crystal Display) LCD adalah : suatu jenis media tampilan yang
menggunakan kristal cair sebagai penampil utama. LCD sudah digunakan di
berbagai bidang misalnya dalam alat-alat elektronik seperti televisi,
kalkulator ataupun layar komputer.
Pada LCD berwarna
semacam monitor terdapat banyak sekali titik cahaya (pixel) yang terdiri dari
satu buah kristal cair sebagai sebuah titik cahaya. Walau disebut sebagai titik
cahaya, namun kristal cair ini tidak memancarkan cahaya sendiri. Sumber cahaya
di dalam sebuah perangkat LCD adalah lampu neon berwarna putih di bagian
belakang susunan kristal cair tadi.
II. PEMBAHASAN
II. PEMBAHASAN
Titik cahaya yang jumlahnya
puluhan ribu bahkan jutaan inilah yang membentuk tampilan citra. Kutub kristal
cair yang dilewati arus listrik akan berubah karena pengaruh polarisasi medan
magnetik yang timbul dan oleh karenanya akan hanya membiarkan beberapa warna
diteruskan sedangkan warna lainnya tersaring.
Pemuat atau KAPASITOR
merupakan alat elektrik atau elektronik yang mampu menyimpan tenaga di medan
elektrik antara sepasang pengalir (plat). Proses menyimpan tenaga dalam
kapasitor dikenali sebagai "mengecas", dan melibatkan cas elektrik
yang mempunyai magnitud yang sama, tetapi kekutuban yang berlawan yang
berkumpul di kedua-dua plat masing-masing.
Kapasitor biasanya
digunakan dalam litar elektrik dan litar elektronik sebagai alat storan tenaga.
Kapasitor juga digunakan untuk memisahkan antara isyarat frekuensi tinggi dan
rendah. Oleh itu, kapasitor biasanya digunakan sebagai penapis elektronik.
RESISTOR atau tahanan
atau penghambat, adalah suatu komponen elektronik yang memberikan hambatan
terhadap perpindahan elektron (muatan negatif).
Resistor disingkat
dengan huruf "R" (huruf R besar). Satuan resistor adalah Ohm, yang
menemukan adalah George Ohm (1787-1854), seorang ahli fisika bangsa Jerman.
Tahanan bagian dalam ini dinamai konduktansi. Satuan konduktansi ditulis dengan
kebalikan dari Ohm yaitu mho.
Kemampuan resistor
untuk menghambat disebut juga resistensi atau hambatan listrik. Besarnya diekspresikan
dalam satuan Ohm. Suatu resistor dikatakan memiliki hambatan 1 Ohm apabila
resistor tersebut menjembatani beda tegangan sebesar 1 Volt dan arus listrik
yang timbul akibat tegangan tersebut adalah sebesar 1 ampere, atau sama dengan
sebanyak 6.241506 × 1018 elektron per detik mengalir menghadap arah yang
berlawanan dari arus.
Hubungan antara
hambatan, tegangan, dan arus, dapat disimpulkan melalui hukum berikut ini, yang
terkenal sebagai hukum Ohm :
KRISTAL adalah suatu
padatan yang atom, molekul, atau ion penyusunnya terkemas secara teratur dan
polanya berulang melebar secara tiga dimensi.
Secara umum, zat cair
membentuk kristal ketika mengalami proses pemadatan. Pada kondisi ideal,
hasilnya bisa berupa kristal tunggal, yang semua atom-atom dalam padatannya
"terpasang" pada kisi atau struktur kristal yang sama, tapi, secara
umum, kebanyakan kristal terbentuk secara simultan sehingga menghasilkan
padatan polikristalin. Misalnya, kebanyakan logam yang kita temui sehari-hari
merupakan polikristal.
Struktur kristal mana
yang akan terbentuk dari suatu cairan tergantung pada kimia cairannya sendiri,
kondisi ketika terjadi pemadatan, dan tekanan ambien. Proses terbentuknya
struktur kristalin dikenal sebagai kristalisasi.
Op-amp adalah rangkaian
elektronik serbaguna yang dirancang dan dikemas khusus, sehingga dengan
menambahkan komponen luar sedikit saja, sudah dapat dipakai untuk berbagai
keperluan.
Karakteristik
terpenting dari sebuah op-amp yang ideal adalah :
· Penguatan loop terbuka amat tinggi
· Impedansi masukan yang sangat tinggi
sehingga arus masukan dapat diabaikan.
· Impedansi keluaran sangat rendah
sehingga keluaran penguat tidak terpengaruh oleh pembeban.
Pada op-amp terdapat
satu terminal keluaran, dan dua terminal masukan. Terminal masukan yang diberi
tanda (-) dinamakan terminal masukan pembalik (inverting),
sedangkan terminal
masukan yang diberi (+) dinamakan terminal masukan bukan pembalik
(noninverting).
Pengukur Jarak dengan
Ultra Sonic
Meminjam teknik echo
sounder yang dipakai untuk mengukur kedalaman laut, bisa dibuat alat pengukur
jarak dengan ultra sonic. Pengukur jarak ini memakai rangkaian yang sama dengan
Jam Digital dalam artikel yang lalu, ditambah dengan rangkaian pemancar dan
penerima Ultra Sonic.
III. PRINSIP KERJA
Prinsip kerja echo sounder
untuk pengukuran jarak digambarkan dalam Gambar 1. Pulsa Ultrasonic, yang
merupakan sinyal ultrasonic dengan frekwensi lebih kurang 41 KHz sebanyak 12
periode, dikirimkan dari pemancar Ultrasonic. Ketika pulsa mengenai benda
penghalang, pulsa ini dipantulkan, dan diterima kembali oleh penerima
Ultrasonic. Dengan mengukur selang waktu antara saat pulsa dikirim dan pulsa
pantul diterima, jarak antara alat pengukur dan benda penghalang bisa dihitung.III. PRINSIP KERJA
Gambar
1 Prinsip Echo Sounder
Gambar 2 merupakan
Rangkaian Jam Digital dalam artikel lalu yang direvisi untuk keperluan ini.
Titik desimal pada tampilan satuan dinyalakan dengan tahanan R8. Setiap kali
tombol Start ditekan, AT89C2051 membangkitkan pulsa ultrasonic pada Pin P3.4
yang dipancarkan dengan rangkaian Gambar 3, selanjutnya lewat pin P3.5 yang
terhubung ke rangkaian penerima ultrasonic di Gambar 4, sambil mengukur selang
waktu AT89C2051 memantau datangnya pulsa pantul.
Hasil pengukuran waktu
itu, dengan sedikit perhitungan matematis ditampilkan di sistem penampil 7 ruas
sebagai besaran jarak, dengan satuan centimeter dan 1 angka dibelakang titik
desimal.
Gambar
2 Rangkaian Kontrol & Tampilan Pemancar pulsa Ultrasonic
Pulsa Ultrasonic
dibangkitkan di pin P3.4 AT89C2051 (ULTRA_OUT) dengan potongan Program 1,
sebagai berikut:
Potongan Program 1 -
Membangkitkan sinyal ultra sonic
1 PulsaUltraSonic:
2 MOV R7,#24 Nilai awal
R7 = 24
3 Loop:
4 NOP waktu untuk
mengerjakan baris 4..14
5 NOP = 12 mikro-detik
6 NOP
7 NOP
8 NOP
9 NOP
10 NOP
11 NOP
12 NOP
13 CPL Ultra_Out
Ultra_Out (P3.4) := not Ultra_Out
14 DJNZ R7,Loop
Turunkan nilai R7, ulangi lagi kalau R7<>0 15 RET
Processor memerlukan
waktu untuk melaksanakan instruksi. Bagi AT89C2051 yang bekerja pada frekuensi
12 MHz, instruksi NOP (baris 4 sampai 12); instruksi CPL (baris 13)
dilaksanakan dalam waktu 1 mikro detik, dan 2 mikro detik untuk melaksanakan
instruksi DJNZ (baris 14). Dengan demikian waktu yang diperlukan untuk
melaksanakan instruksi-instruksi di baris 3 sampai 13 adalah 12 mikro detik.
Di baris 12, nilai
Ultra_Out (= pin P3.4) dibalik, kalau semula Ultra_Out bernilai 0 setelah
instruksi ini dijalankan Utltra_Out akan bernilai 1, dan sebaliknya kalau
semula 1 dan berbalik menjadi 0.
Di baris 13 nilai R7
dikurangi 1, selama R7 belum mencapai 0 AT89C2051 akan mengulang lagi baris 2
dan seterusnya. Di baris 1 R7 diberi nilai 24, dengan demikian baris 2 sampai
13 akan diulang sebanyak 24 kali, dan selama itu pin 3.4 akan berbalik dari 0
ke 1 dan 0 kembali sebanyak 12 kali. Dengan demikian, hasil kerja Potongan
Program 1 adalah pulsa ultrasonic12 gelombang dengan frekuensi 1/24 mikrodetik
= 41666 Hz
Gambar 3 Rangkaian Pemancar Ultra Sonic
Pulsa ultrasonic
diperkuat dan dipancarkan dengan rangkaian pemancar Ultrasonic di Gambar 3.
Rangkaian ini dibangun dengan Inverter CMOS MC14049, inverter U1B dipakai untuk
membalik fasa sehingga tegangan di output gabungan U1A & U1C akan selalu
berlawanan dengan tegangan di output gabungan U1D & U1E, dengan demikian
amplitudo ultrasonic yang sampai di tranduser ultrasonic menjadi 2 kali lipat.
C1 dipakai untuk menahan arus DC, sehingga hanya sinyal ultrasonic saja yang
bisa masuk ke tranduser ultrasonic.
Penerima pulsa Ultrasonic
Rangkaian Penerima
Ultrasonic pada Gambar 4, merupakan rangkaian yang umum dipakai untuk penerima
ultrasonic, rangkaian ini bisa diganti dengan rangkaian yang lain, asalkan saat
tidak ada sinyal ultrasonic keluarannya (ECHO_IN) bernilai ‘1’ dan menjadi ‘0’
begitu menerima sinyal ultrasonic, sesuai dengan kondisi yang dipantau
AT89C2051 lewat Potongan Program 2.
Gambar
4 Rangkaian Penerima Ultra Sonic
Pengukuran selang waktu
Pengukuran selang waktu
dilakukan dengan bantuan Timer 1 yang ada di dalam IC AT89C2051 seperti
terlihat pada Gambar 5. TL1 dan TH1 merupakan bagian dari Timer 1,
masing-masing berupa pencacah 8 bit yang diuntai menjadi pencacah 16 bit (Mode
1). TR1 berfungsi untuk mengatur masuknya sinyal 1 MHz ke untaian pencacah,
saat TR1 bernilai 0 tidak ada sinyal yang masuk, saat bernilai 1 maka untaian
pencacah akan mencacah dari 0 sampai $FFFF (heksadesimal) dan kembali lagi ke
0, dan diikuti TF1 menjadi 1.
Gambar
5 Pengukur Waktu
Pengukuran selang waktu
antara saat pulsa ultrasonic dikirim dan pulsa pantul diterima dilakukan dengan
Potongan Program 2 sebagai berikut : TR1 diberi nilai 1 agar untaian pencacah
bekerja (baris 1) dan ditunggu sampai isi pencacah menjadi 0 dengan cara
menunggu TF1 sampai bernilai 1 (baris 2 dan 3). Segera setelah itu dibangkitkan
pulsa ultrasonic dengan memanggil sub-rutin di Potongan Program 1 (baris 4),
disusul menunggu pantulan pulsa dengan cara memantau P3.5 sampai bernilai 0
(baris 5 dan 7, abaikan dulu baris 6), setelah itu TR1 diberi nilai 0 (baris
7). Dengan demikian posisi untaian pencacah TL1/TH1 yang terakhir merupakan
lamanya selang waktu dalam satuan mikro detik.
Kalau jarak yang diukur
terlalu jauh, pulsa ultrasonic yang dikirimkan tidak terpantulkan, akibatnya
AT89C2051 akan menunggu terus di baris 5 dan 7, agar hal ini tidak terjadi
ditambahkan baris 6, yakni sambil menunggu pulsa pantulan dipantau pula apakah
untaian pencacah sudah melimpah, kalau sampai melimpah maka tidak perlu
menunggu pulsa pantulan lagi, aliran program dialihkan ke Selesai, dan untaian
pencacah dihentikan.
Potongan Program 2 -
Mengukur waktu pantulan ultra sonic
1 SET TR1 Hidupkan
untaian pencacah
2 SampaiNol:
3 JNB TF1,SampaiNol
Tunggu selama TF1 masih =1
4 ACALL PulsaUltraSonic
Bangkitkan pulsa Ultrasonic
5 TungguPantulan:
6 JB TF1,Selesai
TL1/TH1 melimpah? Ya, stop
7 JB
P3.5,TungguPantulan Tunggu selama P3.5 =1
8 Selesai:
9 CLR TR1 Matikan
untaian pencacah
Perhitungan jarak
Seperti diketahui,
kecepatan rambat suara di udara adalah 34399.22 cm/detik, berarti untuk
merambat sejauh 1 cm suara membutuhkan waktu 29 mikro detik. Selang waktu yang
sudah tercatat di untaian pencacah TL1/TH1 (Potongan Program 3, baris 2 sampai
dengan 4) setara dengan dua kali jarak pemancar ultrasonic dengan penghalang.
Selang waktu tersebut dalam satuan mikro detik, untuk mengubah menjadi jarak
(cm) harus membaginya dengan bilangan 58 (Potongan Program 3, baris 10 sampai
dengan 13).
Untuk mendapatkan angka
pecahan di belakang desimal, karena rutin arithmatik yang dipakai adalah rutin
perhitungan bilangan bulat (integer), maka sebelum pembagian di atas nilai
TL1/TH1 dikalikan dulu dengan 10 (Potongan Program 3, baris 10 sampai dengan
13).
Potongan Program 3 -
Menghitung jarak
1 CLR A
2 MOV Operand,TL1
3 MOV Operand+1,TH1
4 MOV Operand+2,A
5 MOV Pengali,#10
6 MOV Pengali+1,A
7 MOV Pengali+2,A
8 ACALL Perkalian
HasilKali := 10 * TL1_TH1
9 ;
10 MOV R0,#HasilKali
11 MOV R1,#Operand
12 ACALL Copy Copy-kan
isi HasilKali ke Operand
13 MOV Pembagi,#58
14 MOV Pembagi+1,#0
15 MOV Pembagi+2,#0
16 ACALL Pembagian
HasilBagi := (10*TL1_TH1) / 58
Perhitungan di atas
adalah perhitungan secara biner, bilangan biner ini dirubah dulu menjadi bilangan
desimal agar bisa ditampilkan. Bilangan biner tersebut dibagi dengan 1000 untuk
mendapatkan angka ribuan, sisanya dibagi dengan 100 untuk mendapatkan angka
ratusan dan seterusnya, seperti terlihat pada Potongan Program 4.
Potongan Program 4 - Jarak dalam bentuk biner
dirubah ke desimal untuk ditampilkan
1 MenampilkanHasil:
2 ACALL HapusTampilan
3 ;
4 MOV
DPTR,#AngkaPembagi Mulai dengan 1000
5 MOV R7,#4 Maksimum 4
digit
6 MOV R4,#RuasRatusan
7 CLR F0 Belum pernah
simpan
8
9 MOV R0,#HasilBagi
10 MOV R1,#SisaBagi
11 ACALL Copy
12 DigitBerikutnya:
13 MOV R0,#SisaBagi
14 MOV R1,#Operand
15 ACALL Copy
16
17 * Ambil AngkaPembagi
dari Tabel
18
19 CLR A
20 MOV Pembagi+2,A
21 MOVC A,@A+DPTR
22 INC DPTR
23 MOV Pembagi,A
24
25 CLR A
26 MOVC A,@A+DPTR
27 INC DPTR
28 MOV Pembagi+1,A
29
30 ACALL Pembagian
SisaBagi dibagi 1000; 100; 10 dan 1
31
32 MOV A,HasilBagi
HasilBagi=0?
33 JNZ SimpanRuas
Tidak, jadikan simpan ruas
34 JNB F0,Berikutnya
Belum pernah simpan dan 0
35 SimpanRuas:
36 SETB F0 Sudah pernah
simpan angka
37 ACALL JadikanRuas
38 MOV R0,$04 R0 <-
R4
39 MOV @R0,A Simpan
40 Berikutnya:
41 INC R4
42 DJNZ
R7,Digit Berikutnya
43 RET
44
45 AngkaPembagi:
46 DW 1000
47 DW 100
48 DW 10
49 DW 1
Rancangan di atas bisa dipakai untuk mengukur
jarak sampai sejauh lebih kurang 10 meter, pada jarak tersebut waktu rambat
suara lebih kurang sebesar 2 x 1000 cm x 29 mikro-detik/cm = 58.000 mikro
detik, hampir mencapai angka maksimum yang bisa ditampung untaian pecacah
TL1/TH1 yang 65535.
Meskipun demikian untuk
bisa mengukur sejauh itu, rangkaian pemancar dan penerima ultrasonic harus
benar-benar dalam keadaan yang baik, terutama harus dipilih tranduser ultrasonic
yang prima. Alat ini akan punya nilai komersil yang baik jika tampilan 7 ruas
dengan LED diganti dengan tampilan LCD, agar pemakaian dayanya kecil dan bisa
bekerja dengan baterai saja. Pemakaian LCD akan dibicarakan pada artikel lain.
Program untuk mengendalikan
AT89C2051 harus diisikan ke dalam IC microcontroller itu, untuk itu diperlukan
alat yang dinamakan sebagai AT89C2051 Flash PEROM Programmer. Alat ini sangat
sederhana, hanya memakai sebuah IC 74HC574A ditambah dengan sistem catu daya
dan dihubungkan ke komputer PC lewat printer port.
VI. PENUTUP
Demikian sedikit pembahasan atau makalah tentang Mikrokontroler. Penulis menyadari keterbatasan pengetahuan dan pengalaman yang dimiliki, namun walaupun demikian akan mencoba memberi saran yang mungkin akan dapat membangun. Adapun saran tersebut antara lain :
Pustaka :
VI. PENUTUP
Demikian sedikit pembahasan atau makalah tentang Mikrokontroler. Penulis menyadari keterbatasan pengetahuan dan pengalaman yang dimiliki, namun walaupun demikian akan mencoba memberi saran yang mungkin akan dapat membangun. Adapun saran tersebut antara lain :
- Dengan adanya pembelajaran tentang Mikroprosesor diharapkan kita dapat memahami tentang mikroprosesor itu sendiri,
- Setelah kita memahami dan mempelajarinya, diharapkan kita juga dapat mempraktekkan dan menerapkan dalam kehidupan sehari-hari.
Pustaka :