Litar Meter Aliran Air Digital Mudah menggunakan Arduino

Cuba Instrumen Kami Untuk Menghapuskan Masalah





Dalam catatan ini kita akan membina meter aliran air digital menggunakan Arduino dan paparan LCD 16 x 2. Kami akan melihat sensor aliran air YF-S201, pembinaan dan pengerjaannya serta cara berinteraksi dengan Arduino untuk mengekstrak beberapa bacaan yang berguna.

Projek yang dicadangkan dapat mengukur kadar aliran air dalam liter / minit dan jumlah aliran air dalam liter.



Mari lihat sensor aliran air YF-S201.

hidupkan dpdt

Ilustrasi YF-S201:

YF-S201 ialah Kesan Hall berdasarkan sensor air. Ia mempunyai tiga terminal 5V (voltan kerja nominal), GND dan output. + 5V adalah wayar berwarna merah, yang hitam adalah GND dan yang kuning adalah output.



Sensor memberikan frekuensi berkadar langsung dengan aliran air. Sensor YF-S201 dapat mengukur dari 1 liter / minit hingga 30 liter / minit. Tekanan air harus kurang dari atau sama dengan 1.75 MPa.

Air boleh disuntik dari satu hujung dan air mengalir ke hujung yang lain.

Sensor boleh diletakkan setelah injap gerbang utama tangki jika anda ingin mengukur aliran air di rangkaian paip air atau anda boleh meletakkan sebelum paip air untuk mengukur aliran air paip tunggal.

Penempatan sensor boleh berada di mana sahaja sesuai dengan keperluan pengguna tetapi, berhati-hati harus dilakukan untuk mengelakkan kebocoran air.

Sensor mempunyai magnet dan sensor Effect Hall jika kita melihat sisi sensor aliran air, kita dapat menyaksikan turbin plastik di jalan aliran air.

Magnet berbentuk bulat tertanam di tengah turbin dan sensor Hall Effect dilekatkan dan dilindungi dari kelembapan dan diletakkan di atas magnet. Sensor Hall Effect menghasilkan nadi untuk setiap revolusi turbin.

Bentuk Gelombang Aliran Air pada Serial Plotter

Kita dapat melihat denyutan yang dihasilkan oleh sensor aliran air pada plotter bersiri arduino IDE, ditunjukkan di bawah (Menggunakan Arduino Single channel Oscilloscope).

Kami telah menghembus udara melalui sensor ke putar turbin sebagai ujian dan bentuk gelombang yang dihasilkan ditunjukkan di atas. Bentuk gelombang yang lebih padat di sebelah kiri mewakili frekuensi yang lebih tinggi dan putaran turbin yang lebih pantas, bentuk gelombang yang kurang padat di sebelah kanan menandakan sebaliknya.

Aliran air yang konsisten memberikan output frekuensi yang konsisten.

Kita mesti menukar frekuensi ke dalam skala liter / minit. Untuk melakukan ini, pengeluar telah memberikan formula:

Kadar aliran air (liter / min) = frekuensi / 7.5

Jadi, kita perlu mengukur frekuensi yang dihasilkan dan menerapkan formula di atas dalam kod program.

Spesifikasi Teknikal YF-S201:

· Ketepatan: +/- 10%, jika anda memerlukan ketepatan yang lebih baik, kita perlu menentukur.

· Suhu Kerja: -25 hingga + 80 darjah Celsius.

· Kelembapan kerja: 35% hingga 80% RH.

· Kitaran tugas output: 50% +/- 10%.

· Tekanan air maksimum: 1.75 MPa.

· Denyut per Liter: 450.

· Cabutan arus maksimum: 15 mA pada 5V

Itu menyimpulkan sensor aliran air YF-S201.

Sekarang mari kita beralih ke skema.

Gambarajah skematik:

Pin output sensor aliran air disambungkan ke A0 dari Arduino. Menggunakan Potensiometer 10K untuk menyesuaikan kontras paparan. Kawat Arduino dan Paparan LCD seperti rajah di atas.

Kod Program:

//-----Program Developed by R.Girish-----//
#include
LiquidCrystal lcd(12, 11, 5, 4, 3, 2)
int X
int Y
float Time = 0
float frequency = 0
float waterFlow = 0
float total = 0
float LS = 0
const int input = A0
const int test = 9
void setup()
{
Serial.begin(9600)
lcd.begin(16, 2)
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Water Flow Meter')
lcd.setCursor(0,1)
lcd.print('****************')
delay(2000)
pinMode(input,INPUT)
pinMode(test, OUTPUT)
analogWrite(test,100)
}
void loop()
{
X = pulseIn(input, HIGH)
Y = pulseIn(input, LOW)
Time = X + Y
frequency = 1000000/Time
waterFlow = frequency/7.5
LS = waterFlow/60
if(frequency >= 0)
{
if(isinf(frequency))
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('L/Min: 0.00')
lcd.setCursor(0,1)
lcd.print('Total: ')
lcd.print(total)
lcd.print(' L')
}
else
{
total = total + LS
Serial.println(frequency)
lcd.clear()
lcd.setCursor(0,0)
lcd.print('L/Min: ')
lcd.print(waterFlow)
lcd.setCursor(0,1)
lcd.print('Total: ')
lcd.print(total)
lcd.print(' L')
}
}
delay(1000)
}
//-----Program Developed by R.Girish-----//

Prototaip Pengarang:

'L / Min' menunjukkan laju aliran air saat ini dan 'Total' menunjukkan jumlah air yang mengalir sejak rangkaian dihidupkan.

Anda juga boleh mengalirkan cecair yang nilai kelikatannya hampir dengan air.

Sekiranya anda mempunyai pertanyaan mengenai meter aliran air digital ini menggunakan Arduino, jangan ragu untuk menyatakan di bahagian komen, anda mungkin akan mendapat balasan cepat.




Sebelumnya: Joystick Dikendalikan 2.4 GHz RC Car Menggunakan Arduino Seterusnya: Buat Penukar Buck ini Menggunakan Arduino