Enkel digital vannmengdemålerkrets ved hjelp av Arduino

Prøv Instrumentet Vårt For Å Eliminere Problemer





I dette innlegget skal vi konstruere en digital vannstrømmåler ved hjelp av Arduino og 16 x 2 LCD-skjerm. Vi tar en titt på YF-S201 vannstrømssensor, konstruksjon og arbeid, og hvordan vi kan grensesnitt med Arduino for å hente ut noen nyttige målinger.

Det foreslåtte prosjektet kan måle vannstrømningshastigheten i liter / minutt og total vannføring i liter.



La oss ta en titt på YF-S201 vannføringssensor.

Illustrasjon av YF-S201:

YF-S201 er en Hall Effect basert vannsensor. Den har tre terminaler 5V (nominell arbeidsspenning), GND og utgang. + 5V er rødfarget ledning, den sorte er GND og gul en er utgang.



Sensoren gir ut frekvensen som er direkte proporsjonal med vannstrømmen. YF-S201-sensoren kan måle fra 1 liter / minutt til 30 liter / minutt. Vanntrykket skal være mindre enn eller lik 1,75 MPa.

Vannet kan injiseres fra den ene enden, og vannet strømmer gjennom den andre enden.

Sensoren kan plasseres etter hovedportventilen til tanken hvis du vil måle vannstrømmen i et nettverk av vannrør, eller du kan plassere rett før en vannkran for å måle vannstrømmen til en enkelt kran.

Plasseringen av sensoren kan være hvor som helst i henhold til brukerens behov, men det må utvises forsiktighet for å unngå vannlekkasje.

Sensoren har en magnet og Hall Effect sensor hvis vi tar en titt på sidene av vannstrømssensoren, kan vi være vitne til en plastturbin i banen til vannstrømmen.

En rund formet magnet er innebygd i midten av turbinen, og Hall Effect-sensoren er forseglet og beskyttet mot fuktighet og plassert over magneten. Hall Effect-sensoren produserer en puls for hver omdreining av turbinen.

Vannstrømningsbølgeform på serieplotter

Vi kan se pulser generert av vannstrømssensor på seriell plotter av arduino IDE, vist nedenfor (ved hjelp av Arduino enkeltkanalsoscilloskop).

Vi har blåst luft gjennom sensoren til roter turbinen som en test, og den genererte bølgeformen er vist ovenfor. Den tettere bølgeformen på venstre side representerer høyere frekvens og raskere rotasjon av turbinen, desto mindre tett bølgeform på høyre side betyr omvendt.

En jevn vannføring gir jevn frekvensutgang.

Vi må konvertere frekvensen i liter / minuttskala. For å gjøre dette har produsenten gitt en formel:

Vannstrømningshastighet (liter / min) = frekvens / 7,5

Så vi må måle den genererte frekvensen og bruke formelen ovenfor i programkoden.

Tekniske spesifikasjoner for YF-S201:

· Nøyaktighet: +/- 10%, hvis du trenger bedre presisjon, må vi kalibrere.

· Arbeidstemperatur: -25 til + 80 grader Celsius.

· Arbeidsfuktighet: 35% til 80% RF.

· Driftssyklus for utgang: 50% +/- 10%.

· Maksimalt vanntrykk: 1,75 MPa.

· Pulser per liter: 450.

· Maksimal strømforbruk: 15 mA ved 5V

Det konkluderer vannstrømssensoren YF-S201.

La oss nå gå over til skjematisk.

Skjematisk diagram:

Vannstrømningssensorens utgangsstift er koblet til A0 i Arduino. Bruke 10K potensiometer for å justere skjermkontrasten. Wire Arduino og LCD-skjerm i henhold til diagrammet ovenfor.

Programkode:

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

Forfatterens prototype:

“L / Min” indikerer gjeldende vannføringshastighet, og “Total” indikerer det totale vannet som har gått siden kretsløpet ble PÅ.

Du kan også strømme væsker med viskositetsverdien nær vann.

Hvis du har spørsmål angående denne digitale vannstrømmåleren ved hjelp av Arduino, kan du gjerne uttrykke i kommentarseksjonen, du kan få et raskt svar.




Forrige: Styrespakstyrt 2,4 GHz RC-bil ved hjelp av Arduino Neste: Lag denne Buck Converter ved hjelp av Arduino