Preprosto vezje digitalnega merilnika pretoka vode z uporabo Arduina

Preizkusite Naš Instrument Za Odpravo Težav





V tem prispevku bomo izdelali digitalni merilnik pretoka vode z uporabo Arduina in 16 x 2 LCD zaslona. Ogledali si bomo senzor pretoka vode YF-S201, njegovo konstrukcijo in delovanje ter navodila za povezavo z Arduinom, da dobimo nekaj koristnih odčitkov.

Predlagani projekt lahko meri hitrost pretoka vode v litrih / minuto in skupni pretok vode v litrih.



Oglejmo si senzor pretoka vode YF-S201.

Prikaz YF-S201:

YF-S201 je a Na podlagi efekta Hall senzor za vodo. Ima tri sponke 5V (nazivna delovna napetost), GND in izhod. + 5V je rdeče obarvana žica, črna je GND in rumena je izhodna.



Senzor oddaja frekvenco, ki je premo sorazmerna pretoku vode. Senzor YF-S201 lahko meri od 1 litra / minuto do 30 litrov / minuto. Tlak vode mora biti manjši ali enak 1,75 MPa.

Vodo je mogoče vbrizgati z enega konca, voda pa teče skozi drugi konec.

Če želite izmeriti pretok vode v omrežju vodovodnih cevi, lahko senzor postavite za glavnim zapornim ventilom rezervoarja ali pa ga postavite tik pred vodovodno pipo, da izmerite pretok vode iz ene pipe.

Namestitev senzorja je lahko kjer koli glede na potrebe uporabnika, vendar je treba paziti, da ne pride do uhajanja vode.

Senzor ima a magnet in Hall Effect senzor če si ogledamo stranice senzorja pretoka vode, smo lahko priča plastični turbini na poti pretoka vode.

Magnet okrogle oblike je vgrajen v sredino turbine, senzor Hall Effect pa je zaprt in zaščiten pred vlago ter postavljen nad magnet. Senzor Hall Effect proizvaja impulz za vsak vrtljaj turbine.

Valovna oblika pretoka vode na serijskem ploterju

Impulze, ki jih ustvarja senzor pretoka vode, lahko vidimo na serijskem risalniku arduino IDE, prikazan spodaj (z uporabo enokanalnega osciloskopa Arduino).

Skozi senzor smo vpihali zrak do zavrtite turbino kot test in ustvarjena valovna oblika je prikazana zgoraj. Gostejša valovna oblika na levi strani predstavlja večjo frekvenco in hitrejše vrtenje turbine, manj gosta valovna oblika na desni strani pomeni obratno.

Stalen pretok vode daje konstantno frekvenčno moč.

Moramo pretvori frekvenco v lestvico / minuto. Za to je proizvajalec dal formulo:

Pretok vode (liter / min) = frekvenca / 7,5

Torej moramo izmeriti ustvarjeno frekvenco in v programski kodi uporabiti zgornjo formulo.

Tehnične specifikacije YF-S201:

· Natančnost: +/- 10%, če potrebujete boljšo natančnost, moramo umeriti.

· Delovna temperatura: -25 do + 80 stopinj Celzija.

· Delovna vlažnost: 35% do 80% RH.

· Izhodni delovni cikel: 50% +/- 10%.

· Najvišji tlak vode: 1,75 MPa.

· Impulzi na liter: 450.

· Največja poraba toka: 15 mA pri 5V

S tem se zaključi senzor pretoka vode YF-S201.

Zdaj pa pojdimo na shemo.

Shematski diagram:

Izhodni zatič senzorja pretoka vode je povezan z A0 Arduino. Uporabi 10K potenciometer za prilagajanje kontrasta zaslona. Povežite Arduino in LCD zaslon po zgornjem diagramu.

Koda programa:

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

Avtorjev prototip:

'L / Min' označuje trenutno stopnjo pretoka vode, 'Total' pa skupno pretok vode, odkar je krog vklopljen.

Prav tako lahko pretakate tekočine, katerih viskoznost je blizu vode.

Če imate kakršna koli vprašanja glede tega digitalnega merilnika pretoka vode z uporabo Arduina, vas prosimo, da to izrazite v oddelku za komentarje, lahko prejmete hiter odgovor.




Prejšnja: Krmilna palica z 2,4 GHz RC avtomobilom, ki uporablja Arduino Naprej: naredite ta Buck Converter z uporabo Arduina