BAB III PERANCANGAN SISTEM 3.1 Umum Pembuatan alat pengontrol dan pemantau bendungan berbasis mikrokontroler FPGA merupakan solusi tepat dalam membantu pekerjaan manusia khusunya pada pengairan dan bendungan. Dengan menggunakan alat ini, maka proses pengontrolan dapat dilakukan secara efisien dan praktis karena user cukup mengontrol dengan jarak jauh, 3.2. Perencanaan Hardware 3.2.1 Blok Diagram Sistem Blok diagram sistem dari perancangan sistem pengontrolan bendungan ditunjukkan pada Gambar 3.1: Pintu dam 1 Motor pintu air Driver motor Sensor pintu air HCSR 04 Pengkondisi sinyal MODUL FPGA ALTERA CYCLONE 4 Powerline modem Pintu dam 2 Jaringan PLN 220V AC Jaringan PLN 220V AC PC Powerline modem Gambar 3.1: Blok diagram Sistem penerima 33
3.2.2 Prinsip Kerja Pada prinsipnya alat ini bekerja dengan mengunakan transmisi data serial yang ditumpangkan pada jala jala listrik PLN 220V AC, dimana semua data yang telah diproses oleh kontroler FPGA maupun PC berinteraksi dan berkomunikasi melalui jaringan kabel PLN dengan memodulasi data pada fasa PLN tersebut. Pada kondisi awal saat sistem aktif, maka controller FPGA melakukan inisialisasi input output untuk mengaktifkan komunikasi serial, ADC, dan input output yang digunakan pada sistem bendungan. Pada kondisi selanjutnya sistem membaca ADC untuk mengetahui ketinggian air pada bendungan, pembacaan ketinggian ini dibaca dengan menggunakan level tegangan yang dihasilkan kemudian dikonversi menjadi satuan jarak pada unit program VHDL dan disimpan pada memory. Selanjutnya proses pembacaan sensor pintu air dimana sensor pintu air menggunakan ultrasonik sebagai pembaca ketingian posisi pintu dam. Hasil pembacaan tegangan pada sensor ultrasonik tersebut selanjutnya dikonversi menjadi satuan ketinggian dan disimpan didalam memori. Pada saat yang sama sistem FPGA menunggu masukan data serial dari hasil pembacaan modem PLC (powerline carrier) dimana data tersebut berupa perintah aktif tidaknya driver motor pengontrol pintu dam air, saat perintah dari data serial tersebut diterima maka sistem selanjutnya memproses data kemudian memberikan perintah ke driver motor untuk membuka atau menutup pintu berdasarkan posisi yang diinginkan dengan mengacu pada sensor ketingian pintu dam. Selanjutnya pada proses yang sama FPGA mengambil data pada memori berupa data ketingian air dan pintu dam yang telah disimpan untuk selanjutnya dikirim pada PC melalui modem PLC. Pada sistem PC, data yang telah diterima dari modem PLC selanjutnya dikirimkan ke PC melalui perantara usb to serial converter dan selanjutnya ditampilkan dalam form delphi untuk mempresentasikan ketinggian air dan posisi pintu dam melalui tampilan grafik dan panel 34
terhadap waktu yang sedang berlangsung. Sedangkan pengontrolan manual untuk buka tutup pintu dam air dilakukan melalui tombol pada panel form yang selanjutnya mengirimkan perintah ke modul FPGA melalui modem PLC sehingga sistem FPGA dapat merespon instruksi yang dikirimkan dari PC tersebut. 3.2.3 Perancangan sensor jarak ultrasonic HCSR04 Untuk mengukur jarak secara elekronik, diperlukan suatu sensor jarak yang dapat mengukur jarak dari media didepan sensor. Adapun sensor yang digunakan dalam perancangan ini adalah menggunakan sensor ultrasonic type HCSR04. Sensor HCSR04 terdiri dari transponder dan receiver yang bekerja memancarkan gelombang suara 40Khz dan menerima pantulan suara tersebut selang beberapa waktu kemudian, karena pada HCSRF04 telah terintegrasi dengan chip pengontrol didalamnya, maka konversi waktu pantulan ke jarak dapat dilakukan dengan mudah oleh mikrokontroller tanpa harus membangkitkan frekuensi. Dalam merancang hubungan pin sensor HCSR04 terdiri dari 3 jalur yang meliputi Ground, Vcc, In/out. Adapun perancangan rangkaian sensor jarak HCSR04 ditunjukkan sebagaimana Gambar 3.2: Ultrasonic SRF04 Vcc Vo Gnd 5V 1 3 5 7 J1 2 4 6 8 9 10 11 12 13 14 15 16 ALTERA CYCLONE IV GPIO Gambar 3.2 Rangkaian sensor jarak HCSR04 Sumber:perancangan 35
3.2.4 Perancangan Driver L293 sebagai pengontrol Motor pintu DAM Untuk dapat mengendalikan motor pengontrol pintu air, maka diperlukan rangkaian driver motor DC. Pada perancangan ini driver motor yang digunakan adalah IC driver L293D yang dapat difungsikan sebagai driver motor DC dengan kemampuan maksimum 2 amper serta dapat diparalel hingga 4 ampere pada tiap drivernya. Adapun perancangan rangkaian driver L293D ditunjukkan sebagaimana gambar 3.3: MOTOR PINTU 1 12V 5V 4 9 U2 12V 2 3 13 OUT1 OUT2 OUT3 VS VCC IN1 IN2 IN3 IN4 ENA ENB 5 7 10 12 6 11 GPIO.22 GPIO.23 GPIO.24 GPIO.25 14 OUT4 GND SENSA SENSB 1 15 12V 8 L293D R2 MOTOR PINTU 2 Gambar 3.3 Rangkaian driver motor L293D Sumber : Perancangan 3.3. Perancangan Perangkat Lunak (Software) Perangkat Lunak pada perancangan alat ini dibangun menggunakan compiler VHDL dan VERILOG. Keseluruhan maupun perangkat lunak untuk mengakses bagian-bagian dari sistem diatur didalam FPGA. Adapun alur program (perangkat lunak ) pada proses dari masing-masing bagian blok diagram mengacu pada perancangan sebagai berikut: 0.1 36
3.3.1 Algoritma pembacaan sensor HCSR04 Sensor jarak parallax HCSR04 yang digunakan pada perancangan ini mempunyai 3 pin yaitu Vcc ground dan I/O. I/O merupakan pin input output pada sensor HCSR04 yang digunakan untuk strobe pengirim sonar pada internal HCSR04 dan sekaligus membaca hasil timer burst sebagai hasil jarak teradap waktu. Untuk itu pada perancangan perangkat lunak, PORT I/O selalu mempunyai 2 mode dalam setiap membaca jarak yaitu mode input dan mode output. Pada mode output, maka controller mengirimkan strbe (trigger) sebagai proses permulaan memanarkan sonar pada ping guna pembacaan jarak yang akan dibaca, selanjutnya PORT I/O tersebut dirubah ke mode input untuk membaca hasil waktu berdasarkan lebar waktu high (TH) yang dihasilkan sensor. Nilai T (waktu) yang didapat selanjutnya di konversi ke jarak berdasarkan persamaan datasheet. Adapun perancangan perangkat lunak baca jarak menggunakan sensor HCSR04 ditunjukkan pada gambar 3.4: 37
Start Inisialisasi PORT mode =output Kirim start signal via PORT PORT mode =input Tunggu PORT= high PORT input= 1? Y T Start timer PORT input= 0? Y Stop timer T T= timer Jarak =(T x 3.4ms) /2 END Gambar 3.4 Flowchart Tulis Instruksi algoritma pembacaan sensor Sumber: perancangan 38