BAB III PERENCANAAN DAN REALISASI 3.1
PERANCANGAN UMUM SISTEM Metode untuk pelaksanaan Program dimulai dengan mempelajari system pengukuran
tangki air yang akan digunakan. Dari sini dikembangkan apa saja persoalan yang timbul yaitu bagaimana sensor ultrasonik dapat mengirimkan sinyal yang berupa sinyal analog kepada mikrokontroler yang selanjutnya akan diteruskan menuju display berupa penunjukan ketinggian pengukuran dari air yang ada didalam bak/ tangki penampung.Setelah mendefinisikan persoalan yang timbul selanjutnya dibuat blok diagram sistem secara umum pada perancangan ini. Berdasarkan diagram blok system, dibuat skema rangkaiannya dan juga pemrograman assembler mikrokontrolerdan selanjutnya membuat prototype rangkaiannya dan melakukan pengujian-pengujian. Alat ini dipasang pada bagian atas bak/ tangki penampung air dan tanpa bersentuhan secara langsung dengan air sehingga tidak akan mempengaruhi tingkat asam ataupun basa dari air itu sendiri. Proses kerja alat ― sistem pemantau ketinggian cooling tower dengan sensor ultrasonic PT. Dynaplast berbasis mikrokontroler AT89S52 ― dapat dijelaskan pada gambar 3.1 Diagram Blok Alat berikut ini.
Mikro Kontroler
Transduser Ultrasonik (Ping sensor)
P 1.2 AT89 S52 SIG
Display P 0.0~P 0.7
Gambar 3.1 Blok Diagram Umum Sistem 24
25
1. Trandsuser ultrasonic ( Ping sensor) berfungsi untuk mendeteksi jarak/ ketinggian air ( Produk yang dideteksi) sehingga data akan dikirim dan diproses oleh mikrokontroler. 2. Blok Mikrokontroler (AT89S52) berfungsi untuk membaca data yang berupa data analog dari transduser ultrasonic, mengolah data, memproses dan menampilkan hasil pengukuran ke display. 3. Display berfungsi untuk menampilkan/ menunjukkan hasil pengukuran sehingga dapat dilihat hasil pengukuran dari jarak/ ketinggian air dalam bak/ tangki air.
Prinsip kerja umum sistem adalah sebagai berikut, yaitu pada mulanya rangkaian sensor akan mendeteksi jarak/ ketinggian air dalam bak penampung terhadap dimana sensor itu ditempatkan. Data yang berupa sinyal analog masuk ke rangkaian mikrokontroler AT89S52. AT89S52 merupakan ‗jantung‘ dari system karena dari sinilah semua data yang masuk diolah dan akan ditampilkan pada display. pin P 1.2 mikrokontroler AT89S52 mengirimkan sinyal pulsa positif selama 3μs ke kaki SIG (I/O pin) sensor ping. Pemicuan oleh mikrokontroler ini, menyebabkan sensor ping akan memancarkan gelombang suara 40 KHz (ultrasonik), yang kemudian merambat melalui air. Gelombang suara ini akan menghasilkan pantulan setelah mengenai dasar air dan kembali ke sensor. Selama waktu pemancaran sinyal suara ini, kita lakukan penundaan pada mikrokontroler agar tidak langsung menerima interferensi sinyal yang dipancarkan, sekaligus menyiapkan mikrokontroler untuk menerima sinyal informasi pantulan dari sensor. Selanjutnya bila sensor menerima sinyal pantulan, maka ia akan mengirimkan pulsa rendah melalui kaki SIG (I/O pin) ke mikrokontroler. Mikrokontroler akan menghitung, selang waktu antara pemancaran dan pantulan sinyal ini, kemudian dikalikan dengan nilai cepat rambat suara di air, guna memperoleh jarak dasar air dari sensor tersebut (ketinggian air). Hasilnya ditampilkan pada penampil Display di lapangan.
26 3.2 PERANCANGAN PERANGKAT KERAS
Pada sub bab ini akan dijelaskan tentang bagian dari perangkat keras yang digunakan dalam perancangan sistem ini. Perangkat keras ini merupakan bagian dari tiap-tiap blok diagram sistem yang saling mendukung satu dengan yang lainnya.
3.2.1
Rangkaian Sistem Mikrokontroler AT89S52
Rangkaian minimum sistem mikrokontroler AT89S52 terdiri atas rangkaian reset dan clock. Rangkaian clock berfungsi untuk memberikan frekuensi kerja pada mikrokontroler. Sedangkan rangkaian reset berfungsi untuk mereset memori program pada mikrokontroler sehingga memori program pada mikrokontroler akan kembali pada baris program mulai dari 0000H.
Spesifikasi alat : - IC Mikrokontroler AT 89S52 - Tegangan suplai 12 Vdc - Kristal 11.059 MHz - Boud rate 19200 bps - Port input
: P1.0, 1.1, P1.2.
- Port output
: P2
Mikrokontroler AT89S52 memiliki 4 buah port yang dapat diatur fungsinya. Pada alat ini port 3 difungsikan sebagai input. Sedangkan port 1 difungsikan sebagai output. Hal ini diperlihatkan pada gambar 3.2 rangkaian minimum system mikrokontroler.
27
Display
P 0.0 P 0.1 P 0.4 P 0.5 P 0.6 P 0.7
Sensor Ping
A T 8 9 S 5 2
10µF
Gambar 3.2 Rangkaian Minimum System Mikrokontroler Rangkaian clock menentukan kecepatan eksekusi program pada mikrokontroler. Gambar 3.3 merupakan rangkaian clock dari mikrokontroler 30 pF XTAL 1 11.059 MHz XTAL 2 30 pF
GND
Gambar 3.3 Rangkaian Clock Mikrokontroler
Kristal yang digunakan pada rangkaian ini adalah 11,059 MHz. Nilai kapasitor yang digunakan pada rangkaian ini adalah 30 pF, hal ini sesuai dengan nilai yang dikehendaki dari data sheet yang dikeluarkan oleh ATMEL Corporation yaitu sebesar 20 pF sampai 40 pF jika menggunakan kristal. Mikrokontroler AT89S52 dalam satu siklus byte programnya membutuhkan 12 kali frekuensi osilasi clock. Rangkaian ini menggunakan kristal 11,059 MHz maka lamanya eksekusi satu siklus byte program adalah : Lamanya eksekusi satu siklus = (11,05 MHz / 12) = 0.921 µS
28 3.2.2 Sensor Ping)))
Transduser ultrasonik dipilih sensor Ping))) buatan Parallax. Inc, karena sensor tersebut sudah dipabrikasi dan dikemas dengan baik, sehingga dapat mengurangi inteferensi sinyal yang dipancarkan dan diterima. Selain itu sensor tersebut juga cukup murah dan sangat mudah digunakan, karena hanya menggunakan 1 pin I/O sebagai pemicu dan penerima informasi sinyal pantulan yang dihubungkan ke mikrokontroler.
Gambar 3.4 Konfigurasi Pin Sensor Ping)))
Konfigurasi pin sensor ping seperti terlihat pada gambar 3.3. Sensor ini memiliki 3 pin, yang masing-masingnya dihubungkan ke Ground, Vcc (5V) dan pin ketiga merupakan pin I/O (SIG) dihubungkan ke P1.2 mikrokontroler.
29 3.2.2.1 Rangkaian Pemancar Ultrasonik
11
12
3
2 A
E
5
4 B
14 US TX
15
MC14049
F 7
Ultrasonic TX
6 C 220n
9
10 D
Gambar 3.5 Rangkaian Pemancar Ultrasonik
Pulsa ultrasonik diperkuat dan dipancarkan dengan rangkaian pemancar Ultrasonik di Gambar 3.2. Rangkaian ini dibangun dengan Inverter CMOS MC14049, inverter E dipakai untuk membalik fasa sehingga tegangan di output gabungan A dan C akan selalu berlawanan dengan tegangan di output gabungan C dan D, dengan demikian amplitudo ultrasonik yang sampai di tranduser ultrasonik menjadi 2 kali lipat. 3.2.2.2 Rangkaian Penerima Ultrasonik
VCC
VCC
56K
4K7
3K9
470 6
BC548
3 4K7
7
100n
8
5
US RX
4148
10K
LM311 BC548
10K
1
2 4
250k
4148 100n
680
100n
100
ULTRASONIC RX 100K 1u
Gambar 3.6. Rangkaian Penerima Ultrasonik
30 Pada rangkaian penerima, sinyal ultrasonik 41 KHz diterima oleh transduser ultrasonik, karena keluaran ultrasonik sangat kecil maka dikuatkan oleh rangkaian penguat (menggunakan transistor) sehingga sinyalnya cukup kuat. Sinyal kemudian disearahkan oleh dioda dan kapasitor. Setelah itu sinyal tersebut digunakan untuk menggerakkan transistor (sebagai saklar). Keluaran dari transistor ini sebagai data masukan untuk port 1.1 pada mikrokontroler. Jika sensor ultrasonik menerima sinyal 41 KHz maka pada keluaran transistor akan berlogika high begitu juga sebaliknya jika sensor tidak menerima sinyal.
3.2.3 Rangkaian Penampil Display
Rangkaian penampil Display menggunakan IC dekoder 74LS247. Chip ini merupakan dekoder BCD (Binary Code Decimal) ke Display. IC 74LS247 mempunyai 4 pin masukan dan 7 pin keluaran, dengan keluaran aktif rendah (LOW). Keluaran dari port 1 mikrokontroler sebagian dihubungkan ke pin 1, 2, 6, dan 7 dari dekoder dan sebagian lagi dihubungkan ke transistor yang berfungsi sebagai saklar untuk menghidupkan Display.
P 0.7 P 0.6 P 0.5 P 0.4
P 0.1 P 0.0
Gambar 3.7 Rangkaian Penampil Display
31 LCD liquid cell display merupakan suatu alat yang dapat menampilkan karakter ASCI sehingga bisa menampilkan campuran huruf dan angka sekaligus. LCD didalamnya terdapat sebuah mikroprosesor yang mengendalikan tampilan, hanya perlu membuat program untuk berkomunikasi ukuran lcd ada berbagai macam seperti
lcd
16
x
2
ada
16
colom
dan
2
baris
lcd
16
x
4
ada
16
colom
dan
4
baris
perbedaanya terletak pada alamat menaruh karakter saja. karakter yang ditampilkan oleh LCD beraneka ragam tergangtung dari jenis lcd tersebut. untuk melihat karakter yang ditampilkan serta
spesifikasi
lebih
jelas
maka
dapat
dilihat
pada
datasheetnya.
Command dan data
dalam antarmuka lcd dengan mcs maka harus menembakan command yang berisi perintah dan data yaitu berupa text yang kita ingin tampilkan Supaya lcd dapat menampilkan text maka yang perlu dilakukan adalah mengirimkan format hex data dalam bentuk asci.
misal 0 dengan mengirimkan 48 desimal A mengirimkan 65 desimal
Untuk mengunakan lcd pertama kali harus mengkonfigurasi lcd itu seperti keinginan. konfigurasi berarti kita harus menembakan command PIN PIN LCD
1. Ground
32 2. VCC 3. Contrast ( buat konfigurasi pin 3 ->100ohm->pin b potensio 5K) 4. RS 5. RW 6. EN 7. D0 8. D1 9. D2 10. D3 11. D4 12. D5 13. D6 14. D7 15. Anoda (untuk backlight, lampu background) 16. Katoda RS
Pin ini memberi informasi apakah kirim data atau instruksi 0 = instruksi 1 = data R/!W 0 = Write (tulis ke lcd) 1 = Read (baca dari lcd) D0 -D7 = pin komunikasi Anoda = supply VCC untuk background, beri 4.3 (serikan dari VCC ke LED baru masuk ke anoda) katoda = berikan ground kombinasi dari pin RS dan RW RS R/!W 0
0
: Operation IR
Write Command
33 0
1
IR
Read ………
1
0
DR
write data
1
1
DR
read ………
yang diperlukan untuk basic penulisan adalah write command dan write data. dibuat dengan assembly, dibuat dalam bentuk prosedure karena akan sering digunakan.
Gambar 3.8 Pemetaan Program LCD didefine port dulu
kesimpulan:
1. koneksi mengunakan 8 bit. ada D0 sampai D7.(nanti kita buat koneks 4 bit.
2. tidak menggunakan busy flag. sehingga delay untuk instruksi deberi besar sedikit. untuk memberikan keamanan. pengunaan busy flag kita harus membaca data dari lcd. RW= 1 (mode read) 3. mov A,#‘Y‘ digunakan jika tidak mengetahui asci Y. gunakan jenis immidieate addressing.
34 4. Penampilan tulisan masih tembak satu satu / per character. gunakan DPTR untuk penulisan string. dengan dptr maka org 500h tulisan: db ‗mau cetak tulisan‘ secara otomatis compiler akan mengubah memori 500h dengan asci m, 501 = a,502=u,…… 5. untuk mebuat animasi tulisan bergeser.. tinggal berikan perintah shift
35 3.3 PERANCANGAN PERANGKAT LUNAK Perancangan perangkat lunak (software) dalam penelitian ini diperlukan agar sistem yang direncanakan dapat bekerja dengan baik. Dalam penelitian ini diperlukan dua perangkat lunak, yaitu: Program pertama yang akan diinputkan pada mikrokontroler, guna mengontrol pemancaran dan penerimaan gelombang ultrasonic pada sensor ping, perhitungan ketinggian air berdasarkan informasi dari sensor, menampilkan hasilnya pada Display.
Inisialisasi Timer & Serial
Start
CLR & Aktifkan Timer 1 SET P3.4 selama 3µs
Ping = 0
Tunda 750µs TR0 = 1
P3.4 = 0?
TF0 = 1? TDK YA
CLR TR0
Hitung Jarak
Tampilkan keDisplay
Gambar 3.9 Diagram Alir Program AT89S52 pada Mikrokontroler