Yksinkertainen digitaalinen vesivirtausmittaripiiri Arduinolla

Kokeile Instrumenttia Ongelmien Poistamiseksi





Tässä viestissä aiomme rakentaa digitaalisen veden virtausmittarin käyttämällä Arduinoa ja 16 x 2 LCD-näyttöä. Tarkastelemme YF-S201 -vesivirtausanturia, sen rakennetta ja toimintaa sekä kuinka olla yhteydessä Arduinoon hyödyllisten lukemien saamiseksi.

Ehdotetussa projektissa voidaan mitata veden virtausnopeus litroina minuutissa ja kokonaisvesivirtaus litroina.



Katsotaanpa YF-S201-virtausanturia.

Kuva YF-S201:

YF-S201 on a Hall-tehoste vesianturi. Siinä on kolme liitintä 5V (nimellinen käyttöjännite), GND ja lähtö. + 5 V on punaisen värinen johdin, musta on GND ja keltainen.



Anturin antama taajuus on suoraan verrannollinen veden virtaukseen. YF-S201-anturi voi mitata välillä 1 litra / minuutti - 30 litraa / minuutti. Vedenpaineen tulisi olla pienempi tai yhtä suuri kuin 1,75 MPa.

Vesi voidaan ruiskuttaa toisesta päästä ja vesi virtaa toisen pään läpi.

Anturi voidaan sijoittaa säiliön pääventtiilin jälkeen, jos haluat mitata veden virtausta vesiputkiverkostossa tai voit sijoittaa juuri ennen vesihanaa mittaamaan yksittäisen hanan veden virtausta.

Anturin sijoitus voi olla missä tahansa käyttäjän tarpeiden mukaan, mutta on vältettävä veden vuotamista.

Anturissa on a magneetti ja Hall-efektianturi jos katsomme vesivirta-anturin sivuja, voimme todistaa muoviturbiinin vesivirtauksen tiellä.

Pyöreä muotoinen magneetti on upotettu turbiinin keskelle, ja Hall-tehosensori on suljettu ja suojattu kosteudelta ja sijoitettu magneetin yläpuolelle. Hall-efektianturi tuottaa pulssin jokaiselle turbiinin kierrokselle.

Veden virtauksen aaltomuoto sarjaliikenteessä

Voimme nähdä pulssit, jotka vesivirta-anturi tuottaa alla olevassa Arduino IDE -sarjan piirturissa (Arduino-yksikanavainen oskilloskooppi).

Olemme puhaltaneet ilmaa anturin läpi kierrä turbiinia testinä ja syntyvä aaltomuoto on esitetty yllä. Vasemman puolen tiheämpi aaltomuoto edustaa turbiinin suurempaa taajuutta ja nopeampaa pyörimistä, vähemmän tiheä aaltomuoto oikealla puolella tarkoittaa päinvastoin.

Tasainen vesivirta antaa tasaisen taajuuslähdön.

Meidän täytyy muuntaa taajuus asteikolla litra / minuutti. Tätä varten valmistaja on antanut kaavan:

Veden virtausnopeus (litra / min) = taajuus / 7,5

Joten meidän on mitattava muodostettu taajuus ja sovellettava yllä olevaa kaavaa ohjelmakoodissa.

YF-S201: n tekniset tiedot:

· Tarkkuus: +/- 10%, jos tarvitset parempaa tarkkuutta, meidän on kalibroitava.

· Käyttölämpötila: -25 - + 80 astetta.

· Työkosteus: 35% - 80% suhteellinen kosteus.

· Lähtöteho: 50% +/- 10%.

· Suurin vedenpaine: 1,75 MPa.

· Pulssit litraa kohti: 450.

· Suurin virrankulutus: 15 mA 5 V: lla

Tämä päättelee YF-S201 -vesivirtausanturin.

Siirrytään nyt kaavioon.

Kaaviokuva:

Veden virtausanturin ulostulotappi on kytketty Arduinon A0: een. Käytä 10K potentiometri näytön kontrastin säätämiseen. Kytke Arduino ja LCD-näyttö kuten yllä olevassa kaaviossa.

Ohjelmakoodi:

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

Kirjoittajan prototyyppi:

“L / Min” osoittaa nykyisen veden virtausnopeuden ja “Total” osoittaa kokonaisvirtaaman veden virtapiirin kytkemisen jälkeen.

Voit myös virrata nesteitä, joiden viskositeetti on lähellä vettä.

Jos sinulla on kysyttävää tästä Arduinoa käyttävästä digitaalisesta veden virtausmittarista, ilmaise mielipiteesi kommenttiosassa, saatat saada nopean vastauksen.




Edellinen: Ohjaussauvaohjattu 2,4 GHz: n RC-auto Arduinoa käyttämällä Seuraava: Tee tämä Buck Converter käyttämällä Arduinoa