Simpleng Digital Water Flow Meter Circuit gamit ang Arduino

Subukan Ang Aming Instrumento Para Sa Pagtanggal Ng Mga Problema





Sa post na ito magtatayo kami ng isang digital meter ng daloy ng tubig gamit ang Arduino at 16 x 2 LCD display. Titingnan namin ang YF-S201 sensor ng daloy ng tubig, ang konstruksyon nito at gumagana at kung paano makikipag-ugnay sa Arduino upang kumuha ng ilang kapaki-pakinabang na pagbabasa.

Maaaring sukatin ng ipinanukalang proyekto ang rate ng daloy ng tubig sa litro / minuto at kabuuang daloy ng tubig sa litro.



Tingnan natin ang YF-S201 water flow sensor.

Paglalarawan ng YF-S201:

Ang YF-S201 ay isang Batay sa Epekto ng Hall water sensor. Mayroon itong tatlong mga terminal na 5V (nominal working voltage), GND at output. Ang + 5V ay pulang kulay na kawad, ang itim ay GND at ang dilaw ay output.



Ang sensor ay nagbibigay ng dalas nang direkta proporsyonal sa daloy ng tubig. Ang sensor ng YF-S201 ay maaaring masukat mula sa 1 litro / minuto hanggang 30 litro / minuto. Ang presyon ng tubig ay dapat na mas mababa sa o katumbas ng 1.75 MPa.

Maaaring ma-injected ang tubig mula sa isang dulo at dumadaloy ang tubig sa kabilang dulo.

Ang sensor ay maaaring mailagay pagkatapos ng pangunahing gate-balbula ng tangke kung nais mong masukat ang daloy ng tubig sa isang network ng mga tubo ng tubig o maaari kang maglagay bago ang isang gripo ng tubig upang masukat ang daloy ng tubig ng solong gripo.

Ang paglalagay ng sensor ay maaaring kahit saan alinsunod sa pangangailangan ng gumagamit ngunit, dapat mag-ingat upang maiwasan ang pagtulo ng tubig.

Ang sensor ay mayroong magnet at sensor ng Hall Effect kung titingnan natin ang mga gilid ng sensor ng daloy ng tubig, maaari nating masaksihan ang isang plastik na turbine sa landas ng daloy ng tubig.

Ang isang bilog na hugis pang-akit ay naka-embed sa gitna ng turbine at ang sensor ng Hall Effect ay natatakpan at protektado mula sa kahalumigmigan at inilagay sa itaas ng pang-akit. Gumagawa ang sensor ng Hall Effect ng isang pulso para sa bawat rebolusyon ng turbine.

Waveform ng Daloy ng Tubig sa Serial Plotter

Maaari nating makita ang mga pulso na nabuo ng sensor ng daloy ng tubig sa serial plotter ng arduino IDE, na ipinapakita sa ibaba (Paggamit ng Arduino Single channel Oscilloscope).

Nagpasabog kami ng hangin sa pamamagitan ng sensor sa paikutin ang turbine bilang isang pagsubok at ang form na alon na nabuo ay ipinapakita sa itaas. Ang mas makapal na porma ng alon sa kaliwang bahagi ay kumakatawan sa mas mataas na dalas at mas mabilis na pag-ikot ng turbine, ang hindi gaanong siksik na porma ng alon sa kanang bahagi ay nangangahulugan ng kabaligtaran.

Ang isang pare-parehong daloy ng tubig ay nagbibigay ng pare-pareho na output ng dalas.

Kailangan natin i-convert ang dalas sa sukat ng litro / minuto. Upang magawa ito, ang tagagawa ay nagbigay ng isang pormula:

Rate ng daloy ng tubig (litro / min) = dalas / 7.5

Kaya, kailangan nating sukatin ang nabuong dalas at ilapat ang pormula sa itaas sa code ng programa.

Mga Teknikal na Pagtukoy ng YF-S201:

· Katumpakan: +/- 10%, kung kailangan mo ng mas mahusay na katumpakan, kailangan naming i-calibrate.

· Temperatura sa Paggawa: -25 hanggang + 80 degree Celsius.

· Paggawa ng halumigmig: 35% hanggang 80% RH.

· Siklo ng tungkulin ng output: 50% +/- 10%.

· Pinakamataas na presyon ng tubig: 1.75 MPa.

· Mga pulso bawat litro: 450.

· Pinakamataas na kasalukuyang gumuhit: 15 mA sa 5V

Tinapos nito ang YF-S201 sensor ng daloy ng tubig.

Ngayon lumipat tayo sa eskematiko.

Diagram ng Skematika:

Ang output pin ng sensor ng daloy ng tubig ay konektado sa A0 ng Arduino. Gamitin ang 10K potensyomiter para sa pag-aayos ng kaibahan sa display. Wire ang Arduino at LCD display ayon sa diagram sa itaas.

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

Prototype ng May-akda:

Ang 'L / Min' ay nagpapahiwatig ng kasalukuyang rate ng daloy ng tubig at ang 'Kabuuan' ay nagpapahiwatig ng kabuuang tubig na dumaloy mula nang nakabukas ang circuit.

Maaari mo ring daloy ang anumang mga likido na ang halaga ng lapot ay malapit sa tubig.

Kung mayroon kang anumang mga katanungan tungkol sa digital meter ng daloy ng tubig gamit ang Arduino, huwag mag-atubiling ipahayag sa seksyon ng komento, maaari kang makatanggap ng mabilis na tugon.




Nakaraan: Kinokontrol ng Joystick 2.4 GHz RC Car Gamit ang Arduino Susunod: Gawin ang Buck Converter na Ito Gamit ang Arduino