Arduino kullanarak Basit Dijital Su Akış Ölçer Devresi

Sorunları Ortadan Kaldırmak Için Enstrümanımızı Deneyin





Bu yazımızda Arduino ve 16 x 2 LCD ekran kullanarak dijital bir su akış ölçer yapacağız. Bazı yararlı okumalar elde etmek için YF-S201 su akış sensörüne, yapısına ve çalışmasına ve Arduino ile nasıl arayüz oluşturulacağına bir göz atacağız.

Önerilen proje, litre / dakika cinsinden su akış oranını ve litre cinsinden toplam su akışını ölçebilir.



YF-S201 su akış sensörüne bir göz atalım.

YF-S201 resmi:

YF-S201 bir Hall Etkisine dayalı su sensörü. Üç terminali 5V (nominal çalışma voltajı), GND ve çıkışa sahiptir. + 5V kırmızı renkli kablodur, siyah olan GND ve sarı olan çıktıdır.



Sensör, su akışıyla doğru orantılı olarak frekans verir. YF-S201 sensörü 1 litre / dakika ile 30 litre / dakika arasında ölçüm yapabilir. Su basıncı 1,75 MPa veya daha az olmalıdır.

Su bir uçtan enjekte edilebilir ve diğer uçtan su akar.

Bir su boruları ağındaki su akışını ölçmek istiyorsanız, sensör tankın ana sürgülü vanasının arkasına yerleştirilebilir veya tek musluğun su akışını ölçmek için su musluğunun hemen önüne yerleştirebilirsiniz.

Sensörün yerleştirilmesi kullanıcının ihtiyacına göre herhangi bir yerde olabilir, ancak su sızıntısını önlemek için özen gösterilmelidir.

Sensörde bir mıknatıs ve Hall Etkisi sensörü Su akış sensörünün yan taraflarına bakarsak, su akış yolunda plastik bir türbine şahit olabiliriz.

Türbinin ortasına yuvarlak şekilli bir mıknatıs yerleştirilmiştir ve Hall Effect sensörü sızdırmaz hale getirilerek nemden korunur ve mıknatısın üzerine yerleştirilir. Hall Etkisi sensörü, türbinin her devri için bir darbe üretir.

Seri Plotter'da Su Akışı Dalga Formu

Su akış sensörü tarafından üretilen darbeleri, aşağıda gösterilen arduino IDE'nin seri plotterinde görebiliriz (Arduino Tek kanal Osiloskop kullanarak).

Sensörden hava üfledik. türbini döndür bir test olarak ve oluşturulan dalga formu yukarıda gösterilmiştir. Sol taraftaki daha yoğun dalga biçimi, türbinin daha yüksek frekansı ve daha hızlı dönüşünü temsil eder, sağ taraftaki daha az yoğun dalga biçimi ise bunun tersini gösterir.

Tutarlı bir su akışı, tutarlı bir frekans çıkışı sağlar.

Zorundayız frekansı dönüştürmek litre / dakika ölçeğine. Bunu yapmak için üretici bir formül verdi:

Su akış hızı (litre / dak) = frekans / 7,5

Bu yüzden üretilen frekansı ölçmemiz ve yukarıdaki formülü program koduna uygulamamız gerekiyor.

YF-S201'in Teknik Özellikleri:

· Doğruluk: +/-% 10, daha iyi hassasiyete ihtiyacınız varsa, kalibre etmemiz gerekir.

· Çalışma Sıcaklığı: -25 ila + 80 derece Santigrat.

· Çalışma nemi:% 35 ila% 80 RH.

· Çıkış görev döngüsü:% 50 +/-% 10.

· Maksimum su basıncı: 1.75 MPa.

· Litre Başına Bakliyat: 450.

Maksimum akım çekişi: 5V'de 15 mA

Bu, YF-S201 su akış sensörünü tamamlıyor.

Şimdi şemaya geçelim.

Şematik diyagram:

Su akış sensörünün çıkış pini Arduino'nun A0'ına bağlanır. Kullan 10K potansiyometre ekran kontrastını ayarlamak için. Arduino'yu bağlayın ve LCD ekran yukarıdaki diyagrama göre.

Program kodu:

//-----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-----//

Yazarın Prototipi:

'L / Min' mevcut su akış oranını ve 'Toplam', devrenin AÇIK hale gelmesinden bu yana akan toplam suyu gösterir.

Ayrıca viskozite değeri suya yakın olan tüm sıvıları da akıtabilirsiniz.

Arduino kullanan bu dijital su debimetre ile ilgili herhangi bir sorunuz varsa, yorum bölümünde belirtmekten çekinmeyin, hızlı bir cevap alabilirsiniz.




Önceki: Arduino Kullanarak Joystick Kontrollü 2.4 GHz RC Araba Sonraki: Bu Buck Dönüştürücüyü Arduino kullanarak yapın