Membaca Water Flow Sensor Dengan Arduino Nano


Pada artikel ini kita akan membahas pemrograman sensor flowmeter dengan arduino nano . penulis akan membawa pembaca untuk mempelajari karakteristik pembacaan waterflowmeter dengan arduino  .


perangkat arduino membaca waterflowmeter
Gambar sensor water flowmeter 


Water FlowSensor adalah tranduser/Sensor yang di gunakan untuk mengukur kecepatan aliran air per menit . Pengunaan sensor ini menghasilkan nilai kecepatan air yang mengalir melewati waterflow meter .Sensor Flowmeter harus digunakan bersama microprosesor untuk menghitung kecepatan ,dikarenakan Output dari sensor adalah sinyal pulsa .

sinyal pulsa water flowmeter

Sinyal Pulsa Sensor FlowMeter

WaterFlow meter terdiri dari body seperti sambungan pipa , terdapat ulir untuk di hubungkan dengan pipa lain nya . Waterflow sensor terbuat dari bahan plastic dan juga ada yang metal . Sensor ini memiliki prinsip kerja .Perhitungan kecepatan aliran air berdasarkan dari jumlah putaran kincir yang terdapat di dalam body sensor .

Terdapat sensor medan magnet dan kincir air didalam body waterflowmeter . Kedua komponen ini penting untuk mendukung pergerakan perhitungan sensor .

Kincir Air : komponen mekanik dari waterflowmeter , Berputar ketika mendapat aliran air . Perputaran kincir air sebanding dengan seberapa cepat debit air yang melewati Waterflow Meter . Semakin cepat maka perputaran akan semakin banyak per menit . kita bisa mengunakan bahasa frekuensi perputaran permenit .


Hall Efect Sensor : adalah sensor medan magnet , Sensor ini bertugas untuk menghitung seberapa banyak kincir air berputar . Memiliki prinsip medan magnet yang di bawa oleh kincir air . Hall Effect Sensor akan menghasilkan Sinyal Pulsa , Sebanyak N putaran permenit .Sesuai dengan kecepatan kincir .

Gambar Sederhana Prinsip Kerja WaterFlowMeter


Seperti gambar diatas , Aliran air masuk kedalam waterflowmeter  membuat kincir air berputar sesuai dengan kecepatan aliran air yang masuk . Semakin cepat aliran bergerak maka semakin cepat putaran . Frekuensi Sinyal Pulsa yang di hasilkan akan semakin besar . 

PEMROGRAMAN WATERFLOW METER DENGAN ARDUINO NANO


Pembacaan sensor water flowmeter tidak bisa dilakukan sendiri . Sensor waterflowmeter menghasilkan output berupa sinyal pulse dengan frekuensi sesuai dengan kecepatan aliran air per menit . Output sinyal pulse tidak bisa di gunakan untuk menentukan seberapa cepat airan air per menit . Kita bisa mengunakan konstanta tertentu untuk mendapatkan kecepatan aliran air per menit .

Kecepatan aliran air per menit = Frekuensi Kecepatan Kincir Air * konstanta .

Menghitung frekuensi di perlukan terlebih dahulu setelah itu bisa di dapatkan kecepatan aliran air permenit .Mikroprosesor adalah komponen yang cocok untuk proses perhitungan . Salah Satu adalah arduino memiliki pin interupt yang dapat di gunakan dalam proses counter .Pengunaan sensor flowmeter bersama dengan miroprosesor untuk melakukan counter perputaran kincir per menit atau frekuensi kecepatan kincir per menit .


gambar flowchart pembacaan water flowmeter
Gambar Blok Diagram


Perencanaan pembacaan sensor flowmeter mengunakan arduino sesuai dengan blok diagram di atas . Waterflowmeter di hubungkan dengan arduino , sebagai pembaca frekuensi kincir air .Perhitungan kecepatan aliran air permenit berdasarkan frekuensi yang masuk kedalam pin interrupt arduino . Proses perhitungan di lakukan di dalam arduino . Sebagai Output kita akan mengunakan Serial Monitor.


SENSOR FLOW METER

Sensor FLowmeter memiliki beberapa macam bentuk dan bahan pembuatan mulai dari bahan plastik sampai metal .

Gambar sensor water flowmeter

Sensor FlowMeter memiliki spesifikasi seperti data di bawah :

  • 1.     Tegangan kerja 5 – 24 Volt .
  • 2.     Konsumsi Ardui +- 15 mV
  • 3.     Range Debit Air 1 – 30 L
  • 4.     Luas Penampang ½ inch .


Terdapat 3 kabel yang  keluar dari sensor waterflowmeter . memiliki pengunaan masing – masing .


  • 1.     VCC tegangan sensor flowmeter .
  • 2.     Data Sinyal Pulsa .
  • 3.     Ground Sensor Flowmeter .


3 pin ini bisa langsung di hubungkan dengan pin arduino tanpa perantara lain  nya  .


Gambar Sinyal Water flowmeter


Pin data sinyal dari waterflowmeter , bisa langsung dihubungkan pada pin interrupt arduino . untuk arduino nano kita gunakan pin interrupt 2,3 . 


PEMROGRAMAN DENGAN ARDUINO

Pada pemrograman dengan arduino kita mengakses 2 komponen utama dalam arduino :

      Pin Interupt .


Pin untuk melakukan interupsi terhadap program arduino yang sedang berjalan . Pin Interupsi akan menghentikan program arduino ketika mendapatkan perubahan sinyal . Program akan masuk kedalam kode tertentu sesuai dengan yang kita set  .

Pada program ini , kita akan membuat perhitungan atau counter jika terdapat interupsi yang masuk dari sensor flowmeter . program akan mengunakan flowchart sesuai gambar di bawah ini .


gambar flowchart pembacaan waterflow meter

Gambar Flowchart Pembacaan Counter Melalui Pin Interupt



Counter akan bertambah setiap sinyal pulse masuk ke arduino . Pin Iterupsi selalu dalam keadaan standby .

      Serial Monitor  


Dalam pembacaan kecepatan aliran air permenit kita membutuhkan komponen display , menunjukan berapa banyak counter dan aliran air yang berhasil di baca oleh arduino nano . Artikel ini kita akan mengunakan display Serial Monitor untuk menampilkan data pada computer  .


Pin D0 dan D1 (RX dan Tx)



Tampilan display akan update setiap 1 detik sekali , sehingga perubahan dari kecepatan aliran akan lebih terlihat . Tampilan display memiliki susunan kata per kolom .

1.     Kecepatan aliran .
2.     Counter Per Menit .
3.     Jumlah Counter .
4.     Waktu Sudah Terlewat .

Susunan tersebut memudahkan pada proses analisa .

 Perakitan Semua Komponen Pembacaan Waterflowmeter dengan arduino nano


Perakitan komponen pengujian flowmeter mengunakan projectboard . Pengunaan project sangat mudah dalam pengoperasian . menghubungkan semua pin – pin komponen antara sensor water flowmeter dengan arduino nano cukup mengunakan kabel jumper atau kabel yang telah mengunakan black house pin .


gambar water flowmeter dengan arduino nano
Gambar skema waterflowmeter dengan arduino nano



Tampak sensor water flowmeter terhubung pada pin 3v3 dan gnd . Sensor water flowmeter dapat terhubung dengan mengunakan tagangan kerja 3.3V . komunikasi dengan arduino nano pada pin D2 yang merupakan pin interrupt .Setiap pulsa sinyal dari sensor akan di deteksi oleh pin interrupt . Fungsi khusus akan melakukan counter setiap terdapat sinyal pulse .



Arduino nano juga memiliki USB to TTl yang menghubungkan Atmega didalam arduino atau Mikrokontroller di dalam arduino . Koneksi antara computer dan arduino nano sudah tidak memerlukan perantara kembali .

Penguna tinggal melakukan koneksi secara lansung menuju computer melalui USB . OS di dalam computer dapat secara langsung mendeteksi port yang terdaftar .

Pemrograman Sensor FlowMeter dengan arduino Nano .



Pemrograman arduino pada project ini dengan mengakses pin interrupt , akses pin interrupt untuk mendeteksi perubahan yang terjadi ketika terdapat sinyal yang berasal dari sensor water flowmeter . Komponen USart di dalam mirkokontroller untuk melakukan pengiriman data menuju computer dan perhitungan sederhana untuk konversi dari counter menjadi debit air .



float last = 0 ;

byte sensorInterrupt = 0;  // 0 = digital pin 2
byte sensorPin       = 2;

// The hall-effect flow sensor outputs approximately 4.5 pulses per second per
// litre/minute of flow.
float calibrationFactor = 4.5;

volatile byte Count; 

float flowRateMinute;
unsigned int flowMilliLitre;
unsigned long totalMilliLitre;

unsigned long oldTime;

void setup()
{
 
  // Initialize a serial connection for reporting values to the host
  Serial.begin(9600);
 
  pinMode(sensorPin, INPUT);
  digitalWrite(sensorPin, HIGH);

  Count        = 0;
  flowRateMinute    = 0.0;
  flowMilliLitre   = 0;
  totalMilliLitre  = 0;
  oldTime           = 0;

  attachInterrupt(sensorInterrupt, pulseCounter, FALLING);
}

/**
 * Main program loop
 */
void loop()
{
  
   if((millis() - oldTime) > 1000)    // Only process counters once per second
  {
    detachInterrupt(sensorInterrupt);
    flowRateMinute = ((1000.0 / (millis() - oldTime)) * Count) / calibrationFactor;
    oldTime = millis();
    flowMilliLitre = (flowRateMinute / 60) * 1000;
    totalMilliLitre += flowMilliLitre;
     
    if( abs(last-flowMilliLitre) > 5 ){
       last = flowMilliLitre ;
      
       Serial.println("========================================================>");
       Serial.println("================== Flow Meter Sensor ===================>");
         Serial.print("Debit Air / Second :"); Serial.print(flowMilliLitre);Serial.println("mL/Sec");
         Serial.print("Volume Air :"); Serial.print(totalMilliLitre);Serial.println("L");
       Serial.println("========================================================>");
    }
   
    // Reset the pulse counter so we can start incrementing again
    Count = 0;
   
    // Enable the interrupt again now that we've finished sending output
    attachInterrupt(sensorInterrupt, pulseCounter, FALLING);
  }
}

/*
Insterrupt Service Routine
 */
void pulseCounter()
{
  // Increment the pulse counter
  Count++;
}


Kode program arduino di atas bisa langsung di gunakan . tanpa tambahan library apapun . penguna tinggal membuat halaman baru pada arduino IDE lalu menimpa kode diatas ke halaman baru .


Pengoperasian Sensor Flowmeter . 


Pengoperasian perangkat ini dengan menyediakan sumber tekanan air , dalam project ini penulis akan mengunakan sumber tekanan air yang berasal dari mesin pompa air ikan akuarium . Mesin pompa air akan di hubungkan dengan sensor waterflowmeter . seperti gambar di bawah :

gambar pompa air akuarium
Gambar pompa air aqurium

Pada gambar diatas di gunakan botol ukuran 600mL untuk mengukur ketepatan sensor flowmeter dalam menghitung kapasitas air yang keluar dari waterflowmeter dan perhitungan program .


Lakukan percobaan dengan mengunakan stopwatch , ukuran yang keluar dari serial port dalam satuan mili liter per detik . aktifkan pompa air lalu tunggu sampai dengan botol penuh . lalu cek nilai kapasistor yang didapat dengan apakah sudah tepat .

Ketepatan antara bitol aqua nyata dan hasil perhitungan program , bisa kita simpulkan dengan persen error . Kita bisa mengurangi persen error dengan mengurangi nilai output dengan persen error yang ada .

Hasil  = Hasil Nyata – (Hasil nyata*persen Error)


Setelah di dapat persen error kita bisa mendapatkan hasil koreksi error .Galler percobaan bisa dilihat di bawah .


pembacaan sensor water flow meter
Gambar hasil Serial Monitor Water Flowmeter

Lebih lanjut bisa di lihat pada video di bawah ini :



Share this Post Share to Facebook Share to Twitter Email This Pin This Share on Google Plus Share on Tumblr

2 comments:

  1. bagaimana cara mencari konstanta flow meter?

    ReplyDelete
  2. Bisakah 1 arduino melakukan pembacaan lebih dari 1 flow sensor? Misal menggunakan arduino mega yang mana pin interrupt-nya ada sekitar 6 pin

    ReplyDelete

jasa pemrograman arduino © 2014. All Rights Reserved | Powered By Blogger | Blogger Templates

Designed by-SpeckyThemes