WIRELESS SENSOR NETWORK Aplikasi menggunakan Arduino dan Xbee ( IEE 802.15.4 ) Ignatius Widiatmoko Setiawan Abstrak kendaladalam pengambilan data dilapangan untuk keperluan observasi dan penelitian adalah adalah biaya yang besar, waktu yag lama untuk mendeteksi fenomena yang muncul sehingga menyebabkan performansi yang tidak efisien dan tidak praktis. Dengan adanya teknologi Wireless Sensor Network (WSN), memungkinkan peneliti untuk mendapatkan informasi yang maksimal tanpa harus berada di area sensor. Informasi dapat diakses dari jarak jauh melalui perangkat seperti laptop, smartphone dan sebagainya. Contoh aplikasi berikut diharapkan dapat memberikan pembelajaran mengenai implementasi WSN. menyebabkan performansi yang tidak efisien dan tidak I. Sensor Network praktis[3]. Perkembangan terkini dalam teknologi micro Dengan adanya teknologi WSN, electro mechanical system (MEMS), wireless memungkinkan peneliti untuk mendapatkan informasi communication dan digital electronic telah mendorong yang maksimal tanpa harus berada di area sensor. pengembangan sensor nodes yang multi fungsi, low Informasi dapat diakses dari jarak jauh melalui cost dan low power dengan ukuran yang relatif kecil perangkat seperti laptop, smartphone da sebagainya. dan komunikasi yang kontinyu pada jarak yang pendek. Berikut adalah beberapa keuntungan yang bisa Sensor node kecil ini yang terdiri dari sensing, data diperoleh dari teknologi WSN: processing dan komponen komunikasi dipengaruhi Praktis dan ringkas karena tida perlu ada oleh ide dari sensor network yang bertujuan instalasi kabel yang rumit dan dalam kondisi membentuk kerjasama antar nodes dalam jumlah yang geografi tertentu sangat menguntungkan jika banyak. Sebuah Sensor network terdiri dari banyak dibandingkan dengan wired sensor. sensor nodes yang disebar secara tersusun baik didalam suatu sistem maupun disekitar sistem yang Sensor menjadi bersifat mobile, artinya pada diamati atau dikontrol. Posisi sensor nodes perlu suatu saat dimungkinkan untuk memindahkan dirancang dan dihitung terlebih dahulu, dan sensor untuk mendapat pengukuran yang lebih memungkinkan penyebaranya pada area yang sulit tepat tanpa harus khawatir mengubah desain dijangkau atau pada area yang rawan kerusakan. Hal ruangan maupun susunan kabel ruangan. ini juga berarti bahwa sensor network protocol dan algoritmanya harus memiliki kemampuan self Meningkatkan efisiensi secara operasional. organizing. Fitur unik lainya dari sensor networks adalah sensord nodes dipasang pada suatu board Dapat mengumpulkan data dalam jumlah yang processor sehingga memiliki kemampuan untuk besar melakukan komputasi lokal dan mengirimkan data sesuai yang diperlukan saja bukan mengirimkan data Memungkinkan komunikasi digital dua arah [2] mentah yang belum diolah . Menyediakan konektivitas secara global, kapanpun, dimanapun informasi tersebut dapat II. Wireless Sensor Network diakses melalui server, laptop, smartphone dan Wireless sensor network (WSN) merupakan perangkat lainya. kumpulan sejumlah node (sensor network) yang diatur dalam sebuah jaringan kerjasama yang berkomunikasi secara wireless (nirkabel) dan bisa mengorganisir diri II.1. Aplikasi Wireles Sensor Network sendiri. WSN mendukung berbagai macam aplikasi Sensor network terdiri dari berbagai jenis sensor yang dalam bidang penelitian maupun rekayasa. berbeda seperti sismic, magnetic, thermal, visual, Perkembangan teknologi semakin mengarah pada infrared, acoustic dan sensor lainya yang mampu konektivitas lingkungan fisik. Kebanyakan observasi memonitor kondisi lingkungan seperti : yang dilakukan di lapangan melibatkan banyak faktor Temperatur dan parameter-parameter untuk mendapatkan hasil yang maksimal dan akurat. Jika peneliti hendak Humidity mengambil informasi langsung di lapangan, maka kendalanya adalah biaya yang besar, waktu yag lama Pergerakan kendaraan untuk mendeteksi fenomena yang muncul sehingga
1
Tekanan Kondisi tanah Noise level Kecepatan, arah dan ukuran obyek Dan kondisi lainya. Sensor nodes dapat digunakan untuk sensing secara kontinyu, event detection, event ID, sensing lokasi, local control ataupun sebagai actuator. Berikut contoh aplikasi WSN dalam berbagai bidang[2]. : a) Bidang Militer Wireless sensor network merupakan bagian yang tidak terpisahakan dari sistem kontrol dari peralatan militer, pengawasan daerah untuk kepentingan pengintaian dan targeting system. Dengan penyebaran yang cepat, bisa mengorganisir sendiri dan memiliki karakteristik toleransi kesalahan menjadikan wireless sensor network menjadi suatu teknik sensing yang menjanjikan bagi keperluan militer. Pengembangan WSN yang berbiaya rendah membuat adanya kerusakan pada beberapa node tidak memberikan pengaruh yang besar pada suatu operasi militer jika dibandingkan dengan sensor tradisional. Aplikasi WSN pada bidang militer diantaranya digunakan untuk mendeteksi dan menghitung banyaknya jumlah tank musuh, kendaraan robot, kapal selam, rudal, torpedo dan pengendalian pesawat yang tak berawak. Posisi dari semua obyek tersebut juga dapat diketahui dengan detail. Selai itu WSN juga berperan dalam sensing nuklir dari jarak jauh, mendeteksi adanya senjata kimia di suatu negara dan bahan peledak yang berbahaya. WSN juga digunakan untuk merancang serangan militer maupun untuk merancang sistem pertahanan keamanan dengan sistem yang cerdas tanpa keterlibatan manusia. b) Bidang Deteksi dan Monitoring Lingkungan WSN turut ambil bagian dalam memonitor suatu ekosistem yang kompleks seperti pencemaran udara, air, mendeteksi populasi dan perilaku hewan serta tumbuhan, deteksi kebakaran hutan, deteksi banjir dan deteksi pada pertanian. Pada aplikasi deteksi populasi, sensor disebar pada periode tertentu sebagai sample sebelum dimulainya musim reproduksi. Pada aplikasi deteksi kebakaran, sensor disebar secara acak pada posisi yang strategis sehingga mampu memberikan posisi yang pasti terhadap terjadinya kebakara sehingga kebakaran dapat diantisipasi sebelum meluas. Pada aplikasi deteksi banjir, sensor dipasang untuk memberikan indikasi awal yang dapat menyebabkan banjir seperti informasi keadaan cuaca, curah hujan dan ketinggian air sehingga bahaya banjir dapt diantisipasi dari awal. Aplikasi WSN pada bidang
pertanian diantaranya digunakan untuk memonitor kadar pestisida dalam air, tingkat erosi pada tanah dan tingkat polusi udara secara real time. c) Health applications Beberapa aplikasi WSN pada aplikasi kesehatan diantaranya penyediaan interface monitoring untuk disabilitas, monitoring kondisi pasien, diagnosa penyakit, administrasi dan monitoring pendistribusian obat di rumah sakit, monitoring data fisik seseorang, monitoring dokter dan pasien di rumah sakit dan aplikasi lainya. Pada aplikasi monitoring dokter dan pasien, setiap pasien dipasang sensor nodes. Tiap sensor yang dipasang disesuaikan dengan kebutuhan yang akan dimonitor, misal sensor pendeteksi denyut jantung atau sensor pengukur tekanan darah. Sensor – sensor ini terhubung dengan sensor yang dibawa oleh dokter yang bertanggung jawab terhadap pasien sehingga saat terjadi pembacaan sensor pada pasien yang tidak normal maka dokter yang bersangkutan akan langsung mengetahui sehingga respon yang dilakukan oleh dokter menjadi lebih cepat. d) Home applications Aplikasi WSN pada rumah tangga juga bisa digunakan seperti rekayasa kecerdasan alat-alat rumah tangga sehingga memungkinkan untuk dapat mengontrol penggunaan listrik, air, gas serta pengaturan suhu di dalam rumah menggunakan koneksi nirkabel jarak jauh. Salah satu aplikasi yang menarik adalah home automation diantaranya yaitu pengontrolan AC di dalam rumah, pengontrolan lampu dan monitoring keamanan melalui CCTV yang semuanya dapat dilakukan dari jarak jauh melalui perangkat smartphone. e) Commercial applications Penggunaan WSN pada aplikasi comercial sudah banyak digunakan seperti monitoring material industri, monitoring quality control product, monitoring kondisi bangunan gedung bertingkat seperti bangunan office atau apartment, robot control dan automasi pada industri manufactur dan aplikasi comercial lainya. II.2. Prinsip Design dan Teknis Wireles Sensor Network Prinsip design dan teknis dari wireles sensor network secara garis besar terdiri dari Hardware, software serta arsitektur sistem dan protocol dan [4] media transmisi . Komponen dari sebuah sensor node dapat dilihat pada gambar 1 berikut :
2
Gambar 1. Komponen sebuah sensor node [2] a)
Hardware
Seperti terlihat pada gambar 1 diatas, sebuah sensor node pada dasarnya terdiri dari empat komponen utama yaitu sensing unit, procesing unit, transceiver dan power unit. 1) Sensing Unit
c)
Dalam sebuah WSN, aplikasi sofware yang digunakan harus dengan mudah diakses melalui sebuah Application Programable Interface (API) yang dibuat sesuai dengan standard dan sesuai dengan kebutuhan konsumen[4]. Dengan API yang baik, kompleksifitas suatu jaringan dapat dipahami oleh end user yang memiliki keahlian khusus dalam hal aplikasi dengan tidak harus menguasai keahlian dalam bidang jaringan maupun bidang wireless cumunication. Dalam WSN, operating system dan midleware juga merupakan sesuatu yang kritis untuk meyeimbangkan antara pemakaian energi dan QoS yang diinginkan. Arsitektur sistem dan protocol
Arsitektur Network
Perencanaan skala sebuah arsitektur network dalam WSN merupakan hal yang paling penting. Salah satu tujuan perencanaan adalah untuk mengembangkan sensor yang seragam yang mampu diprogram untuk segala jenis aplikasi yang diperlukan. Secara umum, WSN harus mampu mendukung beragam aplikasi dengan berbagai kebutuhan yang berbeda. Sehingga sangat penting untuk mengembangkan suatu arsitektur WSN yang mampu mengakomodasi berbagai permintaan untuk berbagai aplikasi dalam satu infrastruktur yang sama[4]. Data Aggregation & Fusion
Dalam WSN, local processing sebuah data mentah sebelum langsung dikirimkan akan mengurangi jumlah komunikasi dan mempengaruhi effisiensi suatu komunikasi (informasi per bit yang ditransmit). Data Aggregation & Fusion merupakan suatu mekanisme lokal yang ditujukan untuk internal data processing dalam WSN. Mekanisme ini bertujuan untuk meminimalkan trafic load ( dalam hal jumah dan/atau panjang paket data) melalui pengurangan redundancy. Ketika suatu sensor nodes menerima data dari beberapa sensor, informasi data ini tidak langsung dikirim tetapi dilakukan pengecekan terlebih dahulu kemudian dikombinasi dengan berbagai data yang lain sesuai dengan acuan yang sudah ditetapkan sehingga duplikasi data dapat dikurangi dan pada akhirnya redundant dapat dikurangi juga[4]. Protocol
Sensing unit atau sensor merupakan suatu bagian dari hardware yang menghasilkan respon nilai pengukuran tertentu saat terjadi perubahan pada suatu kondisi fisik tertentu. Kondisi fisik yang diukur diantaranya seperti temperatur, tekanan, tegangan listrik, arus listrik dan lain sebagainya. Pembacaan signal analog pada sensor berikut kemudian diconvert ke signal digital menggunakan analog to digital (ADC) converter dan dikirim ke prosesor untuk diproses lebih lanjut. 2) Procesing unit Procesing unit terdiri dari prosesor dan storage. Prosesor adalah bagian hardware yang berfungsi untuk memproses data yang dibaca melalui sensor untuk kemudian data ini diproses sesuai dengan kebutuhan. Di dalam prosesor terdapat storage yang berfungsi untuk menyimpan data yang telah diproses. Prosesor juga digunakan untuk mengatur fungsi komponen-komponen lainya yang terdapat di dalam sensor node. 3) Transceiver Transceiver berfungsi untuk menghubungkan sensor node ke dalam jaringan sensor network. 4) Power unit
b)
Power unit berfungsi untuk memberikan daya kepada semua bagian sensor node. Dengan kondisi sensor node sebagian besar berada pada area yang sulit dijangkau, maka perlu dibuatkan sebuah sistem power unit yang hemat energi dan tahan lama sehingga dapat diperoleh suatu sensor node yang tahan lama pula dalam sisi pengoperasianya. Software
Susunan protocol yang digunakan pada sensor nodes dapat dilihat pada gambar 2.
3
dimana frekuensi ini license free di hampir semua negara. Tabel alokasi frekuensi ISM secara internasional dapat dilihat pada tabel 1. Tabel 1. Frekuensi untuk aplikasi ISM[2]
Gambar 2. Susunan Protocol pada Sensor Network[2] Susunan protocol berikut mengkombinasikan power dan routing, integrasi data dengan networking protocol, efisiensi power untuk komunikasi melalui media wireless dan mendorong sebuah sensor nodes yang kooperatif. Susunan protocol sensor network terdiri dari application layer, transport layer, network layer, data link layer, physical layer, power management plane dan task management plane. Tergantung dari fungsi sensing yang diinginkan, berbagai sofware aplikasi yang berbeda dapat dipasang dan digunakan pada application layer. Transport layer digunakan untuk menjaga aliran data jika aplikasi sensor network memerlukanya. Network layer berfungsi untuk mengatur routing dari data yang disiapkan oleh transport layer. Dengan kondisi lingkungan yang beragam dan sensor nodes yang relatif bersifat mobile, maka MAC protocol harus cukup mampu untuk meminimalkan tabrakan dengan neigbors broadcast yang ada. Physical layer ditujukan untuk suatu modulasi yang sederhana tetapi kuat dalam pengiriman dan penerimaan data. Power, mobility dan task didistribusikan di antara sensor nodes. Sistem management ini membantu sensor node untuk mengatur pemakaian energi yang lebih efisien [2] .
d) Media Transmisi Dalam sebuah Wireles sensor network, setiap node berkomunikasi menggunakan jaringan yang dihubungkan melalui media wireless. Penghubung/link yang digunakan dapat menggunakan radio, infrared atau media optic. Supaya jaringan berikut dapat dioperasikan secara global, maka pemilihan media transmisi harus bisa digunakan secara global. Salah satu frekuensi radio yang dapat digunakan adalah frekuensi ISM ( industrial, scientific & medical)
Keuntungan utama menggunakan frekuensi ISM adalah free lisensi, alokasi spektrum yang besar dan meiliki ketersediaan secara global. II.3. Microcontroler Arduino Ada berbagai macam prosesing unit yang dapat digunakan dalam WSN, salah satunya adalah Microcontroler Arduino. Arduino merupakan microcontroler yang memang dirancang untuk bisa digunakan dengan mudah meskipun para pengguna tidak memiliki kemampuan dasar dalam hal bahasa pemrograman. Arduino merupakan sebuah platform hardware open source yang mempunyai input/output (I/O) yang sederhana. Mengunakan Arduino sangatlah membantu dalam membuat suatu prototyping ataupun pembuatan sebuah proyek. Arduino memberikan I/O yang sudah fix dan bisa digunakan dengan mudah. Arduino dapat digabungkan degang modul elektro yang lain sehingga proses perakitan jauh lebih efisien. Keistimewaan Arduino adalah hardware open source sehingga hal ini memberikan keleluasaan bagi semua orang untuk bereksperimen secara bebas dan gratis II.3.1. Hardware Arduino Bagian hardware dari microcontroler ATMega328 dapat dilihat pada gambar 3 berikut:
Gambar 3. Arsitektur ATMega 328[5]
4
Tabel 2. Deskripsi Pin Arduino[5]
Keterangan gambar 3 sebagai berikut : Universal Asynchronous Receiver/Transmiter ( UART) adalah antarmuka yang digunakan untuk komunikasi serial seperti pada RS-232, RS-422 dan RS-485
2KB RAM pada memory kerja bersifat volatile ( hilang saat daya dimatikan), digunakan oleh variable-variabel di dalam program.
32KB ROM flash memory bersifat non-volatile, digunakan untuk menyimpan program yang dimuat dari komputer. Selain program, flash memory juga menyimpan bootloader.
Bootloader adalah program inisiasi yang ukuranya kecil, dijalanlakan oleh CPU saat daya dihidupkan. Setelah bootloader selesai dijalankan, berijutnya program di dalam RAM akan dijalankan.
1KB EEPROM bersifat non-volatil, digunakan untuk menyimpan data yang tidak boleh hilang saat daya dimatikan.
Central Processing unit (CPU), bagian dari microcontroler untuk menjalankan setiap instruksi dari program.
Port input/output (I/O), pin-pin untuk menerima data (input) digital maupun analaog dan mengeluarkan data (output) digital atau analog.
Contoh microcontroler arduino adalah arduino uno seperti terlihat pada gambar 4 berikut:
Gambar 4. Microcontroler Arduino Uno Deskripsi fungsi dari Pin pada microcontroler Arduino dapat dilihat pada tabel 2 berikut:
II.3.2. Software Arduino Dalam penggunaan arduino ini, selain menggunakan hardware juga diperlukan pendukung software. Sofware arduino yang digunakan adalah driver dan IDE. IDE Arduino adalah software yang ditulis menggunkan Java. IDE Arduino terdiri dari :
Editor program
Yaitu sebuah window yang memungkinkan pengguna menuis dan mengedit program dalam bahasa processing. Compiler
Yaitu sebuah modul yang mengubah sebuah kode program (bahasa processing) menjadi kode biner. Sebuah microcontroler tidak dapat memahami bahasa processing, yang bisa dipahami oleh microcontroler adalah kode biner, oleh sebab itu compiler diperlukan dalam sebuah microcontroler. Uploader
Yaitu sebuah modul yang memuat kode biner dari komouter ke dalam memory di dalam papan Arduino. Contoh tampilan sofware IDE dapat dilihat pada gambar 5.
5
Gambar 5. Contoh tampilan software IDE Arduino III. Wireles Communication Beberapa komunikasi wireles yang bisa digunakan pada WSN adalah IEEE 802.11 (WLAN), IEEE 802.15.1 (Bluetooth) dan IEEE 802.15.4 (ZigBee)[14]. Perbandingan antara ketiga teknologi tersebut dapt dilihat pada tabel 3.1. Tabel 3. Perbandingan Communication[6]
Teknologi
Wireless
Dari tabel 3.1 dapat dilihat bahwa dari sisi konsumsi daya, Zigbee merupakan sistem dengan kebutuhan
daya yang paling kecil. Untuk jumlah sensor node yang dapat terkoneksi ke dalam sistem WSN, Zigbee mempunyai kapasitas jumlah nodes paling banyak. Dari segi jangkauan transmisi, Zigbee mempunyai jangkauan yang relatif jauh seperti pada sistem WLAN. Pada penelitian [1] yang digunakan adalah wireless comuniation menggunakan ZigBee dan diketahui bahwa dengan menggunakan zigbee, data erornya lebih bagus dibanding dengan koneksi kabel karena tidak terpengaruh oleh resistansi kabel dan medan magnet pada kabel. Dengan latar belakang masalah dimana dengan sistem Wire instalasi kabelnya menjadi tidak rapi dan setup sistemnya lebih sulit, dan dengan menggunakan sistem Wifi atau Bluetooth yang memerlukan konsumsi daya yang besar sehingga umur pakai batery menjadi pendek, maka pada penelitian [6] diusulkan untuk menggunakan sistem komunikasi Zigbee untuk Home automation sistem dan diperoleh hasil bahwa dengan Zigbee, selain lifetime batery lebih lama juga diperoleh sistem komunikasi yang handal dan aman. IV. Aplikasi wireless Sensor network menggunakan microcontroler Arduino dan Xbee Berikut aplikasi wireless sensor network yang akan dijalankan yaitu simulasi pengontrolan kecepatan pompa berdasarkan perubahan tekanan dan perubahan temperatur . Microcontroller yang digunakan dalam sistem kontrol ini adalah Arduino Uno. Arduino Uno dipilih karena bisa digunakan dengan mudah meskipun para pengguna tidak memiliki kemampuan dasar dalam hal bahasa pemrograman, dan sofware Arduino juga dapat dengan mudah didapat dengan cara mendownload dari web Arduino. Standard wireless komunikasi Zigbee yang digunakan adalah Xbee S2. Xbee S2 merupakan suatu modul RF yang dibuat oleh Digi International. Koneksi Xbee modul ke microcontroler Arduino menggunakan Xbee Shieeld. Xbee shield merupakan shield yang dikembangkan bersama oleh Digi dan Libelium untuk aplikasi sensor network. Dengan Arduino Xbee shield ini sistem koneksi dan set up dari Xbee modul ke Arduino menjadi lebih mudah. Rangkaian pemasangan Xbee modul ke Arduino menggunakan Xbee shield dapat dilihat pada gambar 6 dan gambar 8.
Gambar 6. Rangkaian kontrol Xbee transmiter
6
Susunan prototipe node transmiter yang digunakan sesuai dengan rangkaian pada gambar 6, dapat dilihat pada gambar 7. berikut :
Gambar 9. Prototipe Node Receiver
Gambar 7. Prototipe Node Transmiter Prototipe berikut akan digunakan sebagai alat untuk simulasi kondisi perubahan karakteristik pada chilled water sistem.
Gambar 8. Rangkaian kontrol Xbee Receiver Susunan prototipe node transmiter yang digunakan sesuai dengan rangkaian pada gambar 8, dapat dilihat pada gambar 9 berikut :
Simulasi perubahan karakteristik temperatur, pressure dan flow rate akan dilakukan dengan Temperatur sensor, pressure sensor dan flow sensor menggunakan potensio. Potensio akan mengeluarkan pembacaan data analog yang akan dibaca dan diproses oleh microcontroller Arduino. Hasil pembacaan sensor dan simulasi kondisi karakteristik sistem akan ditampilkan melalui serial monitor sesuai dengan port serial pada microcontroler Arduino yang terkoneksi pada laptop. Dari gambar 3.9 dan 3.11 dapat dilihat bahwa untuk pembacaan sensor maka potensio dihubungkan pada pin analog arduino yaitu Pin A0, A1, A2 dan A3. Sesuai dengan spesifikasi Arduino Uno, maka saat sensor menggunakan input daya pada Pin 5V pada arduino, maka sensor akan memberikan input berupa data analog yang dibaca pada range 0 s/d 5 volt. Data analog ini akan dibaca oleh ardunio menjadi nilai digital pada range 0 s/d 1023. Untuk melakukan simulasi sesuai dengan metode yang telah diusulkan maka dibuat suatu algoritma yang akan dicompile ke prototipe sistem control Arduino – Xbee yang selanjutnya simulasi akan dilihat pada serial monitor yang terkoneksi dengan Arduino. III.3.3. ALGORITMA flow chart algoritma yang akan dicompile kedalam sistem control dapat dilihat pada gambar 10 dan gambar 11.
7
}
Gambar 10. Flow Chart Algoritma pada Xbee Transmiter Gambar 10 adalah algoritma pada wireless sensing unit yang berfungsi sebagai pembacaan input temperatur dan pressure pada sistem piping. Dari gambar 10 dapat dilihat alur proses data pada microcontroler Arduino sebagai berikut : 1) Sensor akan mengirim data analog perubahan karakteristik sistem berupa nilai pembacaan pressure dan temperatur ke arduino. Data analog ini berupa nilai digital pada range 0 - 1023 atau mewakili tegangan 0 – 5 V. 2) Dari pembacaan ini, microcontroler akan melakukan komputasi sederhana yaitu perhitungan ΔT dan kemudian data hasil komputasi dan data pembacaan pressure akan dikirim ke xbee receiver untuk diproses lebih lanjut. Coding algoritma pada xbee transmiter adalah sebagai berikut : //inisiasi xbee pada arduino #include // XBee's DOUT (TX) is connected to pin 2, via xbee shield (Arduino's Software RX) // XBee's DIN (RX) is connected to pin 3, via xbee shield (Arduino's Software TX) SoftwareSerial XBee(2, 3); // RX, TX
void loop() { // start loop blok 0 int sensorValue1 = analogRead(sensorPin1); int sensorValue2 = analogRead(sensorPin2); int sensorValue3 = analogRead(sensorPin3); //range kerja temperatur sistem 0 s/d 20 deg C, analog voltage board arduino 0 s/d 5 V //range kerja pressure sistem 0 s/d 5 kpa, analog voltage board arduino 0 s/d 5 V //sensor value 0 s/d 1023 (digital value board arduino) float T1 = (sensorValue1 / 1023.0) * 20.0; //deg C float T2 = (sensorValue2 / 1023.0) * 20.0; //deg C float P2 = (sensorValue3 / 1023.0) * 5.0; //kpa float deltaT2 = T2 - T1; //display T1, T2, P2, deltaT2 Serial.print("T1:"); Serial.println("deg C"); Serial.print("T2:"); Serial.println("deg C"); Serial.print("deltaT2:"); Serial.println("deg C"); Serial.print("P2:"); Serial.println("Kpa");
Serial.print(T1); Serial.print(T2); Serial.print(deltaT2); Serial.print(P2);
if (Serial.available()) { // If data comes in from serial monitor, send it out to XBee XBee.write(T1); XBee.write(T2); XBee.write(deltaT2); XBee.write(P2); } //pengambilan data pada sistem setiap 5 second delay(5000); }
//start inisiasi blok 0 int sensorPin1 = A0; // pin temperatur sensor 1 int sensorPin2 = A1; // pin temperatur sensor 2 int sensorPin3 = A2; // pin pressure sensor const float deltaT2 = 0.0; const float P2 = 0.0; //end inisiasi blok 0 void setup() { XBee.begin(9600); Serial.begin(9600);
8
kecepatan putaran pompa (N) yang akan dipilih. Coding algoritma pada Xbee receiver adalah sebagai berikut : //inisiasi xbee pada arduino #include // XBee's DOUT (TX) is connected to pin 2, via xbee shield (Arduino's Software RX) // XBee's DIN (RX) is connected to pin 3, via xbee shield (Arduino's Software TX) SoftwareSerial XBee(3, 2); // TX, RX //start inisiasi blok 3 int sensorPin4 = A3; const float m1 = 0.0; //end inisiasi blok 3 //start inisiasi block program 4 const float Q = 0.0; //Q = load //end inisiasi block program 4
Gambar 11. Algoritma pada Xbee Receiver Gambar 11 merupakan algoritma thermomekanika sesuai dengan metode penelitian yang diusulkan. Alur proses data pada rangkaian Xbee receiver sesuai gambar 11 adalah sebagai berikut : 1) Arduino diinput parameter seting sistem yaitu minimum flow rate (m˚min), set poin flow rate ( m˚rate), kecepatan pompa pada set point (N1), Set point pressure (P1), Set point beda temperatur antara chilled water in dan out (ΔT1) dan nilai kalor jenis chilled water (Cp) 2) Xbee Rx akan menerima data pembacaan pressure sensor dan data ΔT yang dikirim oleh Xbee Tx. Data tersebut kemudian diteruskan ke Arduino untuk diproses. Arduino juga menerima data dari pembacaan flow rate yang dilakukan oleh flow sensor. 3) Arduino akan menghitung aktual load (Q1) yang terjadi pada sistem, kemudian berdasarkan aktual load ini maka akan ditentukan kecepatan putaran motor yang diinginkan (nA) sesuai dengan aktual load 4) Dari data pressure aktual yang diterima (P2) maka Arduino akan menentukan kecepatan putaran pompa (n2b) berdasarkan perubahan pressure pada sistem berikut. 5) Dari hasil penentuan kecepatan putaran pompa berdasar aktual load dan berdasar aktual pressure, maka akan ditentukan
//start inisiasi block program 5 const float m2 = 0.0; //m2 = requirement flow to suite with actual load //end inisiasi block program 5 //start inisiasi block program 6 const float n2a = 0.0; // n2a = required rpm to suite with actual load // end inisiasi block program 6 //start inisiasi block program 7 const float n2b = 0.0; // n2b = required rpm to suite with minimum pressure const float dp1 = 0.0; // dp1 = p1/p2 const float dp2 = 0.0; // dp2 = sqrt(pi/p2) // end inisiasi block program 7 //start inisiasi block program 8 const int n = 0; const int nA = 0; //const float n2b = 0; //end inisiasi block program 8 void setup() { XBee.begin(9600); Serial.begin(9600); } void loop() { //start block program 1 //inisiasi parameter input const float mmin = 3.0; // (lpm) minimum flow required const float mrate = 10.0; //(lpm) duty rate of pump
9
const float n1 = 1664.0; // (rpm) motor speed rating @47% speed const float nmax = 2550.0; // (rpm) maximum motor speed const float p1 = 2.8; // (Kpa) system pressure rating // minimum pressure const float deltaT1 = 6.0; // (deg C) temperature different setting const float cp = 4.2; // (kj/kg . K) specific heat of water // const float pmin = 1.4; //(kpa) minimum system pressure //const float pmax = 4.6; // (kpa) maximum system pressure // end block program 1 // start loop blok 0 if (Serial.available()) { // If data comes in from xbee transmiter XBee.read(T1); XBee.read(T2); XBee.read(deltaT2); XBee.read(P2); } float Qrate = mrate * cp * deltaT1; // cooling load rate @ max 70% valve open float Qmin = mmin * cp * deltaT1; // minimum load //display T1, T2, P2, deltaT2 Serial.print("T1:"); Serial.print(T1); Serial.println("deg C"); Serial.print("T2:"); Serial.print(T2); Serial.println("deg C"); Serial.print("deltaT2:"); Serial.print(deltaT2); Serial.println("deg C"); Serial.print("P2:"); Serial.print(P2); Serial.println("Kpa"); // Serial.print ("rate load :"); Serial.print(Qrate); Serial.println("watts"); // start loop block 3 { int sensorValue4 = analogRead(sensorPin4); // flow sensor // range flow sistem 0 s/d 20 l/s float m1 = (sensorValue4 / 1023.0) * 20.0; // l/s Serial.print("m1:"); Serial.print(m1); Serial.println("l/s"); //end loop block 3 // start block program 4 //simulasi load Q berdasarkan thermodinamika float Q1 = m1 * cp * deltaT2 ; // (watts)
persamaan
Serial.print("aktual load Serial.println("watts"); // end block program 4
:");
Serial.print(Q1);
//start block program 7 //speed refer to pressure (simulasi speed pompa saat mengacu pada pressure aktual) float dp1 = p1 / P2; float dp2 = sqrt(dp1); float n2b = n1 * dp2; Serial.print("motor speed ref to pressure :"); Serial.print(n2b); Serial.println("rpm"); // end block program 7 //start block program 6 dan 8 //speed refer to load (simulasi speed pompa saat mengacu pada aktual load) //speed required : speed pompa yang dieksekusi setelah membandingkan //antara perhitungan speed berdasar pressure vs perhitungan speed berdasar aktual load if (Q1 >= Qmin ) { float n2a = (Q1 / Qrate) * n1; if (n2a <= nmax & n2b <= n2a) {int nA = n2a; Serial.print("motor speed ref to load Serial.print(nA); Serial.println("rpm"); Serial.print("motor speed required Serial.print(nA); Serial.println("rpm"); } if (n2a > nmax || n2b > nmax) {int nA = nmax; Serial.print("motor speed ref to load Serial.print(nA); Serial.println("rpm"); Serial.print("motor speed required Serial.print(nA); Serial.println("rpm"); } if (n2a < n2b) { Serial.print("motor speed ref to load Serial.print(n2a); Serial.println("rpm"); Serial.print("motor speed required Serial.print(n2b); Serial.println("rpm"); } } if (Q1 < Qmin) { float n2a = (Qmin / Qrate) * n1; if (n2a < n2b) {//int nA = n2a; Serial.print("motor speed ref to load Serial.print(n2a); Serial.println("rpm"); Serial.print("motor speed required Serial.print(n2b); Serial.println("rpm"); }
:"); :");
:"); :");
:"); :");
:"); :");
10
} // end block program 6 dan 8 } //pengambilan data pada sistem setiap 5 second delay(5000);
Daftar Pustaka [1]
Zhiguang GONG & Xudong MENG. The Testing System of Thermal Performance of
}
Heating Radiators Based on ZigBee Wireless
Setelah coding berikut dicompile, maka simulasi bisa dijalankan. Perubahan temperatur maupun perubahan pressure dapat disimulasikan dengan mengubah potensio. Hasil simulasi dilihat pada serial monitor. Berikut contoh hasil simulasi untuk coding algoritma pada gambar 11.
Sensor
Network
Technology,
Sensor
&
Transducers, 2013, IFSA, Vol 158, pp 100 – 106 [2]
I.F. Akyildiz, W. Su, Y. Sankarasubramaniam, E. Cayirci. Wireless sensor networks: a survey, Computer Network 38, 2002, Elsevier, P 393 – 422
[3]
Firdaus (2014). Wireless Sensor Network, Teori dan Aplikasi. Yogyakarta: Graha Ilmu
[4] Vehbi C. Gungor, Gerhard P.Hancke, Industrial Wireless Sensor Network : Challenge, Design Principles, and Technical Approaches, IEE Transaction on Industrial Electronic, Vol 56, no 10, October 2009 [5] Yuwono Marta Dinata (2015). Arduino itu Mudah. Jakarta: PT. Elex Media Komputindo [6]
Kartik Rathod, Nilay Parikh, Aesha Parikh, Prof. Vrushank Shah, Wireless Automation using Zigbee
Protocols,
Communication
Wireless
Network
and
(WOCN),
Optical ninth
International Conferene, 2012, IEEE, P 1 – 5 [7]
Digi International (2009), Xbee & Xbee Pro RF modul datasheet, Digi International Inc.
11